Incidents / List

List incidents for the authenticated account. Set scope to open for all current open incidents, or recent_closed for the 12 most recently resolved incidents (newest first). Includes monitors and heartbeats.

Endpoint

Method POST
Url https://downdar.com/api/v1/incidents/list

Request

Key fields

scope key open: all open incidents. recent_closed: the 12 most recently resolved incidents, newest first.
{ "scope": "open" }

Response

Top level

ok Always true on success.
scope Echoes the requested scope: open or recent_closed.
incidents Array of incident summary objects.
rate_limit Rate limit state for the tier this endpoint consumes. Present on every successful response.

incidents[]

guid Incident id.
status open or resolved.
started_at UTC datetime when the incident opened.
ended_at null while open. UTC datetime when resolved.
object Monitor or heartbeat this incident belongs to.

incidents[].object

category monitor or heartbeat.
type For monitors: http, ping, tcp, ssl, or dns. For heartbeats: heartbeat.
guid Monitor or heartbeat id.
name Resource name when it still exists.
target Display target (URL, host, heartbeat ping URL, etc.) when available.

rate_limit

tier Rate tier this endpoint counts against (1-5).
cost Units consumed by this request against the tier window.
timeframe Rolling limit window: second, minute, hour, or day.
limit Maximum units allowed in the timeframe for this tier on your plan.
used Units already used in the current window.
remaining Units left before this tier returns HTTP 429.
{ "ok": true, "scope": "open", "incidents": [ { "guid": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", "status": "open", "started_at": "2026-07-06 08:15:00", "ended_at": null, "object": { "category": "monitor", "type": "http", "guid": "550e8400-e29b-41d4-a716-446655440000", "name": "Homepage", "target": "https://example.com/" } } ], "rate_limit": { "tier": 2, "cost": 1, "timeframe": "minute", "limit": 120, "used": 73, "remaining": 47 } }