Skip to content

API reference

Maintenance

Maintenance endpoints of the StatusTick REST API: list maintenance windows, schedule a maintenance window, get a maintenance window.

List maintenance windows

GET/v1/maintenance-windows

Windows that overlap from to to; by default 7 days back to 90 days ahead.

Authorization

apiKey
AuthorizationBearer <token>

Your organization's API key.

In: header

Query Parameters

from?string
Formatdate-time
to?string
Formatdate-time

Response Body

application/json

curl -X GET "https://example.com/v1/maintenance-windows"
[  {    "id": "string",    "title": "string",    "startsAt": "2019-08-24T14:15:22Z",    "endsAt": "2019-08-24T14:15:22Z",    "monitorIds": [      "string"    ],    "active": true,    "recurrence": {      "frequency": "DAILY",      "startTime": "string",      "durationMinutes": 1,      "timeZone": "string",      "daysOfWeek": [        "MONDAY"      ],      "dayOfMonth": 1    },    "nextOccurrences": [      {        "startsAt": "2019-08-24T14:15:22Z",        "endsAt": "2019-08-24T14:15:22Z"      }    ],    "message": "string",    "silenceAlerts": true,    "markComponents": true,    "notice": "NOW",    "createdBy": "string",    "statusPageComponentIds": [      "string"    ],    "notifySubscribersOnNotice": true,    "notifySubscribersOnStart": true,    "notifySubscribersOnEnd": true,    "silenceBufferMinutes": 0,    "endEarlyWhenDone": true,    "endedEarly": [      {        "startsAt": "2019-08-24T14:15:22Z",        "endedAt": "2019-08-24T14:15:22Z"      }    ]  }]
POST/v1/maintenance-windows

Needs a READ_WRITE key from an owner or admin. Checks keep running while it lasts; only alerts and new incidents are silenced. With recurrence, startsAt is when the series begins and endsAt (optional) when it stops.

Authorization

apiKey
AuthorizationBearer <token>

Your organization's API key.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/v1/maintenance-windows" \  -H "Content-Type: application/json" \  -d '{    "title": "Database upgrade",    "startsAt": "2026-10-10T22:00:00Z",    "endsAt": "2026-10-10T23:00:00Z",    "monitorIds": [      "mnt_4KrVK3M1DqhDTFouCffKie"    ]  }'
{  "id": "string",  "title": "string",  "startsAt": "2019-08-24T14:15:22Z",  "endsAt": "2019-08-24T14:15:22Z",  "monitorIds": [    "string"  ],  "active": true,  "recurrence": {    "frequency": "DAILY",    "startTime": "string",    "durationMinutes": 1,    "timeZone": "string",    "daysOfWeek": [      "MONDAY"    ],    "dayOfMonth": 1  },  "nextOccurrences": [    {      "startsAt": "2019-08-24T14:15:22Z",      "endsAt": "2019-08-24T14:15:22Z"    }  ],  "message": "string",  "silenceAlerts": true,  "markComponents": true,  "notice": "NOW",  "createdBy": "string",  "statusPageComponentIds": [    "string"  ],  "notifySubscribersOnNotice": true,  "notifySubscribersOnStart": true,  "notifySubscribersOnEnd": true,  "silenceBufferMinutes": 0,  "endEarlyWhenDone": true,  "endedEarly": [    {      "startsAt": "2019-08-24T14:15:22Z",      "endedAt": "2019-08-24T14:15:22Z"    }  ]}

Get a maintenance window

GET/v1/maintenance-windows/{windowId}

Authorization

apiKey
AuthorizationBearer <token>

Your organization's API key.

In: header

Path Parameters

