GET/v1/maintenance-windows
List all maintenance windows
Retrieve a paginated list of all maintenance windows
Requires MAINTENANCE_WINDOWS:READ.
Header parameters
X-OnlineOrNot-Organisation:stringoptional
Public organization ID to select from an OAuth grant. Required for grants authorizing multiple organizations. Omit for single-organization grants and API tokens.
Query parameters
page:integeroptional
Page number of paginated results, starting at 1.
Default: 1
per_page:integeroptional
Number of items per page. Defaults to 20. Continue requesting subsequent pages until the accumulated item count reaches result_info.total_count or a page is empty.
Default: 20
search:stringoptional
Search term to filter maintenance windows by name
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Returns a list of maintenance windows. May also return a canonical failure envelope with success: false at HTTP200. |
| 400 | Bad Request | Invalid request |
| 401 | Unauthorized | Unauthorized - Invalid or missing API token |
| 403 | Forbidden | Insufficient permissions |
| 500 | Internal Server Error | Internal Server Error |
Response Schema
success:boolean
false
result:null
errors:object[]
messages:[any]
Request
GET
/v1/maintenance-windowscurl --request GET \
--url https://api.onlineornot.com/v1/maintenance-windows \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}'
Response
{
"result": [
{
"id": "abc123def456",
"name": "Weekly Maintenance",
"start_date": "2026-09-13T09:00:00.000Z",
"duration_minutes": 60,
"timezone": "America/New_York",
"days_of_week": [
"MONDAY",
"WEDNESDAY",
"FRIDAY"
],
"status": "ENABLED"
}
],
"result_info": {
"page": 1,
"per_page": 20,
"count": 1,
"total_count": 1
},
"success": true,
"errors": [],
"messages": []
}
POST/v1/maintenance-windows
Create a new maintenance window
Create a new maintenance window with associated checks and heartbeats
Requires MAINTENANCE_WINDOWS:EDIT.
Header parameters
X-OnlineOrNot-Organisation:stringoptional
Public organization ID to select from an OAuth grant. Required for grants authorizing multiple organizations. Omit for single-organization grants and API tokens.
Body parameters
name:string
start_date:string
Start date and time of the maintenance window, as a timestamp
duration_minutes:integer
Duration of the maintenance window in minutes
timezone:string
Timezone for the maintenance window
days_of_week:enum[]
Days of the week when the maintenance window is active
Accepted values: "SUNDAY" | "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY"
checks:string[]optional
Uptime check IDs to associate with this maintenance window
Default: []
heartbeats:string[]optional
Heartbeat IDs to associate with this maintenance window
Default: []
Responses
| Status | Meaning | Description |
|---|---|---|
| 201 | Created | Returns the created maintenance window |
| 400 | Bad Request | Bad Request - Invalid input (e.g., invalid check/heartbeat IDs, empty name) |
| 401 | Unauthorized | Unauthorized - Invalid or missing API token |
| 403 | Forbidden | Insufficient permissions |
| 500 | Internal Server Error | Internal Server Error |
Response Schema
result:any
*anonymous*:objectoptional
*anonymous*:objectoptional
success:boolean
Whether the API call was successful
errors:object[]
messages:object[]
Request
POST
/v1/maintenance-windowscurl --request POST \
--url https://api.onlineornot.com/v1/maintenance-windows \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}' \
--header 'Content-Type: application/json' \
--data '{"name":"Weekly Server Maintenance","start_date":"2026-09-13T03:00:00.000Z","duration_minutes":60,"timezone":"America/New_York","days_of_week":["SUNDAY"]}'
Response
{
"result": {
"id": "abc123def456",
"name": "Weekly Maintenance",
"start_date": "2026-09-13T09:00:00.000Z",
"duration_minutes": 60,
"timezone": "America/New_York",
"days_of_week": [
"MONDAY",
"WEDNESDAY",
"FRIDAY"
],
"status": "ENABLED",
"checks": [
"abc123",
"def456"
],
"heartbeats": [
"ghi789"
]
},
"success": true,
"errors": [],
"messages": []
}
GET/v1/maintenance-windows/{maintenance_window_id}
Get a maintenance window by ID
Retrieve a maintenance window with associated checks and heartbeats
Requires MAINTENANCE_WINDOWS:READ.
Header parameters
X-OnlineOrNot-Organisation:stringoptional
Public organization ID to select from an OAuth grant. Required for grants authorizing multiple organizations. Omit for single-organization grants and API tokens.
Path parameters
maintenance_window_id:string
Maintenance Window ID
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Returns a maintenance window with associated check and heartbeat IDs |
| 400 | Bad Request | Invalid request |
| 401 | Unauthorized | Unauthorized - Invalid or missing API token |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Not Found - Maintenance window does not exist or belongs to different organization |
| 500 | Internal Server Error | Internal Server Error |
Response Schema
result:any
*anonymous*:objectoptional
*anonymous*:objectoptional
success:boolean
Whether the API call was successful
errors:object[]
messages:object[]
Request
GET
/v1/maintenance-windows/{maintenance_window_id}curl --request GET \
--url https://api.onlineornot.com/v1/maintenance-windows/abc123def456 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}'
Response
{
"result": {
"id": "abc123def456",
"name": "Weekly Maintenance",
"start_date": "2026-09-13T09:00:00.000Z",
"duration_minutes": 60,
"timezone": "America/New_York",
"days_of_week": [
"MONDAY",
"WEDNESDAY",
"FRIDAY"
],
"status": "ENABLED",
"checks": [
"abc123",
"def456"
],
"heartbeats": [
"ghi789"
]
},
"success": true,
"errors": [],
"messages": []
}
PATCH/v1/maintenance-windows/{maintenance_window_id}
Update a maintenance window
Update a maintenance window. All fields are optional - only provided fields will be updated. Updating checks or heartbeats replaces existing associations.
Requires MAINTENANCE_WINDOWS:EDIT.
Header parameters
X-OnlineOrNot-Organisation:stringoptional
Public organization ID to select from an OAuth grant. Required for grants authorizing multiple organizations. Omit for single-organization grants and API tokens.
Path parameters
maintenance_window_id:string
Maintenance Window ID
Body parameters
name:stringoptional
start_date:stringoptional
Start date and time of the maintenance window, as a timestamp
duration_minutes:integeroptional
Duration of the maintenance window in minutes
timezone:stringoptional
Timezone for the maintenance window
days_of_week:enum[]optional
Days of the week when the maintenance window is active
Accepted values: "SUNDAY" | "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY"
status:stringoptional
Accepted values: "ENABLED" | "DISABLED"
checks:string[]optional
Uptime check IDs. Replaces existing associations.
heartbeats:string[]optional
Heartbeat IDs. Replaces existing associations.
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Returns the updated maintenance window |
| 400 | Bad Request | Bad Request - Invalid input (e.g., invalid check/heartbeat IDs, no fields to update) |
| 401 | Unauthorized | Unauthorized - Invalid or missing API token |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Not Found - Maintenance window does not exist or belongs to different organization |
| 500 | Internal Server Error | Internal Server Error |
Response Schema
result:any
*anonymous*:objectoptional
*anonymous*:objectoptional
success:boolean
Whether the API call was successful
errors:object[]
messages:object[]
Request
PATCH
/v1/maintenance-windows/{maintenance_window_id}curl --request PATCH \
--url https://api.onlineornot.com/v1/maintenance-windows/abc123def456 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}' \
--header 'Content-Type: application/json' \
--data '{"name":"Updated Maintenance Window"}'
Response
{
"result": {
"id": "abc123def456",
"name": "Weekly Maintenance",
"start_date": "2026-09-13T09:00:00.000Z",
"duration_minutes": 60,
"timezone": "America/New_York",
"days_of_week": [
"MONDAY",
"WEDNESDAY",
"FRIDAY"
],
"status": "ENABLED",
"checks": [
"abc123",
"def456"
],
"heartbeats": [
"ghi789"
]
},
"success": true,
"errors": [],
"messages": []
}
DELETE/v1/maintenance-windows/{maintenance_window_id}
Delete a maintenance window
Delete a maintenance window and all its associations with checks and heartbeats
Requires MAINTENANCE_WINDOWS:EDIT.
Header parameters
X-OnlineOrNot-Organisation:stringoptional
Public organization ID to select from an OAuth grant. Required for grants authorizing multiple organizations. Omit for single-organization grants and API tokens.
Path parameters
maintenance_window_id:string
Maintenance Window ID
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Returns the deleted maintenance window ID |
| 400 | Bad Request | Invalid request |
| 401 | Unauthorized | Unauthorized - Invalid or missing API token |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Not Found - Maintenance window does not exist or belongs to different organization |
| 500 | Internal Server Error | Internal Server Error |
Response Schema
result:object
success:boolean
Whether the API call was successful
errors:object[]
messages:object[]
Request
DELETE
/v1/maintenance-windows/{maintenance_window_id}curl --request DELETE \
--url https://api.onlineornot.com/v1/maintenance-windows/abc123def456 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}'
Response
{
"result": {
"id": "abc123def456"
},
"success": true,
"errors": [],
"messages": []
}