API Documentation

Sending Alerts via Webhook

The simplest way to send alerts. Create an integration key in your team settings to get a webhook URL.

POST https://canterforge.com/cronsafe/api/webhook/YOUR_TOKEN
Content-Type: application/json

{
  "title": "Database connection pool exhausted",
  "body": "Pool reached 100% capacity on db-primary",
  "severity": "critical",
  "dedup_key": "db-pool-exhausted"
}

severity: critical, warning, info (default: warning)
dedup_key: Optional. Same key = grouped into one alert.

CronSafe Integration

Set source type to "cronsafe" when creating an integration. Then configure CronSafe to send webhook notifications to the Rollcall URL. Rollcall auto-detects CronSafe event format and maps it to alerts.

monitor.overdue → Critical alert
monitor.fail → Critical alert
monitor.recovery → Auto-resolves the alert

StatusPulse Integration

Set source type to "statuspulse". Component status changes trigger alerts. When a component returns to "operational", the alert auto-resolves.

API Authentication

For the management API (teams, alerts, members), authenticate with a Bearer token:

Authorization: Bearer rc_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Management API

GET /api/teams — List your teams
POST /api/teams — Create team
GET /api/alerts/:teamId — List alerts (filter: ?status=triggered)
POST /api/alerts/:teamId/:id/ack — Acknowledge
POST /api/alerts/:teamId/:id/resolve — Resolve