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

PurpleTRAC Authentication

PurpleTRAC takes two credentials on every request: a username and an API key. Both go in the query string. There is no token exchange, nothing expires on a timer, and there is no sign-in endpoint.
This is an older scheme than the api-key header used by Insights. It is still how PurpleTRAC works in production, and we are migrating everything to API keys.

Sending your credentials#

Add username and api_key to the query string on every call, alongside whatever other parameters the endpoint takes.
All requests must be made over HTTPS. Requests over HTTP are not processed.
Keep credentials out of your source
Read both values from environment variables or a secrets manager. Because they travel in the query string, they also reach anything that logs full request URLs, so check what your HTTP client, proxy and observability stack retain.

Getting credentials#

Credentials are issued by your Pole Star representative as part of onboarding. There is no self-service portal and no way to generate a second pair yourself. If you have not received yours, or you need them rotated, contact your representative.

Checking they work#

The vessel search endpoint is the cheapest call to verify a credential pair against. It needs nothing but your credentials.
A 200 with a JSON body means the pair is good.

What the API key does not control#

Your credentials authenticate you. What they reach is set separately, by the account configuration agreed at onboarding: which addons are enabled, which watchlists are selected, and the thresholds on individual checks.
That distinction matters when reading errors. A 403 from PurpleTRAC means the endpoint needs a feature your account does not have, not that your credentials are wrong. Wrong credentials give you a 401.
SymptomLikely causeFix
401 Unauthorizedusername or api_key missing, mistyped, or not yet activeCheck both values. Contact your representative if they were issued recently
403 ForbiddenThe endpoint belongs to an addon that is not enabled for your account. On PUT /transaction/{id}/voyage_update it means the transaction belongs to another accountAsk your representative whether Carbon Rating, BL Verification or Container Screening is on your contract
404 Not FoundThe transaction or resource does not existCheck the id. Ids are scoped to the account that created them
Errors & Status Codes covers the response shapes in full.

How this compares with the rest of the portfolio#

ProductSchemeStatus
Insights, all categoriesapi-key headerCurrent
PurpleTRACusername and api_key query parametersLegacy, still in production
WeatherOAuth 2.0 Token (1 hour)Legacy
PodiumOAuth 2.0 Token (1 hour)Legacy
MTIOAuth 2.0 client credentials (Keycloak)Current
An Insights key will not work here, and a PurpleTRAC pair will not work against Insights. If you integrate with both, you hold two sets of credentials.
Modified at 2026-10-02 08:41:31
Previous
Getting started
Next
Testing
Built with