API Reference

Base URL : https://cronbeacon.com/api/v1

Authentication : Authorization: Bearer cb_your_token

Endpoints

POST /api/v1/ingest/events

Send a monitoring event (start, success, failure).

Request body
FieldTypeRequiredDescription
job_keystringUnique job identifier (slug). Automatically created if it doesn't exist.
eventstringEvent type: started, succeeded, failed, completed
environmentstringEnvironment (prod, staging, dev). Default: prod
duration_msintegerExecution duration in milliseconds
processed_countintegerNumber of items processed
error_countintegerNumber of errors encountered
messagestringFree text message (error detail, summary...)
event_idstringUnique ID for event deduplication (idempotency)
Event types
Response
{
  "status": "ok",
  "run_id": "01924f8a-...",
  "job_id": "01924f8a-...",
  "event": "succeeded",
  "created": true
}

GET /api/v1/jobs

List all jobs in the tenant.

POST /api/v1/jobs

Create a new job.

Request body
FieldTypeDescription
namestringJob name (slug is generated automatically)
typestringcron, batch, worker
environmentstringprod, staging, dev
cron_expressionstringStandard cron expression (5 fields)
expected_cadence_minutesintegerAlternative to cron: interval in minutes
grace_period_secondsintegerGrace period in seconds before declaring missed (default: 300)
severitystringlow, medium, high, critical

GET /api/health

Check that the service is operational. No authentication required.

POST /api/v1/alerts/{id}/ack

Acknowledge an alert (sets status to 'acked').

POST /api/v1/alerts/{id}/mute

Mute an alert. Parameter: minutes (mute duration).

Rate Limiting

Requests are limited by plan: Free 30/min, Pro 120/min, Business 300/min. When exceeded, the API returns a 429 status code.