Check-in URLs
Every monitor has a unique, unguessable check-in URL. Your job calls it to report what happened. There are three endpoints, all built from the same ping key:
| Endpoint | When to call it |
|---|---|
/ping/<key> | The run finished successfully. |
/ping/<key>/start | The run is starting. |
/ping/<key>/fail | The run failed. |
Only the success endpoint is required. The start and fail endpoints are optional and unlock duration tracking and immediate failure alerts.
Success
Call the base URL when the job finishes cleanly:
curl -fsS https://cronwarden.com/ping/your-ping-key
This is the check-in that keeps the monitor "up". If it doesn't arrive within the schedule plus its grace period, the monitor goes late and then down.
Start
Call the /start endpoint at the beginning of the run:
curl -fsS https://cronwarden.com/ping/your-ping-key/start
# ... job runs ...
curl -fsS https://cronwarden.com/ping/your-ping-key
Pairing a start with a success lets CronWarden measure how long the run took (see Run duration) and notice a run that started but never finished.
Fail
Call /fail when your script knows it failed, so you're alerted immediately instead of waiting for the missed check-in:
if ! run_the_job; then
curl -fsS https://cronwarden.com/ping/your-ping-key/fail
exit 1
fi
curl -fsS https://cronwarden.com/ping/your-ping-key
Methods and reliability
- Both GET and POST work. Use POST when you want to send a value in a JSON body (see Reporting a value).
- The
-fsSflags tell curl to stay quiet on success, show errors, and fail on a non-2xx response — so a check-in problem shows up in your job's own logs. - The ping key is high-entropy and not guessable; treat the URL as a secret, since anyone who has it can check in on the monitor's behalf.