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.