Incidents API
List, create, read, and update incidents through the supported REST contract.
All incident endpoints require an API key. Authorization is evaluated as the key owner, including team and incident visibility. The limit is 60 requests per minute per key and operation; creation also enforces a burst ceiling of 120.
List and read
GET /api/incidents?limit=50 returns the newest visible incidents. limit
defaults to 50, invalid or non-positive values fall back to 50, and values over
200 are capped at 200. GET /api/incidents/{id} returns one visible incident.
Create
POST /api/incidents accepts:
{
"title": "Checkout API p95 latency above SLO",
"description": "Payment completion is degraded in multiple regions.",
"serviceId": "service_id",
"urgency": "HIGH",
"priority": "P1"
}
title (1–500 characters), serviceId, and urgency are required. Urgency is
LOW, MEDIUM, or HIGH; description is at most 10,000 characters and
priority at most 20. The service must exist and be accessible to the key owner.
Success returns HTTP 201 with data.incident and data.outcome.
Send a unique Idempotency-Key for retried create requests. Reusing the key for
the same command returns the original result and adds
Idempotency-Replayed: true; do not reuse it for a different command.
Update
PATCH /api/incidents/{id} accepts at least one of:
{
"status": "ACKNOWLEDGED",
"urgency": "HIGH",
"assigneeId": "user_id"
}
Status is OPEN, ACKNOWLEDGED, RESOLVED, SNOOZED, or SUPPRESSED.
Set assigneeId to null to unassign. Updates also support
Idempotency-Key. Success returns HTTP 200 with data.incident.
Every success response includes both the canonical data object and legacy
top-level aliases. New clients should read data.
Last updated for v2.0.0
Edit this page on GitHub