Status pages API
Read your Servor status pages, their components and public incident history over the API with a status-pages:read token.
Read your public status pages and their incident history over the API. Use these endpoints to mirror your status somewhere else, feed a public "system status" widget, or export the incident timeline your visitors already see. Everything here is read-only — creating and designing status pages stays in the dashboard: create a status page in Servor.
These endpoints require the status-pages:read scope.
/v1/status-pagesScope: status-pages:readList status pages
Example request
curl https://api.servor.app/v1/status-pages \
-H "Authorization: Bearer sv_live_..."Example response
[
{
"id": "uuid",
"name": "Acme Status",
"uniqueHostname": "acme12ab34",
"slug": "acme",
"visibility": "public",
"primaryColor": "#06b6d4",
"description": null,
"suspended": false,
"createdAt": "2026-08-01T00:00:00.000Z"
}
]/v1/status-pages/{id}Scope: status-pages:readGet a status page with its components
Parameters
iduuidpath · requiredThe status page id.
Example request
curl https://api.servor.app/v1/status-pages/:id \
-H "Authorization: Bearer sv_live_..."Example response
{
"id": "uuid",
"name": "Acme Status",
"uniqueHostname": "acme12ab34",
"slug": "acme",
"visibility": "public",
"primaryColor": "#06b6d4",
"description": null,
"suspended": false,
"createdAt": "2026-08-01T00:00:00.000Z",
"components": [
{
"id": "uuid",
"name": "API",
"groupName": null,
"position": 0
}
]
}/v1/status-pages/{id}/incidentsScope: status-pages:readList incidents shown on a status page
Parameters
iduuidpath · requiredThe status page id.
Example request
curl https://api.servor.app/v1/status-pages/:id/incidents \
-H "Authorization: Bearer sv_live_..."Example response
[
{
"id": "uuid",
"title": "API degraded",
"status": "investigating",
"impact": "major",
"statusPageId": "uuid",
"isMaintenance": false,
"startedAt": "2026-08-20T10:00:00.000Z",
"resolvedAt": null,
"createdAt": "2026-08-20T10:00:00.000Z"
}
]What you get back
GET /v1/status-pages— the list of status pages in your team, each with its name, visibility and overall status.GET /v1/status-pages/{id}— one status page with its components. Components are the individual services shown on the page; when a component is linked to a monitor, its status updates automatically.GET /v1/status-pages/{id}/incidents— the public incident history for that page, the same timeline your visitors see.
Example
curl https://api.servor.app/v1/status-pages \
-H "Authorization: Bearer sv_live_..."Take an id from that list to read one page and its incidents:
curl https://api.servor.app/v1/status-pages/sp_123 \
-H "Authorization: Bearer sv_live_..."
curl https://api.servor.app/v1/status-pages/sp_123/incidents \
-H "Authorization: Bearer sv_live_..."Building a status widget
Combine the page's overall status with /{id}/incidents to render a compact
"all systems operational" badge in your own app. For an image you can embed with
no code, there's also a status badge.
Notes
- These endpoints return what's public on the page. Read access here is separate from a page being password-protected — see make it private.
- To write incidents that appear on a status page, use the
Incidents API with an
incidents:writetoken. - A
403means your token is missing thestatus-pages:readscope — see errors for the full list of status codes.