Create and manage checks from scripts and deploy pipelines, so new jobs are monitored the moment they ship. The API is part of the Team plan.
Create a key on your Account page (owners only), then send it as a bearer token. A key can manage every project in its account, so keep it secret, for example in your CI system's secrets.
curl https://cronomonitor.com/api/v1/projects \
-H "Authorization: Bearer cm_live_…"Each key can make 120 requests a minute. Errors come back as JSON with an error message and a status code: 400 (invalid input), 401 (missing or revoked key), 402 (subscription needed), 403 (plan doesn't include the API), 404, or 429 (slow down; see the Retry-After header).
GET/api/v1/projectsYour projects.GET/api/v1/checksYour checks. Add ?projectId=… for one project.POST/api/v1/checksCreate a check.GET/api/v1/checks/:idOne check.PATCH/api/v1/checks/:idChange a check (send only the fields to change).DELETE/api/v1/checks/:idDelete a check.POST/api/v1/checks/:id/pausePause monitoring.POST/api/v1/checks/:id/resumeResume monitoring.curl https://cronomonitor.com/api/v1/checks \
-H "Authorization: Bearer $CRONOMONITOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"projectId": "PROJECT_ID",
"name": "Nightly backup",
"periodSeconds": 86400,
"cronExpression": "0 3 * * *",
"timezone": "Europe/London",
"graceSeconds": 900
}'The response includes the check's pingUrl, ready to add to the job.
{
"check": {
"id": "…",
"name": "Nightly backup",
"status": "PENDING",
"schedule": { "type": "cron", "cronExpression": "0 3 * * *", "timezone": "Europe/London" },
"pingUrl": "https://cronomonitor.com/api/ping/…",
…
}
}projectIdnameperiodSecondscronExpressiontimezonegraceSecondsmaxDurationSecondsslowAlertsEnabledfailureKeywordsalertAfterFailuresremindEveryMinuteswebhookUrl, slackWebhookUrl, discordWebhookUrl, teamsWebhookUrlPinging doesn't need a key: jobs call their check's pingUrl directly, with /start, /fail or an exit code like /1 on the end. Each check's card has ready-made setup snippets.