Servor. docs
fr

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.

get/v1/status-pagesScope: status-pages:read

List 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"
  }
]
get/v1/status-pages/{id}Scope: status-pages:read

Get a status page with its components

Parameters

  • iduuidpath · required

    The 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
    }
  ]
}
get/v1/status-pages/{id}/incidentsScope: status-pages:read

List incidents shown on a status page

Parameters

  • iduuidpath · required

    The 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:write token.
  • A 403 means your token is missing the status-pages:read scope — see errors for the full list of status codes.

See also