Developer Portal
InsightsPurpleTRAC
MTIPodium
Other
Other
  • Weather
InsightsPurpleTRAC
MTIPodium
Other
Other
  • Weather
  1. Start Here
  • Start Here
    • Overview
    • Getting started
    • Authentication
    • Testing
    • Errors & status codes
    • FAQ
  • General
    • Retrieve a list of vessels
      GET
    • Additional entity search
      GET
  • Screening
    • Screening a vessel
    • Watchlist checks
    • Additional checks
    • Movement history
    • Carbon rating
    • Submit a vessel for screening
      POST
    • Retrieve a list of transactions and their screening results
      GET
    • Ship & Flag Watchlist check
      GET
    • Company Watchlist check
      GET
    • Country Sanctions check
      GET
    • Ship movement history
      GET
    • Ship-to-Ship (STS) pairing screening
      GET
    • Company history check
      GET
    • P&I Club check
      GET
    • Vessel operational status
      GET
    • Flag history check
      GET
    • AIS positional discrepancy (spoofing) events
      GET
    • Periods of Non-Reporting
      GET
    • Carbon rating details
      GET
    • Get the PurpleTRAC Screening Report PDF
      GET
    • Submit a vessel for rescreening
      PUT
    • Archive a Screening
      PUT
  • Tracking
    • Voyage updates
    • Notification catalogue
    • Additional entities
    • Tracking a vessel
    • Enable a vessel for tracking
    • Remove additional entities from a tracked vessel
    • Add additional entities to a tracked vessel
    • List the additional entities on a transaction
    • Update voyage and tracking details
    • Get vessel positional data
    • Retrieve a list of vessel or bill of lading notifications
    • Get the PurpleTRAC Trade Report PDF
  • Bill of Lading
    • Carriers
    • Verification
    • Submit a Bill of Lading for screening
    • Get all BL Screening Results
    • Get a single BL screening result
    • Get the PurpleTRAC Bill of Lading Screening Report PDF
    • Enable tracking for a screened Bill of Lading
    • Get the PurpleTRAC Bill of Lading Tracking Report PDF
    • Disable tracking for a Bill of Lading
  • Containers
    • Screening
    • Carriers
    • Submit a Container for screening
    • Get all Container Screening Results
    • Archive Container
    • Get a single Container screening result
    • Get the Container report
  • Schemas
    • BLVGetAllResultsResponse
    • BLVScreeningResponse
    • BLVLastScreeningResult
    • BLVScreeningResultDetails
    • ContainerRegistrationBody
    • ContainerRegistrationResponse
    • ContainerGetAllResultsResponse
    • ContainerScreeningResponse
    • CarbonRatings
    • CarbonRating
    • CompanySanctions
    • CompanySanction
    • CountryChecks
    • CountryCheck
    • StsPairings
    • StsPairing
    • OtherAssociations
    • OtherAssociation
    • CompanyHistoryChecks
    • CompanyHistoryCheck
    • ShipStatuses
    • ShipStatus
    • FlagHistoryChecks
    • FlagHistoryCheck
    • PositionalDiscrepancies
    • PositionalDiscrepancy
    • DiscrepancyZone
    • DiscrepancyPort
    • NonReportingResponse
    • NonReporting
    • Notifications
    • Notification
    • BLVNotification
    • BLVPortFull
    • BLVPortFallback
    • PortCallHistory
    • PortCallHistoryItem
    • Positions
    • Position
    • PositionInfo
    • RegistrationResponse
    • ShipDetails
    • ShipSanctions
    • ShipSanction
    • VesselTrackingResponse
    • VesselTransactionsResponse
    • Transaction
    • TransactionPutBody
    • TransactionPutResponse
    • TransactionRescreenResponse
    • LastPosition
    • ScreeningNotification
    • ScreeningResult
    • UserDetails
    • UserProfile
    • Error
    • InvalidContainerNumberResponse
    • VesselRegistrationBody
    • VesselTrackingRequest
    • BLRegistrationBody
    • AdditionalEntitySearchResponse
    • AdditionalEntity
    • AdditionalEntitiesRequestSchema
    • TrackingAdditionalEntity
    • TrackingAdditionalEntitiesResponse
    • TrackingAdditionalEntityInput
    • TrackingAdditionalEntitiesPutBody
    • TrackingAdditionalEntitiesPutResponse
    • TrackingAdditionalEntitiesDeleteBody
    • RemovedAdditionalEntity
    • TrackingAdditionalEntitiesDeleteResponse
    • TrackingAdditionalEntityError
    • FeatureDisabledError
    • ObjectNotFoundError
    • TransactionValidationError
    • VoyageUpdateRequest
    • VoyageUpdateResponse
    • PTracMeta
    • PTracVessel
    • PTracVesselSearchResponse
    • DuplicateTransactionError
  1. Start Here

