Skip to main content
POST
/
v1
/
heartbeats
Creates a heartbeat
curl --request POST \
  --url https://api.rootly.com/v1/heartbeats \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/vnd.api+json' \
  --data '{
  "data": {
    "type": "heartbeats",
    "attributes": {
      "name": "<string>",
      "description": "<string>",
      "alert_summary": "<string>",
      "alert_description": "<string>",
      "alert_urgency_id": "<string>",
      "interval": 123,
      "interval_unit": "seconds",
      "notification_target_id": "<string>",
      "notification_target_type": "User",
      "enabled": true
    }
  }
}'
{
  "data": {
    "id": "d5c627f2-0c33-486f-9e2e-0c8db6bb72b0",
    "type": "heartbeats",
    "attributes": {
      "slug": "api",
      "name": "API",
      "description": "This is a description",
      "alert_summary": "API is down",
      "alert_description": "Check the API logs and runbook at /docs/api-troubleshooting",
      "alert_urgency_id": "3c2b2614-f778-4c72-944b-d80daefb5a66",
      "interval": 1,
      "interval_unit": "minutes",
      "notification_target_id": "201",
      "notification_target_type": "User",
      "ping_url": "http://localhost:3001/v1/heartbeats/d5c627f2-0c33-486f-9e2e-0c8db6bb72b0/ping",
      "secret": "heartbeat_b463ef44d0414be7d4929c3bc6421d4f9c574f696b9d8e60fe7abc0bc4c3339e",
      "email_address": "heartbeat-cde20c69a5ed60e4fc42cba7e1974b1f@test.email.rootly.com",
      "last_pinged_at": null,
      "expires_at": null,
      "enabled": false,
      "status": "waiting",
      "updated_at": "2025-10-09T08:36:32.398-07:00",
      "created_at": "2025-10-09T08:36:32.398-07:00"
    }
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/vnd.api+json
data
object
required

Response

heartbeat created

data
object
required
I