Developer Documentation
Documentation
HTTP ping API, webhook alerts, and framework integration guides.
How HTTP Heartbeat Monitoring Works
Create a monitor
Define your job's expected schedule period (e.g., every 5 minutes) and grace buffer in your dashboard.
Append curl ping
Append a simple HTTP GET request to the end of your script or background task execution.
Get alerted on missed pings
If your job crashes, hangs, or fails to execute, CronHook sends alert webhooks to your configured channels.
*/5 * * * * /app/backup.sh && curl -fsS https://cronhook.site/ping/YOUR_CHECK_ID Framework Integration Guides
Framework & Platform Quickstarts
Step-by-step guides for popular hosting platforms, task queues, and languages.
Railway
Monitor background cron services on Railway PaaS.
Laravel
Integrate with Laravel Scheduler $schedule->thenPing().
Celery / Python
Monitor Celery Beat tasks and Python background workers.
Node.js
Connect node-cron, BullMQ, Agenda, or Bree schedulers.
Docker
Monitor containerized crond tasks inside Docker containers.
GitHub Actions
Monitor scheduled CI/CD GitHub Actions workflows.
API Reference
HTTP Ping & Management Endpoints
Works with any HTTP client — curl, wget, fetch, or requests.
/ping/:checkId Send a success ping to reset your monitor's countdown timer.
curl -fsS https://cronhook.site/ping/chk_12345 /ping/:checkId/fail Send an instant failure signal to trigger alerts immediately without waiting for schedule timeout.
curl -fsS https://cronhook.site/ping/chk_12345/fail /ping/:checkId/start Signal the execution start of a batch job to track execution duration.
curl -X POST https://cronhook.site/ping/chk_12345/start /api/checks Create a new monitor programmatically via JSON API (requires auth token).
curl -X POST https://cronhook.site/api/checks \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Backup Job", "period": 300, "grace": 600}' Alert Webhooks
Webhook Payload Specification
When a monitor goes DOWN or RECOVERS, CronHook posts JSON payloads to your custom webhooks.
{
"event": "monitor.down",
"monitor_id": "chk_987654321",
"monitor_name": "Database Backup Job",
"status": "down",
"expected_period_seconds": 300,
"grace_buffer_seconds": 600,
"last_ping_at": 1770940800,
"triggered_at": 1770941700,
"incident_id": "inc_12345"
} Webhook Delivery Guarantees
- Fast dispatch: Webhooks trigger directly from Cloudflare Durable Object alarm handlers.
- Automatic Retries: Failed webhook endpoints (5xx or timeout) are retried 3 times with exponential backoff.
- HMAC Signature Verification: Validate webhook payloads using your secret signing token.