API Incidents
Base URL: https://api.okstatus.eu/api/v1/incidents — every request needs an Authorization: Bearer oks_live_... header, see Authentication.
List incidents
Section titled “List incidents”GET /api/v1/incidents?page=1&per_page=50{ "data": [ { "id": "...", "title": "...", "status": "investigating", "severity": "major", "monitorId": "..." } ], "meta": { "page": 1, "per_page": 50, "total": 3 }}Create an incident
Section titled “Create an incident”POST /api/v1/incidentsContent-Type: application/json| Field | Type | Required | Description |
|---|---|---|---|
title | string | ✅ | 1–500 chars |
monitorId | string | ✅ | UUID of the affected monitor |
severity | enum | minor, major, critical — defaults to minor |
Creating an incident automatically posts an initial investigating update. Returns 201 with { "data": Incident }.
Get an incident (with its update timeline)
Section titled “Get an incident (with its update timeline)”GET /api/v1/incidents/:id{ "data": { "id": "...", "title": "...", "status": "investigating", "severity": "major", "updates": [{ "id": "...", "status": "investigating", "message": "...", "createdAt": "..." }] }}Post an update
Section titled “Post an update”PATCH /api/v1/incidents/:idContent-Type: application/json| Field | Type | Required | Description |
|---|---|---|---|
status | enum | ✅ | investigating, identified, monitoring, or resolved |
message | string | ✅ | The update text, shown on the timeline and the public status page |
Setting status: "resolved" also stamps resolvedAt.
Resolve directly
Section titled “Resolve directly”POST /api/v1/incidents/:id/resolveShortcut for PATCH with status: "resolved" and a default “Incident resolved.” message — no body required.
Errors
Section titled “Errors”404 NOT_FOUND if the incident doesn’t exist in your org. See Authentication for the shared error format and rate limits.