API reference
Status pages
Status pages endpoints of the StatusTick REST API: list status pages, create a status page, get a status page, change a status page's settings.
/v1/status-pagesEach page with its groups and components; use the component id to set its status.
Authorization
apiKey Your organization's API key.
In: header
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/status-pages"[ { "id": "string", "name": "string", "slug": "string", "description": "string", "visibility": "PUBLIC", "autoPublishIncidents": true, "groups": [ { "id": "string", "name": "string", "components": [ { "id": "string", "name": "string", "description": "string", "monitorIds": [ "string" ], "showResponseTimes": true } ] } ], "uptimeRangeDays": 30, "uptimePeriods": [ "24h" ], "passwordSet": true, "draft": {}, "visitorSpikeAlert": true, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }]/v1/status-pagesNeeds a READ_WRITE key from an owner or admin. The page starts without components; set them with PUT /v1/status-pages/{pageId}/layout.
Authorization
apiKey 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
application/json
curl -X POST "https://example.com/v1/status-pages" \ -H "Content-Type: application/json" \ -d '{ "name": "Acme status", "slug": "acme", "visibility": "PUBLIC" }'{ "id": "string", "name": "string", "slug": "string", "description": "string", "visibility": "PUBLIC", "autoPublishIncidents": true, "groups": [ { "id": "string", "name": "string", "components": [ { "id": "string", "name": "string", "description": "string", "monitorIds": [ "string" ], "showResponseTimes": true } ] } ], "uptimeRangeDays": 30, "uptimePeriods": [ "24h" ], "passwordSet": true, "draft": {}, "visitorSpikeAlert": true, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}/v1/status-pages/{pageId}The published page; unpublished changes made in the editor are in draft.
Authorization
apiKey Your organization's API key.
In: header
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/status-pages/string"{ "id": "string", "name": "string", "slug": "string", "description": "string", "visibility": "PUBLIC", "autoPublishIncidents": true, "groups": [ { "id": "string", "name": "string", "components": [ { "id": "string", "name": "string", "description": "string", "monitorIds": [ "string" ], "showResponseTimes": true } ] } ], "uptimeRangeDays": 30, "uptimePeriods": [ "24h" ], "passwordSet": true, "draft": {}, "visitorSpikeAlert": true, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}/v1/status-pages/{pageId}Needs a READ_WRITE key from an owner or admin. Applies at once. Leave out the fields you do not change.
Authorization
apiKey Your organization's API key.
In: header
Path Parameters
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/status-pages/string" \ -H "Content-Type: application/json" \ -d '{ "name": "Acme status", "description": "Live status of Acme." }'{ "id": "string", "name": "string", "slug": "string", "description": "string", "visibility": "PUBLIC", "autoPublishIncidents": true, "groups": [ { "id": "string", "name": "string", "components": [ { "id": "string", "name": "string", "description": "string", "monitorIds": [ "string" ], "showResponseTimes": true } ] } ], "uptimeRangeDays": 30, "uptimePeriods": [ "24h" ], "passwordSet": true, "draft": {}, "visitorSpikeAlert": true, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}/v1/status-pages/{pageId}Needs a READ_WRITE key from an owner or admin.
Authorization
apiKey Your organization's API key.
In: header
Path Parameters
Response Body
application/json
application/json
curl -X DELETE "https://example.com/v1/status-pages/string"/v1/status-pages/{pageId}/layoutNeeds a READ_WRITE key from an owner or admin. Replaces every group and component of the published page at once. Keep a component's id to keep its status history; a component without an id is new, and one left out is removed. A component shows at most 20 monitors.
Authorization
apiKey Your organization's API key.
In: header
Path Parameters
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 PUT "https://example.com/v1/status-pages/string/layout" \ -H "Content-Type: application/json" \ -d '{ "groups": [ { "name": "Website", "components": [ { "name": "Shop", "monitorIds": [ "mnt_4KrVK3M1DqhDTFouCffKie" ] } ] } ] }'{ "id": "string", "name": "string", "slug": "string", "description": "string", "visibility": "PUBLIC", "autoPublishIncidents": true, "groups": [ { "id": "string", "name": "string", "components": [ { "id": "string", "name": "string", "description": "string", "monitorIds": [ "string" ], "showResponseTimes": true } ] } ], "uptimeRangeDays": 30, "uptimePeriods": [ "24h" ], "passwordSet": true, "draft": {}, "visitorSpikeAlert": true, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}/v1/status-pages/{pageId}/viewsViews counted from the page's beacon, on its StatusTick address and its custom domain; bots are left out. A visitor counts once per page per UTC day, without cookies and without their IP being kept. Hourly points count a visitor in the hour of their first view that day.
Authorization
apiKey Your organization's API key.
In: header
Path Parameters
Query Parameters
24 hourly points, or 7 or 30 daily points (UTC days); the current hour or day is the last.
"LAST_24_HOURS"Value in
- "LAST_24_HOURS"
- "LAST_7_DAYS"
- "LAST_30_DAYS"
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/status-pages/string/views"{ "range": "LAST_24_HOURS", "views": 0, "uniqueVisitors": 0, "points": [ { "at": "2019-08-24T14:15:22Z", "views": 0, "uniqueVisitors": 0 } ]}/v1/status-pages/{pageId}/component-statusesAuthorization
apiKey Your organization's API key.
In: header
Path Parameters
Response Body
application/json
curl -X GET "https://example.com/v1/status-pages/string/component-statuses"[ { "componentId": "string", "manual": true, "manualStatus": "OPERATIONAL", "message": "string", "status": "OPERATIONAL", "updatedAt": "2019-08-24T14:15:22Z" }]/v1/status-pages/{pageId}/components/{componentId}/statusNeeds a READ_WRITE key. Only for components without monitors; a component with monitors answers 422 (status_page.component.monitored.unprocessable). The message is shown under the component on the public page; an empty message clears it.
Authorization
apiKey Your organization's API key.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/status-pages/string/components/string/status" \ -H "Content-Type: application/json" \ -d '{ "status": "MAJOR_OUTAGE", "message": "Phone support is down." }'{ "componentId": "string", "manual": true, "manualStatus": "OPERATIONAL", "message": "string", "status": "OPERATIONAL", "updatedAt": "2019-08-24T14:15:22Z"}/v1/status-pages/{pageId}/components/{componentId}/status-changesAuthorization
apiKey Your organization's API key.
In: header
Path Parameters
Query Parameters
value <= 100500Response Body
application/json
curl -X GET "https://example.com/v1/status-pages/string/components/string/status-changes"{ "changes": [ { "componentId": "string", "fromStatus": "OPERATIONAL", "toStatus": "OPERATIONAL", "source": "MANUAL", "actorId": "string", "actorName": "string", "message": "string", "changedAt": "2019-08-24T14:15:22Z" } ], "page": 0, "limit": 0, "hasMore": true}/v1/status-pages/monitors/{monitorId}/componentsNeeds a READ_WRITE key. The monitor shows on exactly these components (ids from GET /v1/status-pages) and is taken off every other component of your pages; an empty list takes it off all of them. Applies at once, outside any unpublished draft of a page.
Authorization
apiKey Your organization's API key.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/status-pages/monitors/mnt_4KrVK3M1DqhDTFouCffKie/components" \ -H "Content-Type: application/json" \ -d '{ "componentIds": [ "spc_2bS9wQm4LxT7nYc1Hd8KpE" ] }'{ "monitorId": "string", "componentIds": [ "string" ]}