Status Page API
Public status-page incidents, the incident RSS feed, and double-opt-in email subscriptions Base path:/api/v1/public/incidents
Endpoint count: 6
title: “Errors worth branching on” description: “Per-endpoint failure templates matching the envelope — what actually fires, what to retry, what to surface to the operator.”
Errors worth branching on
These five failures cover the status POST (POST /api/v1/status-page/updates), which every incident flow fires. Each block below is a full{ error, meta } envelope as the API returns it, and the matrix at the bottom answers retry vs surface for the same five classes. For the platform-wide decision table these branches plug into, see the error handling guide.
401 — Unauthorized
401 on this page is the bearer key failing before the route ran — it never means the resource is wrong. Rotate the key or re-mint the scoped token; retrying the same request changes nothing.
403 — Forbidden
403 means the key authenticated but the operation is gated by scope — check the key’s scopes on the developer page; a 403 is never a data-not-found shape.
422 — Schema
422 means the payload did not match the request schema — branch on error.details.field and resend with an allowed state value instead of blind-retrying the same body.
429 — Rate
Retry-After header and error.details.retry_after are both set on every 429 — resend the SAME request after the lower of the two.
404 — Not found
60-second retry matrix
List public status-page incidents
GET /api/v1/public/incidentsdays query 1-365), newest first. Optionally filter by component or status. Each incident carries its title, body, status, impact, affected components, and timeline timestamps. Unauthenticated and edge-cached — use it to render a status page or an uptime widget.
Get the status-page incident RSS feed
GET /api/v1/public/incidents.rssGet a public status-page incident
GET /api/v1/public/incidents/{id}string
required
—
Confirm a status-page email subscription
GET /api/v1/public/statuspage/subscribers/confirm/{token}string
required
—
Unsubscribe from status-page emails
GET /api/v1/public/statuspage/subscribers/unsubscribe/{token}string
required
—
Subscribe to status-page incident emails
POST /api/v1/public/statuspage/subscribers