Developer Portal
Insights
PurpleTRACMTIPodium
Other
Other
  • Weather
Insights
PurpleTRACMTIPodium
Other
Other
  • Weather
  1. Build & Operate
  • 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
      • Vessel Zone & Port Events
      • Vessel AIS Reporting Gaps
      • Vessel STS Pairings
      • Positional Discrepancies
      • Port State Control
    • 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. Build & Operate

AI Assistants & Agents

Assistants and agents read this documentation alongside your developers, and we build for that. Every page is machine-readable, and the contracts behind them are meant to be used from the spec alone.

Four ways in#

MCP
A live connection from your editor to this documentation. The assistant reads real endpoints, schemas and examples instead of guessing at them.
llms.txt
A single index of the whole site, for assistants that want breadth instead of a live connection.
Copy page
Every page yields its clean Markdown source, ready to paste into a prompt.
OpenAPI
The contracts themselves, fetchable and machine-readable, for codegen and agent tooling.

Connecting an assistant over MCP#

This is the option worth setting up first. It works with Cursor, Claude Code, Cline, VS Code and anything else that speaks MCP.
1
Add the server to your MCP configuration
{
  "mcpServers": {
    "polestar-api": {
      "command": "npx",
      "args": ["-y", "apidog-mcp-server@latest", "--site-id=773590"]
    }
  }
}
Node 18 or newer is the only prerequisite.
2
Reload your editor
The server reads the published documentation. It needs no API key and has no access to your account or your data.
3
Ask for something concrete
"Using the Pole Star API, write a function that takes an IMO and returns the vessel's last ten port calls." The assistant reads the real endpoint, parameters and response shape instead of inventing them.
Reading the docs is not calling the API
The MCP server gives an assistant the specification, not access. Your key stays yours, and the assistant's generated code still has to authenticate like any other client.

What makes these APIs agent-usable#

The target is that an agent can use any endpoint from the contract alone, with no human prose in between.
PropertyWhy it matters to an agent
OpenAPI 3.1 contracts, generated from running codeThe spec describes what the service does today, not what someone wrote down once
One response envelope across InsightsA single parsing strategy works everywhere
One error shape across InsightsFailure handling is written once, not per endpoint
snake_case fields, ISO 8601 timestamps in UTCNo per-endpoint convention to infer
Versions in the path, additive change within a versionGenerated clients keep working between releases
Rich description, summary and example fields are part of that contract. Where they are thin, we log it as a defect.

Writing prompts that work#

Name the category. "Using Port & Trade" narrows the search before it starts.
Give a real identifier. An IMO or a port identifier gets you working code; a placeholder gets you a placeholder.
Say which shape you want back. Events and aggregates come from different endpoints, and an assistant cannot guess which you mean.
Ask it to cite the endpoint. If it cannot name the path it used, it may have invented one.
Give agents the rule for addressing an area
The zone and port reads under /zone-port-insights/v1/ take an {id_type}/{id} pair. A zone is always ID with its UUID; a port takes ID or UNLOCODE. Put that in the prompt, because a wrong guess returns an error instead of data. See Zones & Ports.

Related#

SDKs & Code Generation
Generating a typed client from the contract.
Quick Start
Key to working call to generated client.
Concepts & Terminology
The vocabulary an assistant will meet in responses.
Modified at 2026-10-02 08:04:32
Previous
Zone & Port Types
Next
FAQ
Built with