Base URL: https://cronping.anethoth.com
All API endpoints (except ping and signup) require authentication via Bearer token.
Include your API key in the Authorization header:
Authorization: Bearer ch_your_api_key_here
Create a new account and get an API key.
curl -X POST https://cronping.anethoth.com/api/v1/signup \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]"}'
Response:
{"api_key": "ch_...", "plan": "free", "monitor_limit": 3}
Create a new monitor.
curl -X POST https://cronping.anethoth.com/api/v1/monitors \
-H "Authorization: Bearer ch_your_key" \
-H "Content-Type: application/json" \
-d '{
"name": "nightly-backup",
"schedule_minutes": 1440,
"grace_minutes": 30,
"alert_webhook": "https://hooks.slack.com/services/..."
}'
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Human-readable name for this monitor |
| schedule_minutes | int | No | Expected interval between pings (default: 60) |
| grace_minutes | int | No | Extra time before alerting (default: 10) |
| alert_email | string | No | Email for alerts (default: account email) |
| alert_webhook | string | No | Webhook URL for alerts (Slack, Discord, etc.) |
List all your monitors.
curl https://cronping.anethoth.com/api/v1/monitors \ -H "Authorization: Bearer ch_your_key"
Get details for a specific monitor, including recent pings.
Delete a monitor and all its ping history.
Pause a monitor (silences alerts during maintenance).
Resume a paused monitor.
Send a ping for a monitor. This is what your cron job calls. No authentication required — the token in the URL is the credential.
# Simplest form curl https://cronping.anethoth.com/ping/YOUR_TOKEN # With retry for reliability curl -fsS --retry 3 https://cronping.anethoth.com/ping/YOUR_TOKEN
Create a Stripe checkout session to upgrade your plan.
curl -X POST https://cronping.anethoth.com/api/v1/checkout \
-H "Authorization: Bearer ch_your_key" \
-H "Content-Type: application/json" \
-d '{"plan": "pro"}'
When a monitor goes down, we POST this JSON to your webhook URL:
{
"monitor": "nightly-backup",
"status": "down",
"last_ping": "2026-04-12 03:00:00",
"message": "Monitor 'nightly-backup' missed its check-in. Last ping: 2026-04-12 03:00:00"
}
| Code | Meaning |
|---|---|
| 400 | Bad request (missing required fields) |
| 401 | Invalid or missing API key |
| 404 | Monitor not found |
| 409 | Email already registered |
| 429 | Monitor limit reached |