GET /api/v1/alerts
Requires API key.
| Name | Type | Required | Description |
|---|---|---|---|
severity | string | ’critical’, ‘warning’, or ‘info’ | |
type | string | ’sanctions_match’, ‘river_level’, ‘dark_fleet’ | |
unacknowledged | string | ’true’ to only show unread alerts |
GET /api/v1/alerts/unified
Requires API key.
| Name | Type | Required | Description |
|---|---|---|---|
product | string | ’all’ (default), ‘overwatch’, or ‘locus’ | |
severity | string | ’critical’, ‘warning’, or ‘info’ | |
watchlist | string | ’true’ to only include watched vessels | |
portfolio | string | Locus portfolio id filter | |
state | string | ’all’ (default), ‘open’, ‘read’, ‘resolved’, ‘snoozed’ | |
cursor | string | ISO cursor for pagination | |
limit | number | Default 25, max 100 |
POST /api/v1/alerts/unified/state
Requires API key.
| Name | Type | Required | Description |
|---|---|---|---|
alert_id | string | ✓ | Alert id in source:id format (e.g. dark_event:123) |
action | string | ✓ | ‘read’ | ‘resolve’ | ‘snooze’ | ‘open’ |
snooze_until | string | ISO timestamp (optional for snooze; defaults to +24h) |