One curl opens an incident on your status page and fans the news out to every verified subscriber. Grab a key from Settings → API Keys, drop in your page ID, and paste this into your terminal. The rest of this page explains each step in detail.
~/projects/acme · zsh
$curl-XPOST"https://flipsign.live/api/v1/pages/d290f1ee-6c54-4b01-90e6-d701748f0851/incidents"\-H"Authorization: Bearer <FLIPSIGN_API_KEY>"\-H"Content-Type: application/json"\-d{"title":"Elevated API error rates","severity":"major","status":"investigating","message":"We are investigating elevated 5xx responses on the API."}'
201Created· 138ms · 287 bytes
{"id":"a3f2c1e0-9b8d-4e21-8c0f-2d1e3f4a5b6c","pageId":"d290f1ee-6c54-4b01-90e6-d701748f0851","title":"Elevated API error rates","severity":"major","status":"investigating","startedAt":"2026-05-29T17:55:00.000Z","resolvedAt":null,"createdAt":"2026-05-29T17:55:00.000Z","updatedAt":"2026-05-29T17:55:00.000Z"}
Every API request carries a Bearer token. Create a key in Settings → API Keys — the full key (it starts with fs_sk_) is shown once at creation, so store it somewhere safe. Keys are hashed on our side; only the prefix stays visible in the dashboard for identification.
Header
Authorization:Bearerfs_sk_a1b2c3d4e5f6...
Find your page
A status page is created in the dashboard — it owns your slug, brand colour, custom domain, and the public board at /s/<slug>. The API works against a page, so every component, incident, and maintenance call needs its id. List your pages to find it:
Componentsare the rows on your board — "API", "Dashboard", "Webhooks". Each has a status the public board renders with a colour. Create one with a namerequired; status defaults to operational.
The five valid statuses are operational, degraded, partial_outage, major_outage, and maintenance. To flip a component during an incident, PATCHit — that's the move a deploy script makes:
When something breaks, open an incident. Required field is titlerequired; severity defaults to minor and status to investigating. Pass an initial message and it becomes the first update in the timeline. Creating an incident fires the subscriber-email + alert-channel fan-out automatically.
curl
curl-XPOST"https://flipsign.live/api/v1/pages/d290f1ee-.../incidents"\-H"Authorization: Bearer <FLIPSIGN_API_KEY>"\-H"Content-Type: application/json"\-d{"title":"Elevated API error rates","severity":"major","status":"investigating","message":"We are investigating elevated 5xx responses."}'
Post updates & resolve
As you learn more, append updates. Each update carries a bodyrequired and an optional status — when the status changes, the incident moves with it. Walk it through identified → monitoring → resolved; setting resolved stamps resolvedAt and fires the resolved notification path. Every update re-notifies subscribers and channels.
curl
curl-XPOST"https://flipsign.live/api/v1/incidents/<incident-id>/updates"\-H"Authorization: Bearer <FLIPSIGN_API_KEY>"\-H"Content-Type: application/json"\-d{"body":"Root cause identified — rolling back the bad deploy.","status":"identified"}'
curl · resolve
curl-XPATCH"https://flipsign.live/api/v1/incidents/<incident-id>"\-H"Authorization: Bearer <FLIPSIGN_API_KEY>"\-H"Content-Type: application/json"\-d{"status":"resolved","message":"The rollback is complete and error rates are back to normal."}'
Schedule maintenance
Planned downtime is communicated ahead of time. A maintenance window needs a titlerequired plus startsAtrequired and endsAtrequired as ISO 8601 timestamps (endsAt must be after startsAt). Optionally pass affectedComponentIdsto highlight specific rows. The board shows an "Upcoming maintenance" callout before the window and a banner during it.
curl
curl-XPOST"https://flipsign.live/api/v1/pages/d290f1ee-.../scheduled-maintenance"\-H"Authorization: Bearer <FLIPSIGN_API_KEY>"\-H"Content-Type: application/json"\-d{"title":"Database upgrade","description":"Brief read-only window while we upgrade Postgres.","startsAt":"2026-06-01T02:00:00Z","endsAt":"2026-06-01T03:00:00Z"}'
Next steps
Embed a live status pill anywhere with one line — <script src="https://flipsign.live/widget/<slug>" defer></script> — and point a custom domain at your board (both Pro+). Subscribers can follow via email or RSS, and the uptime heatmap lives at /s/<slug>/uptime.