Schedule a maintenance window on a status page.
POST
/status_page/{status_page_id}/maintenance
const url = 'https://api.siteqwality.com/status_page/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/maintenance';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"title":"example","body":"example","scheduled_start_at":"2026-04-15T12:00:00Z","scheduled_end_at":"2026-04-15T12:00:00Z","affected_http_job_ids":["2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"],"whole_page":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.siteqwality.com/status_page/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/maintenance \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "title": "example", "body": "example", "scheduled_start_at": "2026-04-15T12:00:00Z", "scheduled_end_at": "2026-04-15T12:00:00Z", "affected_http_job_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "whole_page": true }'Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ” status_page_id
required
string format: uuid
Status page identifier
Request Body required
Section titled “Request Body required ” Media type application/json
object
title
required
string
body
string | null
scheduled_start_at
required
string format: date-time
scheduled_end_at
required
string format: date-time
affected_http_job_ids
The monitors under maintenance. Required unless whole_page is true.
array | null
whole_page
The whole page is under maintenance. Leave affected_http_job_ids empty.
boolean
Example generated
{ "title": "example", "body": "example", "scheduled_start_at": "2026-04-15T12:00:00Z", "scheduled_end_at": "2026-04-15T12:00:00Z", "affected_http_job_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "whole_page": true}Responses
Section titled “ Responses ”Maintenance window created
Media type application/json
object
id
required
string format: uuid
status_page_id
required
string format: uuid
title
required
string
body
string | null
status
required
string
scheduled_start_at
required
string format: date-time
scheduled_end_at
required
string format: date-time
affected_http_job_ids
required
Array<string>
whole_page
required
Covers the whole page; affected_http_job_ids is then empty.
boolean
created_at
required
string format: date-time
Example
{ "status": "scheduled"}Missing or invalid authentication
Status page or affected monitor not found
Internal server error