windowId*string

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/maintenance-windows/mnw_5Lp2Qx9VbT3nRw8ZcK1HdM"
{  "id": "string",  "title": "string",  "startsAt": "2019-08-24T14:15:22Z",  "endsAt": "2019-08-24T14:15:22Z",  "monitorIds": [    "string"  ],  "active": true,  "recurrence": {    "frequency": "DAILY",    "startTime": "string",    "durationMinutes": 1,    "timeZone": "string",    "daysOfWeek": [      "MONDAY"    ],    "dayOfMonth": 1  },  "nextOccurrences": [    {      "startsAt": "2019-08-24T14:15:22Z",      "endsAt": "2019-08-24T14:15:22Z"    }  ],  "message": "string",  "silenceAlerts": true,  "markComponents": true,  "notice": "NOW",  "createdBy": "string",  "statusPageComponentIds": [    "string"  ],  "notifySubscribersOnNotice": true,  "notifySubscribersOnStart": true,  "notifySubscribersOnEnd": true,  "silenceBufferMinutes": 0,  "endEarlyWhenDone": true,  "endedEarly": [    {      "startsAt": "2019-08-24T14:15:22Z",      "endedAt": "2019-08-24T14:15:22Z"    }  ]}
PATCH/v1/maintenance-windows/{windowId}

Needs a READ_WRITE key from an owner or admin. Leave out the fields you do not change; removeRecurrence makes it a one-off window.

Authorization

apiKey
AuthorizationBearer <token>

Your organization's API key.

In: header

Path Parameters

windowId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/v1/maintenance-windows/mnw_5Lp2Qx9VbT3nRw8ZcK1HdM" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "title": "string",  "startsAt": "2019-08-24T14:15:22Z",  "endsAt": "2019-08-24T14:15:22Z",  "monitorIds": [    "string"  ],  "active": true,  "recurrence": {    "frequency": "DAILY",    "startTime": "string",    "durationMinutes": 1,    "timeZone": "string",    "daysOfWeek": [      "MONDAY"    ],    "dayOfMonth": 1  },  "nextOccurrences": [    {      "startsAt": "2019-08-24T14:15:22Z",      "endsAt": "2019-08-24T14:15:22Z"    }  ],  "message": "string",  "silenceAlerts": true,  "markComponents": true,  "notice": "NOW",  "createdBy": "string",  "statusPageComponentIds": [    "string"  ],  "notifySubscribersOnNotice": true,  "notifySubscribersOnStart": true,  "notifySubscribersOnEnd": true,  "silenceBufferMinutes": 0,  "endEarlyWhenDone": true,  "endedEarly": [    {      "startsAt": "2019-08-24T14:15:22Z",      "endedAt": "2019-08-24T14:15:22Z"    }  ]}
DELETE/v1/maintenance-windows/{windowId}

Needs a READ_WRITE key from an owner or admin.

Authorization

apiKey
AuthorizationBearer <token>

Your organization's API key.

In: header

Path Parameters

windowId*string

Response Body

application/json

application/json

curl -X DELETE "https://example.com/v1/maintenance-windows/mnw_5Lp2Qx9VbT3nRw8ZcK1HdM"
Empty
POST/v1/maintenance-windows/{windowId}/end

Needs a READ_WRITE key from an owner or admin, and endEarlyWhenDone on. A repeating window keeps its later occurrences.

Authorization

apiKey
AuthorizationBearer <token>

Your organization's API key.

In: header

Path Parameters

windowId*string

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/maintenance-windows/mnw_5Lp2Qx9VbT3nRw8ZcK1HdM/end"
{  "id": "string",  "title": "string",  "startsAt": "2019-08-24T14:15:22Z",  "endsAt": "2019-08-24T14:15:22Z",  "monitorIds": [    "string"  ],  "active": true,  "recurrence": {    "frequency": "DAILY",    "startTime": "string",    "durationMinutes": 1,    "timeZone": "string",    "daysOfWeek": [      "MONDAY"    ],    "dayOfMonth": 1  },  "nextOccurrences": [    {      "startsAt": "2019-08-24T14:15:22Z",      "endsAt": "2019-08-24T14:15:22Z"    }  ],  "message": "string",  "silenceAlerts": true,  "markComponents": true,  "notice": "NOW",  "createdBy": "string",  "statusPageComponentIds": [    "string"  ],  "notifySubscribersOnNotice": true,  "notifySubscribersOnStart": true,  "notifySubscribersOnEnd": true,  "silenceBufferMinutes": 0,  "endEarlyWhenDone": true,  "endedEarly": [    {      "startsAt": "2019-08-24T14:15:22Z",      "endedAt": "2019-08-24T14:15:22Z"    }  ]}
All docs