HEARTBEAT

HEARTBEAT (dead-man switch) monitor

Inverse of every other monitor. Your job pings us on schedule; we open an incident when we don't hear from it within the grace window.

How it works

On creation, the monitor is assigned a public, opaque URL. Your cron job, scheduled task, or backup script pings that URL on its normal schedule (no Bearer key required). If we go longer than your grace window without a ping, the check flips to DOWN and an incident opens.

Common use cases

  • Nightly database backups — alert if the backup script stops running.
  • Cron jobs that process queues, send digest emails, or rotate logs.
  • ETL pipelines whose silent failure would otherwise go unnoticed.
  • Battery-backed devices that report health on a known cadence.

Grace window

Set the grace period longer than the slowest expected run. A nightly backup that finishes in 20-50 minutes wants a 90-minute grace window — long enough to absorb a slow run, short enough that a real failure pages you the same morning.

Create one via the API

# 1. Create the monitor — note the heartbeatToken in the response
curl https://monitorah.com/api/v1/monitors \
  -X POST \
  -H "Authorization: Bearer mon_live_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"Nightly backup","type":"HEARTBEAT","target":"nightly-backup","config":{"graceSeconds":5400}}'

# 2. From your job, hit the heartbeat URL on every successful run
curl https://monitorah.com/api/v1/heartbeat/hb_abc123…

Full reference for this endpoint →

Create a HEARTBEAT monitor → All docs