Incidents

Create a heartbeat

POST/v1/heartbeatsrequires incidents:write

Pages the escalation policy when a job stops checking in. A heartbeat waits for its first ping, then opens one incident when intervalSeconds plus graceSeconds pass without another; the next ping resolves it. The creating key must hold incidents:ingest and incidents:write, and missed-heartbeat incidents are raised as that key, so revoking it stops the pages. Test keys create test heartbeats whose incidents never call a provider. Names are unique per workspace and mode. See /docs/incident-heartbeats.

Requestcurl -X POST https://api.transmit.dev/v1/heartbeats \
  -H "Authorization: Bearer tr_v2_…" \
  -H "Content-Type: application/json" \
  -d '{
       "name": "nightly-backup",
       "configurationId": "00000000-0000-4000-8000-000000000001",
       "escalationPolicyId": "00000000-0000-4000-8000-000000000002",
       "intervalSeconds": 86400,
       "graceSeconds": 1800
     }'

Body

FieldTypeNotes
name requiredstring1–100 characters
configurationId requiredstringuuid
escalationPolicyId requiredstringuuid
intervalSeconds requiredinteger60–604800
graceSecondsinteger0–86400. defaults to 300

Responses

StatusMeaning
201Heartbeat with its ping URL
401The API key is missing, malformed, expired or revoked
403The API key lacks the incidents:write scope
404Routing resources are outside this workspace
409A heartbeat with this name exists
415Use application/json
422Invalid heartbeat

Every response body is described in the OpenAPI spec, which this page is generated from.