Developer Portal
Insights
PurpleTRACMTIPodium
Other
Other
  • Weather
Insights
PurpleTRACMTIPodium
Other
Other
  • Weather
  1. Voyage Insights
  • Start Here
    • API Overview
    • Getting Started
    • Authentication
    • Quick Start
    • Testing & Sandbox
  • Concepts & Terminology
    • Concepts & Terminology
    • Notifications & Webhooks
    • Errors & Status Codes
    • Pagination & Filtering
    • Versioning & Deprecation
    • Changelog
  • Reference Data
    • Vessel Types
    • Vessel Classes
    • Vessel Statuses
    • Zone & Port Types
  • Build & Operate
    • AI Assistants & Agents
    • FAQ
    • SDKs & Code Generation
  • Vessel & Voyage
    • Overview
    • Vessel Insights
      • Overview
      • Vessel Search
      • Vessel Characteristics
    • Voyage Insights
      • Overview
      • Worked Examples
      • Vessel Port Calls
        GET
      • Vessel Zone & Port Events
        GET
      • Vessel AIS Reporting Gaps
        GET
      • Vessel STS Pairings
        GET
      • Positional Discrepancies
        GET
      • Port State Control
        GET
    • Vessel Positions
      • Vessel Positions
      • Historical Vessel Track
      • Latest Vessel Positions
    • Vessel Notifications
      • Worked Examples
      • Get Vessel Notification Subscriptions
      • Create Vessel Notification Subscription
      • Get Vessel Notification Subscription
      • Edit Vessel Notification Subscription
      • Get Vessel Notifications by Subscription ID
      • Get All Vessel Notifications
      • Delete Vessel Notification Subscription
  • Port & Trade
    • Overview
    • Choosing Port Endpoints
    • Port Insights
      • Port Insights
      • Berth Calls by Port
      • Inbound Vessels
    • Port Analytics
      • Port Analytics
      • Port Analytics: Worked Examples
      • Berth KPIs
      • Berth Details
      • Port Arrival & Departure Analytics
  • Domain & Fleet
    • Overview
    • Choosing Zone Endpoints
    • Zone Insights
      • Overview
    • Zone Analytics
      • Zone Analytics
      • Zone Analytics: Worked Examples
      • Zone Entry & Exit Analytics
    • Fleet Management
      • Fleet Management
      • Fleet Management: Worked Examples
      • List Fleets
      • Create Fleet
      • Get Fleet Details
      • Delete Fleet
      • Update Fleet
      • List Fleet Vessels
      • Get Fleet Composition
      • List Fleet Events
    • Custom Zones
      • Custom Zones
      • Create Custom Zone
      • Edit Custom Zone
  • Zones & Ports
    • Overview
    • Zone & Port Insights
      • Zone & Port Search
      • Get Single Zone or Port
      • Zone & Port Traffic
      • Vessels in Zone or Port
    • Zone & Port Notifications
      • Zone & Port Notifications
      • Zone & Port Notifications: Worked Examples
      • Create Zone & Port Notification Subscription
      • Get Zone & Port Notification Subscriptions
      • Edit Zone & Port Notification Subscription
      • Delete Zone & Port Notification Subscription
      • Get Zone & Port Notification Subscription
      • Search Zone & Port Notifications
      • Get Zone & Port Notifications by Subscription ID
      • Get All Zone & Port Notifications
  • Schemas
    • VesselTankerCharacteristicsResponse
    • ImoBatchSearchResponse
    • ReportedDestination
    • AisFieldDeltaNavigationalStatus
    • AisFieldDeltaErrorResponse
    • BerthDetailsDto
    • BerthListQuery
    • BerthPortInfoDto
    • BerthSummaryDto
    • DwellTimeDataPointDto
    • OccupancyDto
    • PortAnalyticsItem
    • PortAnalyticsQuery
    • PortAnalyticsResponse
    • PortAnalyticsTotals
    • TopVisitorDto
    • VesselTypeMixDto
    • ZoneAnalyticsItem
    • ZoneAnalyticsQuery
    • ZoneAnalyticsResponse
    • ZoneDetail
    • PortDetail
    • PositionReport
    • PositionalDiscrepancyEvent
    • AisSpoofingErrorResponse
    • AisSpoofingVesselInformation
    • VesselPortsFilter
    • ZoneDetails
    • PortDetails
    • CustomZoneDetails
    • CircleDetails
    • PortEventDetails
    • PortCallEventDetails
    • BerthInformationPortCall
    • PortVessel
    • PortListResponse
    • ZoneDefinitionResponse
    • CustomZoneResponse
    • ArrivalsDeparturesResponse
    • VesselsInZonePortResponse
    • BerthEventsResponse
    • VoyagePortCallsResponse
    • VoyageZonePortEventsResponse
    • CustomZoneRequest
    • CustomCircle
    • ZoneServiceErrorResponse
    • ZoneServiceVesselInformation
    • VesselIdentifier
    • LatestVesselFilter
    • CircleZone
    • PolygonZone
    • GeographicFilter
    • HistoricalPositionSearchRequest
    • LatestPositionSearchRequest
    • VesselInfo
    • MatchedDestination
    • ConsolidatedPosition
    • CpsApiErrorResponse
    • CpsApiPaginationMeta
    • CpsApiNavigationalStatus
    • AnalyticsServiceErrorResponse
    • ResponseMeta
    • FlagDetail
    • CountryOfBuild
    • Ownership
    • VesselTankerCharacteristics
    • VesselCharacteristicsResponse
    • VesselSummary
    • VesselSearchResponse
    • ImoBatchSearchMeta
    • ImoBatchSearchSummary
    • ImoVesselSummary
    • ImoErrorEntry
    • ImoBatchSearchData
    • AssetInformationServiceErrorResponse
    • AssetInformationServiceDimensions
    • AssetInformationServiceVesselCharacteristics
    • EmailSettingsDTO
    • VesselFilterRequestDTO
    • ZonePortFilterRequestResponseDTO
    • SettingsResponseDto
    • SubscriptionResponseDTO
    • NotificationResponseDTO
    • EventNotificationServiceMetaData
    • BerthEventDetails
    • PscInspection
    • CustomPolygon
    • ZoneServiceMeta
    • HistoricalPositionsResponse
    • FleetListResponse
    • FleetListMeta
    • FleetSummary
    • FleetItem
    • VesselPosition
    • FleetVesselItem
    • FleetDetailMeta
    • FleetDetail
    • AnalyticsServiceVesselInformation
    • FailedVessel
    • CreateFleetV2Request
    • CreateFleetV2Response
    • UpdateFleetV2Request
    • FleetManagementApiMeta
    • FleetManagementApiErrorResponse
    • AssetInformationServiceCountryOfBuild
    • BerthDetailMetaDto
    • FleetEventNavigationalStatus
    • LegacyStsPairingsResponse
    • VesselZonesFilter
    • EventNotificationServiceErrorResponse
    • VesselAisReportingGapsFilter
    • GapReportingErrorResponse
    • VesselStsPairingsFilter
    • VoyageVesselInformation
    • StsPairingsResponse
    • VesselPositionalDiscrepanciesFilter
    • VesselDraughtChangeFilter
    • PscInspectionServiceErrorResponse
    • ReportingStatus
    • VesselAisDestinationChangeFilter
    • DaysNotReportingRange
    • VesselAisEtaChangeFilter
    • AnalyticsServiceMeta
    • VesselMmsiChangeFilter
    • FleetInformation
    • VesselNavigationalStatusChangeFilter
    • FleetCompositionResponse
    • CompositionData
    • VesselInboundBaseResponse
    • Summary
    • TypeAndClass
    • RegistrationAndFlag
    • AnalyticsServiceCountryOfBuild
    • BuildAndOrigin
    • SizeAndDimensions
    • CategoryItem
    • ChartSection
    • RankedSection
    • BerthDetailQueryDto
    • SizeSection
    • DimensionsSection
    • AisGapStartedPosition
    • AisGapEndedPosition
    • ZoneCentroid
    • GapReportingMetaData
    • ZoneInformation
    • StsPairingServiceMeta
    • PscPortInformation
    • AisSpoofingMeta
    • FleetEventsResponse
    • PscInspectionServiceMetaData
    • FleetEventsData
    • ZoneServicePaginationMeta
    • EventVesselInformation
    • VesselInbound
    • ZoneEventDetails
    • ZoneEventResponse
    • Schedule
    • AisGapEventResponse
    • StsPairingEventResponse
    • StsPairedVessel
    • PositionalDiscrepancyEventResponse
    • Centroid
    • DiscrepancyPositionStart
    • DiscrepancyPositionEnd
    • PscEventResponse
    • BerthDetailResponseDto
    • GapEventsResponse
    • StsPairingsData
    • PscInspectionsResponse
    • Point
    • GapEventData
    • StsPairingEvent
    • PscInspectionData
    • LatestPosition
    • VesselScreening
    • GapEvent
    • Location
    • BerthKpiDto
    • FlagCodesDTO
    • PortInformation
    • BerthListMeta
    • GapPosition
    • StsPairingServiceVesselInformation
    • AnalyticsServiceNavigationalStatus
    • AisFieldDeltaVesselInformation
    • VesselStatus
    • GapReportingNavigationalStatus
    • StsPairingServiceErrorResponse
    • PscInspectionServiceVesselInformation
    • AisFieldDeltaMetaData
    • BerthListResponseDto
    • GapReportingVesselInformation
    • VesselSettingsRequestDto
    • LegacyMeta
    • PolygonDetails
    • PositionalDiscrepancyData
    • ZonePortSettingsRequestDto
    • FleetVesselListResponse
    • VesselFlag
    • LegacyStsPairingsData
    • PositionalDiscrepancyResponse
    • VesselSubscriptionRequestDTO
    • LegacyStsPairing
    • BerthTerminalGroupDto
    • ZoneServiceNavigationalStatus
    • ZonePortSubscriptionRequestDTO
    • LegacyPairedVessel
    • UpdateFleetV2Response
    • StsPairingServiceVesselCharacteristics
    • MaritimeAnalyticsBeErrorResponse
    • FleetSummaryV2
    • FleetDetailResponse
    • GapDto
    • StsPairingServiceDimensions
    • VesselIdentifiers
    • RejectedVessels
    • BerthInformation
    • VesselPositionsGroup
    • SubscriptionSingleResponseDTO
    • VesselResultsSummary
    • LatestVesselPositionItem
    • OccupancyPaginationDto
    • SubscriptionsResponseDTO
    • SubscriptionIdsRequestDTO
    • VesselEntryDetails
    • PortAnalyticsDataEntry
    • LatestPositionDetails
    • LatestPositionsResponse
    • FleetSummaryV2Update
    • PortAnalyticsMeta
    • VesselResultsDetail
    • ZonePortVessel
    • BerthEvent
    • VoyagePortCall
    • VoyagePortZoneEvent
    • PortDwellSeriesEntryDto
    • PortInfoDto
    • TopVesselDto
    • VesselVisitDto
    • ZoneAnalyticsDataEntry
    • ZoneAnalyticsMeta
    • ZoneAnalyticsTotals
    • ZoneInfoDto
  1. Voyage Insights

