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": "fd9152bb-3114-4650-a9c7-e8d31fde3873",
    "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": "e6effc34-fbd4-4b88-b6d3-6f37757cad4c",
      "interval": 1,
      "interval_unit": "minutes",
      "notification_target_id": "175",
      "notification_target_type": "User",
      "ping_url": "http://localhost:3001/v1/heartbeats/fd9152bb-3114-4650-a9c7-e8d31fde3873/ping",
      "secret": "heartbeat_cd43b34a96c32cf65ef425ad4d2562801d33dc745ad5bfb0ad0857583dceb239",
      "last_pinged_at": null,
      "expires_at": null,
      "enabled": false,
      "status": "waiting",
      "updated_at": "2025-09-18T20:55:26.864-07:00",
      "created_at": "2025-09-18T20:55:26.864-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