Skip to main content

Alerts & Destinations

Alerts notify you when your flights miss check-ins or experience issues. CrossCheck's flexible alerting system ensures the right people get notified at the right time, whether through email, webhooks to Slack/PagerDuty, or custom integrations. You can pause alerts during maintenance windows and configure multiple notification destinations for different teams or severity levels.

Alerts

GET /api/alerts/ — List alerts for current user's flights

POST /api/alerts/ — Create alert

Create/Update Body

FieldTypeRequiredDescription
flightUUIDYesFlight ID
namestringNoAuto-generated from flight name if blank
descriptionstringNoDescription
statusstringNoACTIVE, PAUSED (default ACTIVE)
destination_idsarray of UUIDsNoAlert destination IDs (email/webhook)

GET /api/alerts/{id}/ — Alert detail

PUT /api/alerts/{id}/ — Full update

PATCH /api/alerts/{id}/ — Partial update

DELETE /api/alerts/{id}/ — Delete alert

Pause and Resume

POST /api/alerts/{id}/pause/ — Pause alert

Body options:

  • { "duration": "1h" } - Pause for 1 hour
  • { "duration": "4h" } - Pause for 4 hours
  • { "until": "2026-01-31T18:00:00Z", "reason": "vacation" } - Pause until specific time

Response:

{
"status": "paused",
"paused_until": "2026-01-31T18:00:00Z",
"pause_reason": "vacation"
}

POST /api/alerts/{id}/resume/ — Resume alert immediately

Response:

{
"status": "active"
}

Alert Destinations

Alert destinations define where notifications are sent (email or webhook).

GET /api/alert-destinations/ — List destinations for current user

POST /api/alert-destinations/ — Create destination

Body:

  • name - Destination name
  • type - EMAIL or WEBHOOK
  • target - Email address or webhook URL
  • is_active - Optional, default true

GET /api/alert-destinations/{id}/ — Destination detail

PATCH /api/alert-destinations/{id}/ — Update

DELETE /api/alert-destinations/{id}/ — Delete

Examples

Create email destination:

curl -X POST https://crosscheck.app/api/alert-destinations/ \
-H "Authorization: Token <your-token>" \
-H "Content-Type: application/json" \
-d '{"name":"Team Email","type":"EMAIL","target":"team@example.com"}'

Create webhook destination:

curl -X POST https://crosscheck.app/api/alert-destinations/ \
-H "Authorization: Token <your-token>" \
-H "Content-Type: application/json" \
-d '{"name":"Slack Webhook","type":"WEBHOOK","target":"https://hooks.slack.com/..."}'