Publish your first heartbeat
Send one HTTP request when your job finishes. If the requests stop, SignalSitter tells you.
1. Create a monitor and a credential
Section titled “1. Create a monitor and a credential”Open the dashboard, create a project, then create a monitor. Copy its publish URL. It’s an ingest host plus the monitor’s ID:
https://ingest.signalsitter.com/nightly-backupThen issue a credential. Keep it in an environment variable, SIGNALSITTER_PUBLISH_CREDENTIAL below, or in your secret store.
A write credential sends beats. A manage credential can also create and configure monitors from a beat: send to a new ID and the monitor is created.
2. Send a beat
Section titled “2. Send a beat”curl --request POST \ --url https://ingest.signalsitter.com/nightly-backup \ --header "Authorization: Bearer ${SIGNALSITTER_PUBLISH_CREDENTIAL}"That’s a complete beat. No body needed. Add this as the last step of your job.
3. Watch it arrive
Section titled “3. Watch it arrive”The beat shows up on the monitor in the dashboard. The response says when the next one is due:
{ "accepted": true, "observation": { "status": "on_time" }, "nextDeadline": "2026-07-28T12:05:30.000Z"}The monitor expects a beat every interval, plus a grace period (60 seconds by default). Miss that deadline and it opens an incident and sends your callback, if you’ve set one up.
No interval set? The monitor learns one from your first five regular beats, then starts watching. Only beats sent with a manage credential count toward learning. Until then, silence raises nothing.
4. Next steps
Section titled “4. Next steps”Set the cadence on the beat: every 5 minutes, with 2 minutes of grace. Configuration headers need a manage credential. A write credential records the beat and ignores them.
curl --request POST \ --url https://ingest.signalsitter.com/nightly-backup \ --header "Authorization: Bearer ${SIGNALSITTER_PUBLISH_CREDENTIAL}" \ --header "Signalsitter-Interval: 300" \ --header "Signalsitter-Grace: 120"Send measurements as a JSON object:
curl --request POST \ --url https://ingest.signalsitter.com/nightly-backup \ --header "Authorization: Bearer ${SIGNALSITTER_PUBLISH_CREDENTIAL}" \ --header "Content-Type: application/json" \ --data '{"files":42}'To get an incident when a value crosses a limit, see Numeric rules.
Where to go next
Section titled “Where to go next”- Publishing heartbeats: every header, limit and error.
- Agents: let a coding agent set up monitors for you.
- Publish heartbeat reference: the full request and response schema.