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
| Field | Type | Required | Description |
|---|---|---|---|
flight | UUID | Yes | Flight ID |
name | string | No | Auto-generated from flight name if blank |
description | string | No | Description |
status | string | No | ACTIVE, PAUSED (default ACTIVE) |
destination_ids | array of UUIDs | No | Alert 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 nametype-EMAILorWEBHOOKtarget- Email address or webhook URLis_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/..."}'