List monitored ports and query port events across all verticals.
GET /api/v1/ports
List all monitored ports with slug, name, country, and region.
Response
Example
curl -X GET \
https://axiomoverwatch.io/api/v1/ports
Port events
Port events represent arrivals, departures, berth assignments, and other vessel activity recorded at monitored ports. Each port event carries the full APRS envelope plus these domain-specific fields:
| Field | Type | Description |
|---|
mmsi | text | 9-digit Maritime Mobile Service Identity of the vessel. Use this to join port events to vessel records or cross-reference identity changes. |
h3_index | text | H3 cell at resolution 8 for the event location. |
record_id | text | Stable APRS URN for deduplication and audit trails. |
You can query port events through the codex_compliance_summary view to verify envelope coverage, or join them directly to vessel data using mmsi:
-- Port events for a vessel, joined to the vessel registry
select pe.*, v.name, v.flag, v.vessel_type
from port_events pe
join vessels v on v.mmsi = pe.mmsi
where pe.mmsi = '211331640'
order by pe.occurred_at desc;
The mmsi column is indexed with a partial index on non-null values, so vessel-scoped queries against port_events are efficient even on large datasets.
GET /api/v1/health
System health check. Returns position counts and ingestion status.
Response
{ "status", "positions", "vessels", "positions_last_hour" }
Example
curl -X GET \
https://axiomoverwatch.io/api/v1/health