Worked Examples

Six questions a compliance or operations team asks, each answered with one call. Every example uses a real vessel and a window known to contain the events it illustrates.
The windows are historical on purpose. Reuse the shape, not the dates.

A port call timeline#

Question: where did this vessel call during December 2024?
Use zone and port events instead of port calls when you want arrivals and departures without the berth detail cluttering the timeline.
sub_type=Port is doing real work here. Without it you also get arrivals and departures for anchorage areas, which are port-type zones but not port calls. The types=Ports filter is redundant once you have asked for PORT_ARRIVAL and PORT_DEPARTURE, since those event types only occur on ports.

Has it entered a war risk zone?#

Question: has this vessel entered a JWC War Zone in the last 90 days?
Two things to copy from this one. timestamp_end is omitted, so the window runs to the moment of the request. For a rolling "last 90 days" check, only the start date needs computing. Filtering by types instead of by zone ID also saves you enumerating the zones first, or maintaining that list as it changes. Zone & Port Types lists the type names this parameter accepts.

How often did it go dark?#

Question: how many AIS gaps of six hours or more did this vessel have in 2024?
Each event carries a stopped block and a resumed block, with position, course, speed, draught and navigational status at both ends:
{
  "event_id": "f3f776bf-9ea1-427e-b8c8-525978477192",
  "gap_duration_hours": 40.59,
  "draught_change": 0.0,
  "stopped": {
    "latitude": 43.943417,
    "longitude": 135.47728,
    "draught": 4.8,
    "navigational_status": { "status": "AT ANCHOR", "code": "2" },
    "timestamp": "2024-12-26T12:11:35Z"
  },
  "resumed": { "...": "same shape" }
}
A gap that is still open returns a null resumed block
If the vessel has not started transmitting again, every field inside resumed is null, including timestamp, while gap_duration_hours counts from stopped to now. Check for a null resumed.timestamp before treating a gap as finished, or an ongoing gap will look like a completed one of the same length.
draught_change is the field worth watching. A vessel that went dark and resumed at a materially different draught moved cargo while it was not transmitting.

