Developer Portal
InsightsPurpleTRAC
MTIPodium
Other
Other
  • Weather
InsightsPurpleTRAC
MTIPodium
Other
Other
  • Weather
  1. Screening
  • Start Here
    • Overview
    • Getting started
    • Authentication
    • Testing
    • Errors & status codes
    • FAQ
  • General
    • Retrieve a list of vessels
    • Additional entity search
  • 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. Screening

Additional Screening Checks

A screening transaction carries more than the watchlist results covered in Detailed Watchlist Checks. Six further endpoints report how a vessel's flag and companies have changed, what operational status it is in, who came alongside it, which P&I club stands behind it, and where its AIS positions stop making sense.
They follow the pattern you already know. Screen the vessel, take an id from the transaction, ask for the detail.
Wait for the screening to finish
These endpoints return results only once screening_status has moved from "PENDING" to OK, WARNING or CRITICAL. Screening a Vessel covers the polling.

How to call them#

Five of the six take a screenresult parameter, the id read from the screen_results array of GET /transaction. Positional discrepancy is the exception and filters on transaction_id instead.
Every one of them returns the standard meta and objects envelope and accepts limit and offset for pagination.
EndpointFilters onFeature gate
GET /flaghistorycheckscreenresultNone
GET /companyhistorycheckscreenresultNone
GET /ship-statusscreenresultNone
GET /stspairingscreenresultSTS_PAIRING
GET /otherassociationsscreenresult, requiredPANDI_CLUB_SCREENING
GET /positionaldiscrepancytransaction_idPer event_type
A new response header on these endpoints
Every 200 response now also carries a Terms-and-Conditions-of-API-Use header pointing at the PurpleTRAC terms of service.

History checks#

Both history checks report change over the lookback period configured on your account, and both accept an optional most_recent flag. Set it to true to get only the latest records for the matched screen result, which is what you want after a rescreening.

Flag history#

GET /flaghistorycheck reports how the vessel's flag has changed, with a flag_changes_count and the calculated history_severity.

Company history#

GET /companyhistorycheck reports how the companies around the vessel have changed: registered owner, operator, ship manager, technical manager and group beneficial owner. Each record covers one association_role, with a company_changes_count and its own history_severity.

Ship status#

GET /ship-status reports the operational status of the vessel at the moment it was screened, "Broken Up" or "Laid Up" for example, along with the severity that status carries.
This response is shaped differently
ship-status returns id, status and severity only. It omits resource_uri, screenresult and creation_date, which most other endpoints on this page return. The path also uses a hyphen where the others use none.

Ship-to-ship pairing#

GET /stspairing returns the vessels that came alongside the screened vessel: where and when the pairing happened, how long it lasted, and any high-risk zones it matched.
STS pairing is gated on a feature flag
The endpoint needs STS_PAIRING enabled on your account. Without it you get 404 Not Found whatever data exists behind it. Ask your Pole Star representative if you expect pairings and see a 404.

P&I club#

GET /otherassociations returns the P&I club the vessel is associated with, the severity that carries, and any sanctions matched against the club itself. An unidentified club comes back as "Unknown".
There is no pandi_club path. The data is served from /otherassociations, which is built to carry other kinds of association later and currently returns P&I club records only.
Two conditions gate this data, and neither returns an error
The account needs PANDI_CLUB_SCREENING enabled, and the transaction has to have opted in with "pandi_club": true on the POST /registration call. Miss either and you get a normal 200 OK with an empty objects list, not the 404 that the STS pairing gate returns. screenresult is required here, and omitting it returns 400 Bad Request.

Positional discrepancy#

GET /positionaldiscrepancy returns AIS spoofing events detected on a transaction: two vessels reporting the same position, box-shaped or circular movement patterns, MMSI outliers. Each event names the zones and ports involved at its start and stop.
This one filters on transaction_id, an exact match, and takes order_by on start_timestamp or stop_timestamp, defaulting to -start_timestamp.
Detection is gated per event_type on the account, so an empty response can mean the pattern was not detected or that the detection for it is switched off. Confirm which with your Pole Star representative before reading anything into a quiet result.

Related#

Watchlist Checks
Ship, flag, company and country hits in detail.
Screening Vessels
Registering a vessel, and reading the screen_results ids these checks need.
Movement History
Port calls and periods of non-reporting.
Modified at 2026-10-01 09:42:21
Previous
Watchlist checks
Next
Movement history
Built with