Back to Home

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.

FieldTypeRequiredDefaultNotes
duration_minsnumberOne of duration_mins / ends_at60Length of the window in minutes from now. Clamped to 15–1440 (15 min – 24 h).
ends_atstringOne of duration_mins / ends_atExplicit 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.
reasonstringNo""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

FieldTypeRequiredDefaultNotes
additional_minsnumberNo30Minutes 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.