Testing PurpleTRAC

Two ways to exercise these endpoints from this documentation: against a mock server, or against production with your own credentials.
There is no separate customer test environment. Calls with real credentials go to production, so build against the mock until you are confident in what you are sending.

Mock server#

Every endpoint has a mock available from its reference page, and it needs no credentials. Responses are generated from the spec, so they carry the right fields, types and structure without touching production.
Use it to:
Check a response shape before you write a parser
Build and demo a client while onboarding is still in progress
Reproduce an integration bug without creating real transactions
Develop against addons your account does not have enabled
Mock data is shaped like real data, not drawn from it
A mock returns a plausible vessel with plausible screening results. The schema generates it. Use it to validate structure and integration logic, never to judge a specific vessel or the quality of a check.

Try it, with your own credentials#

Endpoint pages have a Try it button that sends a real request from your browser.
1
Have both values ready
PurpleTRAC needs a username and an api_key, issued by your Pole Star representative. See Authentication.
2
Enter them on the endpoint page
Both are query parameters, so they appear as fields on the request. Enter them on each endpoint you try.
3
Send the request
The call goes to production under your own credentials, with your own account configuration.
Reads first
Try it sends genuine requests. A GET is harmless. POST /registration creates a real transaction and PUT /transaction/{id}/track starts real tracking, both of which consume screening volume. Use the mock for anything that writes until you mean it.

Choosing between them#

MockTry it
Needs credentialsNoYes
DataGenerated from the specReal
Hits productionNoYes
Creates transactionsNoYes
Good forShape, structure, integration logicConfirming real behaviour and what your account reaches
Not good forJudging a check resultExploratory calls that write
Work through the mock first, then confirm against production with a read.

Using a REST client#

If you would rather work outside this documentation, export the endpoints to your own client. Each endpoint page offers generated code in several languages, and the reference can be exported as a collection you import into Postman, Insomnia or similar.
Once imported, store your credentials as collection variables rather than repeating them on every request. username and api_key are needed on every call, so two variables cover the whole collection.
1
Import the collection
Use your client's import option and point it at the exported file.
2
Set the variables
Open the collection settings and fill in username and api_key. Every request in the collection then carries them.
3
Point at the right server
Production is https://api.polestar-production.com/purpletrac/v1. Only production exists at this host. Confirm the collection points to https://api.polestar-production.com/purpletrac/v1 before you read anything into a response.

Before you go live#

1
Confirm which addons you have
Carbon Rating, BL Verification and Container Screening are enabled per account. Call one endpoint from each and check you do not get a 403.
2
Handle the error shapes you have not seen
PurpleTRAC returns several, and some are not JSON. Branch on the status code first. See Errors & Status Codes.
3
Store every transaction id
Almost every follow-up call needs one, and rescreening keeps the original. Losing an id means starting a vessel again.
4
Decide your tracking lifecycle
Tracking runs until you stop it or until the configured conditions end it. Work out which vessels should stop, and when, before you enable it in volume.

Getting help#

Talk to our team. Include the endpoint, the transaction id and the full response body, since PurpleTRAC error bodies vary and the body is often the only detail available.
Modified at 2026-10-01 09:35:22
Previous
Authentication
Next
Errors & status codes
Built with