Maintenance windows
Overview
Maintenance windows let you suppress alert notifications during planned work such as deployments, infrastructure upgrades, or scheduled restarts. While a maintenance window is active, alerts continue to evaluate but notifications are silenced, preventing unnecessary pages and reducing alert fatigue.
You can create one-time windows for specific events or recurring windows for regular maintenance schedules.
One-time windows
A one-time maintenance window covers a fixed time range defined by a start time and end time. Use these for planned deployments, migrations, or any event with a known schedule.
Required fields:
| Field | Type | Description |
|---|---|---|
name |
String | Display name for the maintenance window |
startTime |
String | ISO 8601 datetime for when the window begins |
endTime |
String | ISO 8601 datetime for when the window ends |
timezone |
String | Timezone for the schedule (e.g., America/New_York) |
enabled |
Boolean | Whether the window is active |
Set isRecurring to false (the default) for one-time windows.
Recurring windows
Recurring maintenance windows repeat on a defined schedule. Use these for regular maintenance periods such as weekly patching or nightly batch jobs.
Set isRecurring to true and configure the duration and recurrence fields instead of specifying an endTime.
Duration
The duration object defines how long each maintenance window lasts:
| Field | Type | Description |
|---|---|---|
duration.period |
Number | Duration length |
duration.type |
String | Duration unit: minutes, hours |
Recurrence
The recurrence object controls how often the window repeats:
| Field | Type | Description |
|---|---|---|
recurrence.period |
Number | Repeat every N intervals |
recurrence.type |
String | Interval type: days, weeks, months, years |
recurrence.untilDate |
String | End date for recurrence (e.g., 2021-03-02) |
recurrence.untilOccurrences |
Number | Maximum number of occurrences |
recurrence.weekDays |
Array | Specific days for weekly recurrence (e.g., ["Sun", "Mon"]) |
You can limit recurrence using either untilDate or untilOccurrences. If neither is set, the window repeats indefinitely.
Managing maintenance windows
Create a maintenance window
Send a POST request to create a new maintenance window:
POST /v1/accounts/:accountId/maintenance
List maintenance windows
Retrieve all maintenance windows for an account:
GET /v1/accounts/:accountId/maintenance
Get maintenance window details
Retrieve a specific maintenance window by ID:
GET /v1/accounts/:accountId/maintenance/:id
Update a maintenance window
Modify an existing maintenance window:
PUT /v1/accounts/:accountId/maintenance/:id
Delete a maintenance window
Remove a maintenance window permanently:
DELETE /v1/accounts/:accountId/maintenance/:id
Enable or disable a maintenance window
To temporarily disable a maintenance window without deleting it, update the enabled field to false. Set it back to true to re-enable.
Examples
One-time deployment window
Suppress notifications during a two-hour deployment window:
{
"name": "Production deployment - v2.5.0",
"startTime": "2025-06-15T02:00:00.000Z",
"endTime": "2025-06-15T04:00:00.000Z",
"timezone": "America/New_York",
"isRecurring": false,
"enabled": true
}
This silences all alert notifications from 2:00 AM to 4:00 AM ET on June 15, 2025.
Weekly Sunday maintenance
Create a recurring two-hour maintenance window every Sunday at midnight:
{
"name": "Weekly Sunday maintenance",
"startTime": "2025-01-05T00:00:00.000Z",
"timezone": "America/New_York",
"isRecurring": true,
"enabled": true,
"duration": {
"period": 2,
"type": "hours"
},
"recurrence": {
"period": 1,
"type": "weeks",
"weekDays": ["Sun"]
}
}
This silences notifications every Sunday from midnight to 2:00 AM ET, repeating indefinitely.
+1-415-800-4104