Additional entities are the companies and people screened alongside a vessel: a financier, a charterer, a broker. You normally supply them when the vessel is first submitted for screening, as Screening Vessels describes.Counterparties change mid-voyage. Someone new joins the deal, or a party who mattered at fixture no longer does. You can list, add to and remove the additional entities on a tracked vessel while the track continues, so the transaction and its screening history stay intact.
This is an addon feature
The calls on this page need Additional Entity Ship Tracking enabled on your account. Without it every method returns 403. Your Pole Star representative can switch it on.
All three methods share one endpoint, a sub-resource of an existing transaction.
Method
Purpose
GET /transaction/{id}/additional_entity
List the additional entities currently tracked on a transaction
PUT /transaction/{id}/additional_entity
Add one or more additional entities to a tracked vessel
DELETE /transaction/{id}/additional_entity
Remove one or more additional entities from a tracked vessel
The {id} path parameter is the transaction id of the vessel, the same id used throughout the tracking workflow, and the transaction has to belong to the authenticated user.
This endpoint breaks the list convention
The GET method returns the entities directly in an additional_entities array. There is no meta and objects envelope here, and no filtering or ordering parameters.
Two conditions apply to PUT and DELETE.Tracking status. The transaction has to be tracking, meaning Ready to Track ("status": "R") or Approved ("status": "A"). Tracking a Vessel shows how to check. Any other status gets you a 400 with "Transaction must be in tracking or ready-to-track status."Entity cap. A transaction holds at most 10 active additional entities added during tracking. The cap counts the total, so adding 3 entities to a transaction that already holds 9 fails.The GET method has neither restriction and works at any transaction status.
Search for the entity by name first, with GET /additional_entity_search, and pass the resulting obj_id in your request. That screens the entity you meant and gives PurpleTRAC an identity to check duplicates against. Screening Vessels covers the search in detail.You can add an entity with no obj_id, in which case the name has to match exactly for watchlist hits to come back.
Only name is mandatory, up to 255 characters. relationship is freeform text up to 20 characters, shown next to the entity name in the screening report and in the GET /companysanction response. type restricts the entity to an organisation or a person, and omitting it considers both.
We reject the whole request, adding nothing, if any of these apply.
The additional_entities array is missing or empty.
The transaction is not tracking.
The request would take the transaction past 10 active entities added during tracking.
Two entities in the request share an obj_id and type combination. Entities with no obj_id are never treated as duplicates, since a freeform entry has no identity to compare.
An entity in the request matches the obj_id and type of one already active on the transaction.
These entities come straight back from the payload you sent, so none of them carries an id. Call the GET method afterwards for the record ids of what you just added.
Adding entities has two effects on the tracked vessel.An Additional Entity Added (ADDITIONAL_ENTITY_ADDED) notification is raised. Tracking Notifications has the full set.We also re-run the company watchlist check for the transaction. Hits on the new entities appear in the GET /companysanction response with "ship_relationship": "ADDITIONAL_ENTITY", and in screening reports generated from then on. Poll GET /notification for an Associated Company on Global Sanction List (COMPANY_SANCTION_ADDED) notification, raised when a new entity turns up on a watchlist.
Every id has to resolve to an entity currently active on this transaction. One unresolvable id rejects the whole request, so nothing is removed and there is no partial state to reconcile.
Removal is a soft delete. We keep the entity record against the transaction and it stays visible in screening reports generated while it was active, but it is excluded from all future screening and drops out of the GET response.An Additional Entity Removed (ADDITIONAL_ENTITY_REMOVED) notification is raised, and any outstanding Associated Company on Global Sanction List (COMPANY_SANCTION_ADDED) notifications standing against the removed entities are cleared. The slot is freed against the cap of 10, so a removed entity does not consume capacity for the rest of the track.
Validation failure on PUT or DELETE, or the transaction id could not be found for the authenticated user
401
Missing or wrong username and api_key pair. The body is empty
403
Additional Entity Ship Tracking is not enabled for your account
404
GET only. The transaction does not exist, or does not belong to the authenticated user
500
System failure
One condition, two status codes
A transaction that cannot be found returns 404 with a NOT_FOUND error code on GET, and 400 with a NOT_VALID code and a {"transaction": "can not find transaction"} entry in error_info.errors on PUT and DELETE. Handle both.