Ship-to-ship cargo transfers#

Question: how many STS cargo transfers did this vessel take part in during 2024?
sts_duration_gte is in hours and filters on the pairing duration. Setting it to 1 removes the brief proximity events that are two vessels passing, not transferring. Raise it if you only care about transfers long enough to move a meaningful volume.

Signs of position spoofing#

Question: did this vessel report positions that do not add up in the second half of 2024?
With no event_types filter you get all four discrepancy patterns. Add the filter when you are looking for one in particular. A stationary transmitter reporting the same coordinates for days is a different problem from positions scattered outside a plausible track.
Remember that timestamp_end is exclusive on this endpoint and inclusive on the other five.

Inspection history#

Question: what port state control inspections and detentions does this vessel have on record for 2024?
The response carries the inspecting authority, the port, the inspection type and the detention duration where one applies. Inspection records arrive from the regional port state control regimes, so an inspection appears once the relevant authority has published it, not on the day it happened.

Putting them together#

A single-vessel risk picture is these six calls against the same IMO and the same window, merged on your side:
1
Resolve the identifier first
Everything here is IMO-keyed. Vessel Insights turns a name or MMSI into one.
2
Run the six event queries over one window
They are independent, so issue them in parallel. Use the same timestamp_start for all six so the results line up.
3
Merge on time, not on event ID
Event IDs are unique per family and are not comparable across them. A gap that starts where an STS pairing starts is the correlation that matters, and timestamps are what reveal it.
Subscribe instead of polling this
Running these six calls on a schedule to spot new events is the pattern Vessel Notifications exists to replace. One subscription covers all of these event types, for one vessel or a whole fleet, and delivers by webhook or email digest.
To look back across a whole fleet instead of one vessel, Fleet Management lists recent events for every member in one call.

Related#

Voyage Insights
The six endpoints, their filters and the parameters they share.
Vessel Notifications: Worked Examples
The same events, pushed to you instead of polled.
Errors & Status Codes
What a rejected window or a malformed IMO comes back as.
Modified at 2026-10-21 14:41:29
Previous
Overview
Next
Vessel Port Calls
Built with