Skip to main content
Manage maintenance windows for temporarily overriding alert routing during planned maintenance. Maintenance windows allow you to suppress or redirect alerts during scheduled maintenance periods, preventing unnecessary escalations and noise.

The maintenancewindow object

alert_condition_groups
object[]
required

Condition groups that determine which alerts this maintenance window applies to

Example:
[
{
"conditions": [
{
"operation": {
"label": "Lawrence Jones",
"value": "01FCQSP07Z74QMMYPDDGQB9FTG"
},
"param_bindings": [
{
"array_value": [
{
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
],
"value": {
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
}
],
"subject": {
"label": "Incident Severity",
"reference": "incident.severity"
}
}
]
}
]
created_at
string<date-time>
required

When this maintenance window was created

Example:

"2021-08-17T13:28:57.801578Z"

end_at
string<date-time>
required

When the maintenance window ends

Example:

"2021-08-17T14:28:57.801578Z"

id
string
required

Unique identifier for this maintenance window

Example:

"01FCNDV6P870EA6S7TK1DSYDG0"

lead
object
required
Example:
{
"alert": {
"id": "01GW2G3V0S59R238FAHPDS1R66",
"title": "*errors.withMessage: PG::Error failed to connect"
},
"api_key": {
"id": "01FCNDV6P870EA6S7TK1DSYDG0",
"name": "My test API key"
},
"user": {
"email": "lisa@incident.io",
"id": "01FCNDV6P870EA6S7TK1DSYDG0",
"name": "Lisa Karlin Curtis",
"role": "owner",
"slack_user_id": "U02AYNF2XJM"
},
"workflow": {
"id": "01FCNDV6P870EA6S7TK1DSYDG0",
"name": "My little workflow"
}
}
name
string
required

Human readable name for the maintenance window

Example:

"Planned database migration"

reroute_on_end
boolean
required

Whether to retrigger firing alerts through alert routing when the window ends

Example:

false

resolve_on_end
boolean
required

Whether to automatically resolve all firing alerts that matched this window when it ends

Example:

false

show_in_sidebar
boolean
required

Whether to show this maintenance window in the dashboard sidebar when active

Example:

true

start_at
string<date-time>
required

When the maintenance window starts

Example:

"2021-08-17T13:28:57.801578Z"

updated_at
string<date-time>
required

When this maintenance window was last updated

Example:

"2021-08-17T13:28:57.801578Z"

archived_at
string<date-time>

When this maintenance window was archived, if it has been

Example:

"2021-08-17T13:28:57.801578Z"

escalation_targets
object[]

If set, alerts matching this window will be escalated to these targets

Example:
[
{
"escalation_paths": {
"array_value": [
{
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
],
"value": {
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
},
"users": {
"array_value": [
{
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
],
"value": {
"label": "Lawrence Jones",
"literal": "SEV123",
"reference": "incident.severity"
}
}
}
]
incident_id
string

If set, alerts matching this window will be automatically attached to this incident

Example:

"01FCNDV6P870EA6S7TK1DSYDG0"

notification_message
string

Custom message included in notifications about this maintenance window

Example:

"Scheduled downtime for database migration"

notify_channels
object[]

Channels to notify about the maintenance window starting and ending

Example:
[
{
"channel_id": "C0ACTHQMHS8",
"channel_name": "general",
"channel_type": "public",
"is_private": false
}
]
notify_end_minutes_before
integer<int64>

Minutes before the end to send a notification to the configured channels

Example:

5

notify_start_minutes_before
integer<int64>

Minutes before the start to send a notification to the configured channels

Example:

15