Incidents
Post Incident Update
Post a new update on an incident with explicit visibility — optionally transitioning status in the same call.
POST
Posts a new update on an incident. The update may carry a message body, a status transition, or both — at least one is required. Updates are append-only; to correct a previous statement, redact the original and post a new one.
Visibility
visibility is required on every request — there is no default.
Posting
public is rejected with no_public_surface (400) when the incident has no published Status Page whose selected components overlap with the incident’s affected components. Subscribe a Status Page to the affected components before publishing.
Resolved incidents are terminal — POST against a resolved incident returns 400 incident_resolved. You may still redact updates on a resolved incident.
Path parameters
The UUID of the incident.
Request body
internal or public. No default — must be set explicitly.Free-text message up to 10,000 characters. Required when
visibility is
public. Optional when visibility is internal — but at least one of
body or statusChange must be set.Optional lifecycle transition. One of
investigating, identified,
monitoring, resolved. Must follow the existing sequence — see Update
Status for the rules. When set, the incident’s status
advances in the same write.Response
Returns the created incident update.Error responses
End-to-end example
A typical “investigate → publish update → resolve” flow:This endpoint does not yet support client-supplied idempotency keys at the API
layer. Retrying a transient
5xx may create a duplicate update — guard your
callers with their own dedupe key (e.g. cache the id from the first 200
response) until end-to-end idempotency is exposed.