Endpoints
Status worker HTTP reference: heartbeat, component health snapshots, and the diagnostics route.
Endpoints
All endpoints are IP-allowlisted (loopback + Docker subnets) and need no token. Responses are JSON; a request from outside the allowlist gets 403 { "ok": false, "error": "Forbidden" }, and a malformed JSON body gets a JSON 400 rather than an HTML error page.
Heartbeat
http://127.0.0.1:3030/heartbeat/:componentIdPublicstatusoperational, degraded, partial, outage, maintenance.Returns { "ok": true, "componentId": "...", "status": "..." }. Side effects: registers the component if unseen, resolves any open incident for it, and pushes the status to hep.gg only when it changed. A hep.gg push failure is logged but never fails the heartbeat — the next beat retries.
Health snapshots
http://127.0.0.1:3030/healthPublichttp://127.0.0.1:3030/health/:componentIdPublicEach snapshot contains lastHeartbeatAt, secondsSinceLastHeartbeat, lastReportedStatus, publishedStatus (what hep.gg last accepted, null = unknown), and activeIncidentId.
Diagnostics
http://127.0.0.1:3030/diagPublicReturns the resolved config (HEP_BASE, a token preview, the timing constants) and the raw response of a live GET /status-api/status call — the quickest way to confirm the token and base URL are right.