{"api":"v1","generated_at":"2026-09-15T19:07:06.819Z","licence":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/","attribution":"TOLL, with a link to the page cited"},"page":"https://tollindex.com/e/aisfleet-com-api-x402-v1-ais-vessels-mmsi-port-calls-5ba3ef","pinned_page":"https://tollindex.com/e/aisfleet-com-api-x402-v1-ais-vessels-mmsi-port-calls-5ba3ef/at/2026-09-15T16-57Z","pinned":false,"method":"https://tollindex.com/ledger/method","snapshot_at":"2026-09-15T16:57:44.360Z","snapshot_stamp":"2026-09-15T16-57Z","endpoint":{"slug":"aisfleet-com-api-x402-v1-ais-vessels-mmsi-port-calls-5ba3ef","canonical_url":"https://aisfleet.com/api/x402/v1/ais/vessels/:mmsi/port-calls","resource":"https://aisfleet.com/api/x402/v1/ais/vessels/:mmsi/port-calls","http_method":"GET","type":"http","x402_version":2,"registries":["cdp"],"primary_registry":"cdp","curated_by_coinbase":false,"description":"Get the UN/LOCODE port calls of the last 30 days for a 9-digit MMSI as JSON: arrivals, departures, estimated flags, and the port the vessel is in now. Boundaries not directly observed are flagged estimated, and the response names when capture coverage began.","service_name":"AIS Fleet","declared_category":null,"declared_tags":["ais","vessel","port","port-calls","maritime"],"route_template":"/api/x402/v1/ais/vessels/:mmsi/port-calls","registry_updated":"2026-08-31T07:03:30.654Z"},"derived":{"note":"fields no registry supplies; TOLL derives them and marks them derived on the page","title":"vessels port calls","category":"other","first_observed_by_toll":"2026-09-10T19:08:24.178Z","last_observed_by_toll":"2026-09-15T16:57:44.360Z","observation_began":"2026-09-10"},"presence":{"listed_now":true,"first_absent_at":null,"delisting_confirmed_at":null,"events":[{"registry":"cdp","at":"2026-09-10T19:08:24.178Z","event":"listed"}]},"accepts":[{"registry":"cdp","ordinal":0,"network":"eip155:8453","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USD Coin","symbol":"USDC","decimals":6,"amount_display":"0.02 USDC","amount_units":0.02,"decimals_known":true,"pay_to":"0xa4b5056e8260d49213e64c081b504c8535c14bc4","scheme":"exact"}],"counters":{"observed_at":"2026-09-15T16:57:44.360Z","calls_30d":1,"unique_payers_30d":1,"last_called_at":"2026-08-31T07:03:30.077Z"},"validation":{"latest":{"observed_at":"2026-09-15T04:51:26.654Z","state":"fail","failed_checks":["returns_402"],"endpoint_http_status":404,"run_id":"daily-2026-09-15"},"uptime":[{"days":7,"observed":5,"passed":0,"ratio":0},{"days":30,"observed":5,"passed":0,"ratio":0},{"days":90,"observed":5,"passed":0,"ratio":0}],"history_90d":[{"observed_at":"2026-09-15T04:51:26.654Z","state":"fail","failed_checks":["returns_402"],"run_id":"daily-2026-09-15","state_changed":false},{"observed_at":"2026-09-14T04:46:46.158Z","state":"fail","failed_checks":["returns_402"],"run_id":"daily-2026-09-14","state_changed":false},{"observed_at":"2026-09-13T04:44:14.979Z","state":"fail","failed_checks":["returns_402"],"run_id":"daily-2026-09-13","state_changed":false},{"observed_at":"2026-09-12T07:01:17.014Z","state":"fail","failed_checks":["returns_402"],"run_id":"daily-2026-09-12","state_changed":false},{"observed_at":"2026-09-11T10:38:44.214Z","state":"fail","failed_checks":["returns_402"],"run_id":"daily-2026-09-11","state_changed":true}]},"seller":{"wallet":"0xa4b5056e8260d49213e64c081b504c8535c14bc4","page":"https://tollindex.com/seller/0xa4b5056e8260d49213e64c081b504c8535c14bc4","endpoints":5,"hosts":1},"reports":0,"registry_record":{"cdp":[{"tags":["ais","vessel","port","port-calls","maritime"],"type":"http","accepts":[{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"payTo":"0xa4b5056e8260d49213e64c081b504c8535c14bc4","amount":"20000","scheme":"exact","network":"eip155:8453","maxTimeoutSeconds":300}],"quality":{"lastCalledAt":"2026-08-31T07:03:30.077Z","l30DaysTotalCalls":1,"l30DaysUniquePayers":1},"resource":"https://aisfleet.com/api/x402/v1/ais/vessels/:mmsi/port-calls","extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","pathParams":{"mmsi":"259026050"}},"output":{"type":"json","example":{"mmsi":"123456789","calls":[{"locode":"NLRTM","country":"NL","port_name":"Rotterdam","arrived_at":"2026-08-25T09:12:00Z","departed_at":null,"duration_seconds":null,"arrival_estimated":false,"departure_estimated":false}],"provider":"AIS Fleet","truncated":false,"call_count":1,"window_end":"2026-08-25T09:12:00Z","license_url":"https://aisfleet.com/agent-data-license/","window_days":30,"current_port":{"locode":"NLRTM","country":"NL","port_name":"Rotterdam","arrived_at":"2026-08-25T09:12:00Z","arrival_estimated":false},"window_start":"2026-07-26T09:12:00Z","coverage_start":"2026-08-23T00:00:00Z"}}},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input","output"],"properties":{"input":{"type":"object","required":["type","method","pathParams"],"properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","const":"GET"},"pathParams":{"type":"object","required":["mmsi"],"properties":{"mmsi":{"type":"string","pattern":"^[0-9]{9}$"}},"additionalProperties":false}},"additionalProperties":false},"output":{"type":"object","required":["type","example"],"properties":{"type":{"type":"string","const":"json"},"example":{"type":"object","required":["provider","mmsi","window_days","window_start","window_end","coverage_start","current_port","calls","call_count","truncated","license_url"],"properties":{"mmsi":{"type":"string","pattern":"^[0-9]{9}$"},"calls":{"type":"array","items":{"type":"object","required":["locode","port_name","country","arrived_at","departed_at","arrival_estimated","departure_estimated","duration_seconds"],"properties":{"locode":{"type":"string"},"country":{"type":"string"},"port_name":{"type":"string"},"arrived_at":{"type":"string","format":"date-time"},"departed_at":{"type":["string","null"],"format":"date-time"},"duration_seconds":{"type":["integer","null"]},"arrival_estimated":{"type":"boolean"},"departure_estimated":{"type":"boolean"}},"additionalProperties":false}},"provider":{"type":"string","const":"AIS Fleet"},"truncated":{"type":"boolean"},"call_count":{"type":"integer","minimum":1},"window_end":{"type":"string","format":"date-time"},"license_url":{"type":"string","format":"uri"},"window_days":{"type":"integer","const":30},"current_port":{"type":["object","null"],"required":["locode","port_name","country","arrived_at","arrival_estimated"],"properties":{"locode":{"type":"string"},"country":{"type":"string"},"port_name":{"type":"string"},"arrived_at":{"type":"string","format":"date-time"},"arrival_estimated":{"type":"boolean"}},"additionalProperties":false},"window_start":{"type":"string","format":"date-time"},"coverage_start":{"type":["string","null"],"format":"date-time"}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false},"routeTemplate":"/api/x402/v1/ais/vessels/:mmsi/port-calls"}},"description":"Get the UN/LOCODE port calls of the last 30 days for a 9-digit MMSI as JSON: arrivals, departures, estimated flags, and the port the vessel is in now. Boundaries not directly observed are flagged estimated, and the response names when capture coverage began.","lastUpdated":"2026-08-31T07:03:30.654Z","serviceName":"AIS Fleet","x402Version":2}]}}