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

Getting Started with PurpleTRAC

PurpleTRAC screens vessels, bills of lading and containers, and then tracks whichever of them you choose to keep watching. This page covers the shape shared by all three workflows, so the worked examples make sense when you reach them.
Before you start, read the Terms & Conditions for PurpleTRAC API use, and make sure you have your credentials.

Find the vessel first#

Screening takes an identifier, so most integrations begin with a search. GET /sisship accepts filters on name and IMO number, and returns the vessels that match.

The transaction id#

Screening something for the first time creates a transaction id. Almost every call after that needs it: fetching results, enabling tracking, rescreening, downloading a report.
Submit a vessel with POST /registration:
{
    "added_via": "MANUAL",
    "carbon_rating": true,
    "client_reference": null,
    "registered_name": "9221126",
    "resource_uri": "/api/v1/registration/2840116",
    "transaction_id": 2840116
}
Store transaction_id. It is the handle for everything that follows.
Some checks need a second id rather than the transaction id. Those ids come back inside the screening results, and each worked example shows where to find the one it needs.

Screening a vessel#

Once the screening completes, the results are spread across endpoints so you fetch only what you need.
You wantCall
The high level result, and the ids the detailed checks needGET /transaction
Ship and flag watchlist checksGET /shipsanction
Company watchlist checksGET /companysanction
Country sanctions checksGET /countrycheck
Port calls, meaning ship movement historyGET /porthistory
Periods of non-reportingGET /non-reporting
Carbon ratingGET /carbonrating
The PDF screening reportGET /screening_report
Start at GET /transaction. Its response carries the object ids that the detailed check endpoints expect, so calling it first saves you guessing.
To refresh a vessel later, submit it for rescreening with PUT /transaction/{id}/rescreen rather than registering it again. Rescreening keeps the original transaction id, so your stored handle stays valid and the history stays in one place.
Archiving a screened vessel with PUT /transaction/{id} is optional. It keeps current work separate from finished work, which makes filtering by status easier later.

Tracking a vessel#

Tracking follows screening. A vessel has to be screened before it can be tracked, and you enable tracking with the transaction id from that screening.
1
Enable tracking
PUT /transaction/{id}/track. The transaction moves to Ready to Track, "status": "R".
2
Wait for approval
Once approved the status becomes "status": "A", and positions and notifications start being generated.
3
Read positions and events
GET /position for positional data, GET /notification for events. Both take the transaction id.
4
Collect the trade report
When tracking stops, by your instruction or by the configuration set when you enabled it, a trade report covering the voyage becomes available at GET /trade_report.
You can also add entities to a tracked vessel, and update voyage details, while tracking runs. Managing Additional Entities and Updating Voyage Details cover those.

Screening a bill of lading#

The same shape, with its own id. POST /blv returns a transaction id, GET /blv/{id} returns the results once screening completes, and GET /blv_report gives you the PDF.
Tracking works the same way too. PUT /blv/{id}/track enables it, and notifications come from GET /notification, the same endpoint as vessel notifications, using the bill of lading transaction id. Tracking stops automatically when the bill of lading reaches its destination, and GET /blv_tracking_report then returns the tracking report.
Check the carrier is supported
Bill of lading screening depends on the carrier. List of Bill of Lading Carriers has the current list.

Screening a container#

POST /containers returns a container_screen_id. Use it with GET /containers/{id} to read results once screening completes, and GET /containers/{id}/report for the PDF.
Check the carrier is supported
Container screening depends on the carrier. List of Container Carriers has the current list.

What your account configuration controls#

Pole Star configures your account at onboarding, and those settings change what your results say rather than which calls succeed.
Carbon Rating, BL Verification and Container Screening are addons, switched on per account
Compliance watchlist selection
Flag and company history lookback periods
Non-reporting gap threshold
Warning and critical severity bands on individual checks
Ship not tracking thresholds
Your Pole Star representative goes through these with you at account creation, and can amend them later. If an endpoint returns 403, the addon behind it is not enabled.

Worked examples#

Screening Vessels
Register a vessel and read its screening results end to end.
Watchlist Checks
Ship, company and country checks in detail.
Movement History
Port calls and where the two history sources differ.
Vessel Tracking
Enabling tracking, then reading positions and notifications.
Carbon Rating
Retrieving a vessel's carbon rating.
Additional Checks
STS pairing, positional discrepancy, flag and company history, P&I club and ship status.
Modified at 2026-10-02 12:23:57
Previous
Overview
Next
Authentication
Built with