Heartbeats / View

Ping history for one heartbeat. Set bucket to minute, hour, or day to return buckets, incidents, and checks for that window only.

Endpoint

Method POST
Url https://downdar.com/api/v1/heartbeats/view

Request

Key fields

guid key Heartbeat id.
bucket key minute, hour, or day. Selects which bucket window to return.
{ "guid": "550e8400-e29b-41d4-a716-446655440000", "bucket": "day" }

Response

Fields

ok Always true on success.
guid Heartbeat id.
bucket minute, hour, or day. Echoes the bucket requested.
regions Metrics for the requested bucket. Heartbeats use a single entry with region_id null.
regions[].region_id Always null for heartbeats.
regions[].buckets Bucket grid: ts, status (unknown, up, warn, down), avg_ms, check counts.
regions[].incidents Incidents in the window: guid, status, started_at, ended_at.
regions[].checks Recent pings in the window: status, checked_at, duration_ms, error_message.
rate_limit Rate limit state for the tier this endpoint consumes. Present on every successful response.

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, "guid": "550e8400-e29b-41d4-a716-446655440000", "bucket": "day", "regions": [ { "region_id": null, "buckets": [ { "ts": 1735603200, "status": "up", "avg_ms": null, "checks_total": 1, "checks_up": 1, "checks_warn": 0, "checks_down": 0 }, { "ts": 1735689600, "status": "up", "avg_ms": null, "checks_total": 1, "checks_up": 1, "checks_warn": 0, "checks_down": 0 }, "…" ], "incidents": [], "checks": [ { "status": "up", "checked_at": "2026-07-04 02:00:00", "duration_ms": null, "error_message": "" }, "…" ] } ], "rate_limit": { "tier": 4, "cost": 1, "timeframe": "minute", "limit": 60, "used": 8, "remaining": 52 } }