Maintenance window configuration
A maintenance window temporarily suppresses notifications for a single Schedule. While a window is active, incoming alerts are still recorded but no on-call notifications, VoIP calls, or escalation steps are dispatched. Use this for planned maintenance, deployments, or any work where you expect noisy alerts.
A maintenance window targets a Schedule. The Schedule must already exist, and only Team admins (or Org admins) on the Schedule's Team can start, extend, or end one.
Start a maintenance window
Use one of two ways to specify how long the window lasts: either a duration_mins from now, or an explicit ends_at time. If both are sent in the same request, ends_at takes precedence and duration_mins is ignored.
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
duration_mins | number | One of duration_mins / ends_at | 60 | Length of the window in minutes from now. Clamped to 15–1440 (15 min – 24 h). |
ends_at | string | One of duration_mins / ends_at | — | Explicit end time in RFC3339 (e.g. 2026-06-05T15:00:00Z). Must be at least 15 minutes in the future and at most 24 hours away. |
reason | string | No | "" | Free-text reason shown in audit logs and on the Schedule. |
Only one maintenance window can be active per Schedule at a time. Starting a second window while one is already active is rejected.
Extend an active window
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
additional_mins | number | No | 30 | Minutes to add to the current end time. Values below 15 are clamped to 15. The new end time cannot exceed 24 hours from the original start time. |
If the requested extension would push the end time past 24 hours from the original start, the extension is rejected. End the window and start a new one if you need a longer overall period.
End an active window
Ending takes no fields. The currently active window is closed immediately, and notifications resume as soon as the next alert arrives.
Validation rules
- The Schedule must exist; the user must be a Team admin (or Org admin) on the Schedule's Team.
- A Schedule can have at most one active window at a time.
- For
duration_mins: values below 15 are clamped up to 15, and values above 1440 are clamped down to 1440. - For
ends_at: must parse as RFC3339, must be at least 15 minutes in the future, and must be at most 24 hours away. - For extension: 24 hours from the original start time is a hard cap.
What is suppressed while active
- All on-call notifications for the Schedule (push, email, in-app).
- VoIP calls that the Schedule would otherwise place.
- Escalation steps (rotation, final escalation).
Alert intake itself is not suppressed: alerts that arrive during the window are still recorded so you can see what happened after the window ends.
Examples
Start a one-hour window from now:
{
"duration_mins": 60,
"reason": "Deploying app v2.3.0"
}
Start a window with a specific end time:
{
"ends_at": "2026-06-05T18:00:00Z",
"reason": "DB primary failover"
}
Extend the active window by 30 more minutes:
{
"additional_mins": 30
}
End the active window immediately: no body required.
Related
- Schedule — a maintenance window targets one Schedule at a time.
- Bundle Settings — to dampen, rather than fully suppress, noisy alerts.
- Team — only Team admins can manage maintenance windows.
