Status API › Maintenance
Schedule maintenance
Schedules a maintenance window on the page. title, scheduled_start and
scheduled_end are required. With a body, confirmed subscribers who follow
an affected component (or the whole page) are mailed.
Permission (API-key scope): status:maintenance:write.
Authorization
bearerAuth(status:maintenance:write)apiKeyHeader(status:maintenance:write)
Parameters
Path parameters
pageIDstring (uuid) requiredThe status page's id (a UUID).
Request body required
titlestring requiredbodystringstatusMaintenanceStatusscheduled_startstring (date-time) requiredscheduled_endstring (date-time) requiredaffected_component_idsarray of string (uuid)Create only; ignored on update. Components of this page; any other id is skipped.managed_inManagedInCreate only; ignored on update.
Responses
201
The window.
dataMaintenance requiredShow Maintenance properties
idstring (uuid) requiredorg_idstring requiredpage_idstring (uuid) requiredtitlestring requiredbodystring requiredstatusMaintenanceStatus requiredscheduled_startstring (date-time) requiredscheduled_endstring (date-time) requiredcreated_atstring (date-time) requiredupdated_atstring (date-time) requiredmanaged_inManagedIn requiredaffected_component_idsarray of string (uuid) requiredupdatesarray of MaintenanceUpdate requiredShow MaintenanceUpdate properties
idstring (uuid)maintenance_idstring (uuid)statusMaintenanceStatusbodystringcreated_atstring (date-time)
successboolean required
400
A field is missing or invalid (VALIDATION_ERROR); the message names it, or the body is not valid (INVALID_BODY).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThis request's id, also inX-Request-ID.
401
No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThis request's id, also inX-Request-ID.
403
The key lacks the scope this endpoint needs (FORBIDDEN).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThis request's id, also inX-Request-ID.
404
No such page (PAGE_NOT_FOUND, or NOT_FOUND for a page the caller cannot see).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThis request's id, also inX-Request-ID.
429
Too many requests (RATE_LIMITED). Wait Retry-After seconds.
Retry-AfterintegerSeconds to wait.
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThis request's id, also inX-Request-ID.
500
Something went wrong on EvoHub's side (INTERNAL_ERROR). Retry later.
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.request_idstringThis request's id, also inX-Request-ID.
Example request
curl -X POST 'https://evohub.io/api/v1/pages/3f6c2a1e-8b4d-4f7a-9c21-5d0e7a9b1c42/maintenances' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"body": "Expect up to five minutes of read-only mode.",
"title": "Database upgrade",
"managed_in": "status_page",
"scheduled_end": "2026-10-13T00:00:00Z",
"scheduled_start": "2026-10-12T22:00:00Z",
"affected_component_ids": [
"a7c1e3f5-2b4d-4c6e-8f0a-1b3d5f7a9c2e"
]
}'