The full request schemas live in the auto-generated API Reference. This page is the human-readable cheat sheet.
| Field | Type | Description |
|---|
id | uuid | Incident ID. |
title | string | Short, scannable label. |
severity | enum | minor, major, or critical. |
status | enum | Customer-facing progress. See status enum. |
responder_status | enum | Internal responder state. See responder status. |
status_page_id | uuid | null | Set when the incident is published to a status page. |
service_id | uuid | null | Optional service tag. |
affected_http_job_ids | uuid[] | HTTP monitors this incident is about. |
acknowledged_at | rfc3339 | null | When a responder acknowledged. |
acknowledged_by | uuid | null | Who acknowledged. |
resolved_at | rfc3339 | null | When the incident resolved. |
auto_created | bool | true when a monitor state change opened the incident; false for manual ones. |
created_at | rfc3339 | When the incident opened. |
updates | object[] | Chronological incident updates (below). |
| Field | Type | Description |
|---|
id | uuid | Update ID. |
status | enum | The status this update moved the incident to. |
message | string | Written update text. |
created_at | rfc3339 | When posted. |
| Value | Meaning |
|---|
investigating | Cause not yet known. |
identified | Cause known, fix in progress. |
monitoring | Fix rolled out, watching. |
resolved | Done. The only non-active status. |
| Value | Meaning |
|---|
triggered | No one has claimed the incident. Escalation keeps paging. |
acknowledged | A responder owns it. Escalation stops. |
resolved | Responder work is done. |
| Field | Type | Required | Description |
|---|
title | string | yes | Incident title. |
severity | enum | yes | minor / major / critical. |
message | string | yes | Text of the first incident update. |
status_page_id | uuid | no | Publish to a status page at creation. |
affected_http_job_ids | uuid[] | no | Affected HTTP monitors. |
service_id | uuid | no | Service tag. |
A full replace of the mutable fields, all required except resolved_at:
| Field | Type | Description |
|---|
title | string | New title. |
severity | enum | New severity. |
status | enum | New status. |
resolved_at | rfc3339 | Optional explicit resolution time. |
| Field | Type | Description |
|---|
status | enum | Status to transition to. |
message | string | Update text. |
| Field | Type | Description |
|---|
acknowledged_by | uuid | Optional when authenticated as a user (defaults to you). Required when calling with an API key. |
| Field | Type | Description |
|---|
status_page_id | uuid | The status page to publish this incident to. |
Standalone incidents:
| Method | Path | Purpose |
|---|
POST | /incident | Create. |
GET | /incident | List, with limit / offset pagination. |
GET / PUT / DELETE | /incident/{incident_id} | Detail / update / delete. |
POST | /incident/{incident_id}/acknowledge | Acknowledge (stops escalation). |
POST | /incident/{incident_id}/resolve | Resolve. |
POST | /incident/{incident_id}/update | Post an incident update. |
POST | /incident/{incident_id}/publish | Publish to a status page. |
GET | /incident/action/{token} | Signed one-click acknowledge or resolve. Token-authenticated, no session needed, 24 hour expiry. |
Status-page-scoped incidents (same shapes, scoped to one page):
| Method | Path | Purpose |
|---|
POST / GET | /status_page/{status_page_id}/incident | Create / list. |
GET / PUT / DELETE | /status_page/{status_page_id}/incident/{incident_id} | Detail / update / delete. |
POST | /status_page/{status_page_id}/incident/{incident_id}/update | Post an update. |