Reference
View as MarkdownStatus incidents API
6 operations. Every call needs a session cookie or an Authorization: Bearer nct_… token unless marked Public. Conventions, errors and scopes
/status-incidentsList status incidents
Incidents written by people and posted to status pages, newest first, with their timelines.
| Parameter | In | Type | Description |
|---|---|---|---|
status | query | enum: active | investigating | identified | monitoring | resolved | Only incidents in this status; active = not resolved |
pageId | query | string (uuid) | Only incidents posted to this status page |
cursor | query | string | Opaque cursor from a previous page's nextCursor |
limit | query | integer (int64) | Page size (default 50, max 200) |
Response 200 · OK · application/json
- StatusIncidentView[] | nullrequired
- nextCursorstringPresent when more items exist
400Bad Request401Unauthorized403Forbidden422Unprocessable Entity500Internal Server Error
Errors are RFC 9457 application/problem+json with a stable code field.
/status-incidentsOpen a status incident
Opens an incident whose first timeline entry is body and posts it to the pages. Its impact moves the pages' overall state while it is not resolved. Requires the admin scope.
| Parameter | In | Type | Description |
|---|---|---|---|
Idempotency-Key | header | string | Client-chosen key (<=255 chars). A retry with the same key replays the original response for 24 hours. |
Request body · application/json · required
- bodystringrequiredThe first update of the timeline. Plain text, line breaks kept
- impactenum: none | minor | major | criticalrequiredHow the page's overall state changes while the incident is active: critical = major outage, major = partial outage, minor = degraded, none = nothing
- pageIdsstring[] | nullThe status pages to post it to
- serviceIdsstring[] | nullThe affected services
- statusenum: investigating | identified | monitoring | resolvedDefault investigating
- titlestringrequired
Response 201 · Created · application/json
- createdAtstring (date-time)required
- idstringrequired
- impactenum: none | minor | major | criticalrequired
- pageIdsstring[] | nullrequiredThe status pages the incident is posted to
- resolvedAtstring (date-time) | nullrequired
- serviceIdsstring[] | nullrequiredThe services it affects (shown as the affected components of each page that has them)
- statusenum: investigating | identified | monitoring | resolvedrequired
- titlestringrequired
- updatedAtstring (date-time)required
- StatusIncidentUpdateView[] | nullrequiredThe timeline, newest first
401Unauthorized403Forbidden404Not Found409Conflict422Unprocessable Entity500Internal Server Error
Errors are RFC 9457 application/problem+json with a stable code field.
/status-incidents/{incidentId}Get a status incident
| Parameter | In | Type | Description |
|---|---|---|---|
incidentIdrequired | path | string |
Response 200 · OK · application/json
- createdAtstring (date-time)required
- idstringrequired
- impactenum: none | minor | major | criticalrequired
- pageIdsstring[] | nullrequiredThe status pages the incident is posted to
- resolvedAtstring (date-time) | nullrequired
- serviceIdsstring[] | nullrequiredThe services it affects (shown as the affected components of each page that has them)
- statusenum: investigating | identified | monitoring | resolvedrequired
- titlestringrequired
- updatedAtstring (date-time)required
- StatusIncidentUpdateView[] | nullrequiredThe timeline, newest first
401Unauthorized403Forbidden422Unprocessable Entity500Internal Server Error
Errors are RFC 9457 application/problem+json with a stable code field.
/status-incidents/{incidentId}Update a status incident
Changes the title, impact, pages or services; omitted fields stay. The status and timeline change with POST /status-incidents/{incidentId}/updates. Requires the admin scope.
| Parameter | In | Type | Description |
|---|---|---|---|
incidentIdrequired | path | string |
Request body · application/json · required
- impactenum: none | minor | major | critical
- pageIdsstring[] | nullReplaces the pages; [] withdraws the incident from every page
- serviceIdsstring[] | nullReplaces the affected services
- titlestring
Response 200 · OK · application/json
- createdAtstring (date-time)required
- idstringrequired
- impactenum: none | minor | major | criticalrequired
- pageIdsstring[] | nullrequiredThe status pages the incident is posted to
- resolvedAtstring (date-time) | nullrequired
- serviceIdsstring[] | nullrequiredThe services it affects (shown as the affected components of each page that has them)
- statusenum: investigating | identified | monitoring | resolvedrequired
- titlestringrequired
- updatedAtstring (date-time)required
- StatusIncidentUpdateView[] | nullrequiredThe timeline, newest first
401Unauthorized403Forbidden404Not Found409Conflict422Unprocessable Entity500Internal Server Error
Errors are RFC 9457 application/problem+json with a stable code field.
/status-incidents/{incidentId}Delete a status incident
Deletes the incident and its timeline; it disappears from the pages. Requires the admin scope.
| Parameter | In | Type | Description |
|---|---|---|---|
incidentIdrequired | path | string |
Response 204 · No Content
No body.
401Unauthorized403Forbidden422Unprocessable Entity500Internal Server Error
Errors are RFC 9457 application/problem+json with a stable code field.
/status-incidents/{incidentId}/updatesPost an incident update
Adds a timeline entry and moves the incident to its status. resolved sets resolvedAt and ends the incident's effect on the pages' overall state; a later update with another status reopens it. Requires the admin scope.
| Parameter | In | Type | Description |
|---|---|---|---|
Idempotency-Key | header | string | Client-chosen key (<=255 chars). A retry with the same key replays the original response for 24 hours. |
incidentIdrequired | path | string |
Request body · application/json · required
- bodystringrequiredPlain text, line breaks kept
- statusenum: investigating | identified | monitoring | resolvedrequired
Response 201 · Created · application/json
- createdAtstring (date-time)required
- idstringrequired
- impactenum: none | minor | major | criticalrequired
- pageIdsstring[] | nullrequiredThe status pages the incident is posted to
- resolvedAtstring (date-time) | nullrequired
- serviceIdsstring[] | nullrequiredThe services it affects (shown as the affected components of each page that has them)
- statusenum: investigating | identified | monitoring | resolvedrequired
- titlestringrequired
- updatedAtstring (date-time)required
- StatusIncidentUpdateView[] | nullrequiredThe timeline, newest first
401Unauthorized403Forbidden404Not Found409Conflict422Unprocessable Entity500Internal Server Error
Errors are RFC 9457 application/problem+json with a stable code field.