Skip to main content
Platform alerts for sanctions matches, river level warnings, dark fleet events.

GET /api/v1/alerts

Requires API key.
Get active platform alerts. Filter by severity or type. Parameters
NameTypeRequiredDescription
severitystring’critical’, ‘warning’, or ‘info’
typestring’sanctions_match’, ‘river_level’, ‘dark_fleet’
unacknowledgedstring’true’ to only show unread alerts
Response
{ "alerts": [...], "count", "unacknowledged" }
Example
curl -X GET -H "X-API-Key: YOUR_KEY" \
  https://axiomoverwatch.io/api/v1/alerts?severity=VALUE&type=VALUE

GET /api/v1/alerts/unified

Requires API key.
Unified cross-product inbox combining maritime and Locus alerts in a single chronological feed. Parameters
NameTypeRequiredDescription
productstring’all’ (default), ‘overwatch’, or ‘locus’
severitystring’critical’, ‘warning’, or ‘info’
watchliststring’true’ to only include watched vessels
portfoliostringLocus portfolio id filter
statestring’all’ (default), ‘open’, ‘read’, ‘resolved’, ‘snoozed’
cursorstringISO cursor for pagination
limitnumberDefault 25, max 100
Response
{ "alerts": [...], "count", "pagination": { "has_more", "next_cursor" }, "filters": {...} }
Example
curl -X GET -H "X-API-Key: YOUR_KEY" \
  https://axiomoverwatch.io/api/v1/alerts/unified?product=VALUE&severity=VALUE

POST /api/v1/alerts/unified/state

Requires API key.
Set per-user state for a unified alert (read, resolve, snooze, reopen). Parameters
NameTypeRequiredDescription
alert_idstringAlert id in source:id format (e.g. dark_event:123)
actionstring‘read’ | ‘resolve’ | ‘snooze’ | ‘open’
snooze_untilstringISO timestamp (optional for snooze; defaults to +24h)
Response
{ "ok": true, "alert_id", "action", "state": { "read_at", "resolved_at", "snoozed_until" } }
Example
curl -X POST -H "X-API-Key: YOUR_KEY" \
  https://axiomoverwatch.io/api/v1/alerts/unified/state \
  -d '{"key":"value"}'