API

API: incidents

List incidents, read details, acknowledge and add notes.

List

GET /incidents?monitorId=&status=open|resolved&from=&to=

Read

GET /incidents/{id}
{
  "id": "e5b4...",
  "monitorId": "a3f1...",
  "status": "resolved",
  "startedAt": "2026-01-19T09:39:12Z",
  "resolvedAt": "2026-01-19T09:41:22Z",
  "durationSec": 130,
  "cause": "http_status",
  "summary": "503 Service Unavailable",
  "confirmedBy": ["fra", "lon", "nyc"],
  "evidence": [
    { "region": "fra", "statusCode": 503, "responseMs": 412, "ip": "203.0.113.50", "bodyExcerpt": "<html><head><title>503 Service Unavailable" }
  ],
  "acknowledgedAt": "2026-01-19T09:40:02Z",
  "acknowledgedBy": "user:7c1d...",
  "notifications": [{ "channel": "telegram", "sentAt": "2026-01-19T09:39:14Z" }]
}

Acknowledge

POST /incidents/{id}/ack

Stops escalation. Returns the updated incident.

Notes

POST /incidents/{id}/notes
{ "text": "Host restarted PHP-FPM." }

Notes appear in the incident timeline and in the monthly report.

Manual incidents (status pages)

POST /status-pages/{id}/incidents
{ "title": "Payment provider degraded", "status": "investigating", "componentIds": ["..."], "message": "..." }