Cargoplot API
API docs
OpenAPI spec

Glossary

Freight carries a lot of vocabulary, and an API that returns it without explanation is an API you have to already know the trade to read. This page is the legend: every code, abbreviation and status a response can contain, and what it means.

The reference is generated from the API's own definitions and is the authority on which fields exist. This page is the authority on what their values mean.

How to read a value

Enum values arrive as strings, in capitals, prefixed with the thing they describe: STATUS_ACTIVE, TRANSPORT_MODE_SEA, INCOTERM_FOB. The prefix is part of the value, so compare against the whole string.

Two rules save you a bug each:

  • *_UNSPECIFIED means "not reported", not "none" and not "zero". Treat it as unknown and fall back to whatever your own default is.
  • Any enum can gain a member. A new document type or tracking milestone is an ordinary, non-breaking change. Handle the value you do not recognize rather than assuming your switch is exhaustive. See versioning.

Nothing here is a code you have to send us. The API is read-only, so every value on this page is something you will receive.

Codes and formats

ThingFormatExample
Seaport (un_locode)UN/LOCODE: two-letter country, three-letter placeSGSIN is Singapore, NLRTM is Rotterdam
Airport (iata)IATA three-letter airport codeSIN, AMS
Container numberISO 6346: four letters, seven digits. The last digit is a check digitMSKU1234567
Vessel voyageThe carrier's own voyage number. No standard format001W
Flight numberAirline code plus the flight's numberKL0887
Shipment and inquiry referenceCargoplot reference, four characters, a hyphen, four moreC2AE-XEE1
Invoice referenceF, a sequence number, a hyphen, the shipment referenceF2401-C2AE-XEE1
Calendar dateISO 8601 date, no time and no zone"2026-09-05"
InstantRFC 3339, always UTC"2026-09-05T10:00:00Z"
MoneyAn amount in the currency's minor units, with an ISO 4217 code{"units": 125050, "currency": "EUR"} is €1,250.50

Dates and instants are different on purpose. etd, eta, discharge_date, due_date and issue_date are calendar dates: the day something is planned for, with no time attached. Event timestamps are instants, because a milestone happened at a moment. A value that is not known is absent from the response rather than present and empty.

Carrier milestone codes

You will meet four-letter milestone codes in carrier portals, terminal screens and EDI messages. This API never returns them. It translates them into readable names first. They are here so you can line the two up when you are reading our response beside someone else's screen.

Sea:

CodeWhat the API returns
EMSHSEA_TRACKING_EVENT_TYPE_EMPTY_TO_SHIPPER
GTINSEA_TRACKING_EVENT_TYPE_GATE_IN
LOADSEA_TRACKING_EVENT_TYPE_LOADED
DEPASEA_TRACKING_EVENT_TYPE_DEPARTED
ARRVSEA_TRACKING_EVENT_TYPE_ARRIVED
DISCSEA_TRACKING_EVENT_TYPE_DISCHARGED
GTOTSEA_TRACKING_EVENT_TYPE_GATE_OUT
EMRTSEA_TRACKING_EVENT_TYPE_EMPTY_RETURNED

Air:

CodeWhat the API returns
RCSAIR_TRACKING_EVENT_TYPE_RECEIVED_FROM_SHIPPER
MANAIR_TRACKING_EVENT_TYPE_MANIFESTED
DEPAIR_TRACKING_EVENT_TYPE_DEPARTED
ARRAIR_TRACKING_EVENT_TYPE_ARRIVED
RCFAIR_TRACKING_EVENT_TYPE_RECEIVED_FROM_FLIGHT
DLVAIR_TRACKING_EVENT_TYPE_DELIVERED

GTIN is the one worth calling out: in freight it is Gate In, the moment a loaded container enters the port terminal. It is unrelated to the GTIN barcode number used in retail.

Tracking milestones and statuses

Sea events

In the order a container passes through them.

SEA_TRACKING_EVENT_TYPE_*Meaning
EMPTY_TO_SHIPPERThe empty container was released to the shipper for loading
GATE_INThe loaded container entered the port terminal
LOADEDThe container was loaded onto the vessel
DEPARTEDThe vessel sailed from the port
ARRIVEDThe vessel arrived at the port
DISCHARGEDThe container was lifted off the vessel
GATE_OUTThe container left the port terminal for delivery
EMPTY_RETURNEDThe emptied container was handed back to the carrier
UNSPECIFIEDNo milestone reported

Container status

A container's status follows its latest actual event, so an expected event does not move it forward.

CONTAINER_TRACKING_STATUS_*Meaning
EMPTY_TO_SHIPPERReleased empty to the shipper, not yet back at the port
GATE_INAt the port of loading, waiting for its vessel
LOADEDOn board at the port of loading, not yet sailed
SAILINGAt sea
ARRIVEDThe vessel has arrived; the container is not yet discharged
DISCHARGEDLifted off the vessel, still inside the terminal
GATE_OUTOut of the terminal, on its way to the delivery address
EMPTY_RETURNEDEmptied and handed back to the carrier. The journey is over
UNSPECIFIEDNothing reported yet

Air events

In the order a consignment passes through them.

AIR_TRACKING_EVENT_TYPE_*Meaning
RECEIVED_FROM_SHIPPERCargo accepted from the shipper or their agent
MANIFESTEDBooked onto a specific flight
DEPARTEDDeparted an airport
ARRIVEDArrived at an airport
RECEIVED_FROM_FLIGHTTaken off the aircraft at destination
DELIVEREDDelivered to the consignee
UNSPECIFIEDNo milestone reported

Departure and arrival appear in both the sea and the air set. The two are separate vocabularies, so a switch over one is unaffected as the other grows.

Air status

air.status describes the consignment as a whole, and unlike a container's status it is stated rather than derived from the events.

AIR_TRACKING_STATUS_*Meaning
AWAITING_AIRLINE_DATANo airline movement data yet
BOOKEDReserved, not yet dispatched
IN_TRANSITOn its way to the destination
LANDEDArrived at the destination airport
DELIVEREDDelivered to the consignee
UNAVAILABLENo tracking information available
UNSPECIFIEDNothing to report yet

Event state

Every milestone, in either mode, carries one of these.

TRACKING_EVENT_STATE_*Meaning
EXPECTEDPlanned or estimated. It has not happened yet
ACTUALObserved. It happened at the timestamp given
UNSPECIFIEDNeither. Treat it as unknown

See shipment tracking for how these fit together in a response.

Cargo and transport

Cargo type

Also the FCL/LCL discriminator, which decides the shape of the cargo fields on a shipment or inquiry.

CARGO_TYPE_*Meaning
CONTAINERSFull container load (FCL). The cargo fills containers of its own
PALLETSLess than container load (LCL), on pallets
PACKAGESLess than container load (LCL), as loose packages
UNSPECIFIEDNot reported

FCL is a container booked for one shipper's cargo. LCL is cargo that shares a container with other shippers' goods, priced by volume and weight.

Transport mode

TRANSPORT_MODE_*Meaning
SEADeep-sea container freight
AIRAir freight
ROADTruck
RAILRail freight
BARGEInland waterway
EXPRESSCourier or integrator service
UNSPECIFIEDNot reported

A shipment has exactly one mode. An inquiry may ask across several. Tracking is available for sea and air.

Container type

Sizes are the container's nominal length in feet. A high cube is about a foot taller than a standard box, which buys roughly 13% more volume for the same floor space.

CONTAINER_TYPE_*Meaning
20_STANDARD_DRY20 ft general-purpose box
40_STANDARD_DRY40 ft general-purpose box
40_HIGH_CUBE40 ft high cube, often written 40HC
45_HIGH_CUBE45 ft high cube
20_REEFER20 ft refrigerated, temperature-controlled
40_REEFER40 ft refrigerated, temperature-controlled
20_OPEN_TOP20 ft with a removable roof, loaded from above
40_OPEN_TOP40 ft with a removable roof
40_OPEN_TOP_HIGH_CUBE40 ft high cube with a removable roof
20_FLAT_RACK20 ft with no side walls, for out-of-gauge cargo
40_FLAT_RACK40 ft with no side walls
UNSPECIFIEDNot reported

TEU, the twenty-foot equivalent unit, is the industry's volume unit: a 20 ft box is 1 TEU, a 40 ft box is 2. You will see it in carrier and terminal material; the API does not return it.

Special contents

Goods that need handling, paperwork or a carrier approval an ordinary load does not.

SPECIAL_CONTENTS_*Meaning
BATTERIESLithium or other cells, usually dangerous goods
LIQUIDSLiquid cargo
GASESCompressed or liquefied gas
TEXTILESTextiles, which carry their own customs scrutiny
UNSPECIFIEDNothing special declared

Incoterms

An Incoterm is the three-letter rule, published by the ICC, that says how far the seller carries the cost and the risk, and where the buyer takes over. The API returns the 2020 edition.

Roughly, the further down this table, the more the seller does.

INCOTERM_*NameWho carries what
EXWEx WorksBuyer collects at the seller's premises and carries cost and risk from there
FCAFree CarrierSeller hands the goods to the buyer's carrier at a named place; risk passes there
FASFree Alongside ShipSeller delivers alongside the vessel at the loading port
FOBFree On BoardSeller delivers on board the vessel at the loading port
CFRCost and FreightSeller pays carriage to the destination port; risk passes once on board
CIFCost, Insurance and FreightAs CFR, and the seller insures the cargo
CPTCarriage Paid ToSeller pays carriage to the named destination; risk passes at the first carrier
CIPCarriage and Insurance Paid ToAs CPT, and the seller insures the cargo
DAPDelivered At PlaceSeller delivers ready for unloading; import clearance and duties are the buyer's
DPUDelivered at Place UnloadedAs DAP, and the seller unloads
DDPDelivered Duty PaidSeller delivers cleared for import, duties paid
UNSPECIFIEDNot reported

FAS, FOB, CFR and CIF are for sea and inland waterway only. The other seven work for any mode.

Paid carriage is not transferred risk. Under CFR, CIF, CPT and CIP the seller pays for carriage the buyer is already bearing the risk of.

Documents

A shipment carries a checklist of document slots. A slot says what is expected; the file uploaded into it is the document. GET /v1/shipment/{shipment}/document returns the whole checklist, filled or not.

Document types

TYPE_*NameWhat it is
COMMERCIAL_INVOICECommercial invoiceThe seller's invoice for the goods. Customs values the shipment from it
PACKING_LISTPacking listWhat is in the shipment: pieces, weights, dimensions, volume
MASTER_BILL_OF_LADINGMaster bill of ladingThe carrier's sea transport contract and title document, issued to the forwarder. Often MBL or B/L
HOUSE_BILL_OF_LADINGHouse bill of ladingThe forwarder's own bill of lading, issued to the shipper. Often HBL
MASTER_AIRWAY_BILLMaster airway billThe airline's air waybill for the whole consignment. Often MAWB
HOUSE_AIRWAY_BILLHouse airway billThe forwarder's air waybill for one shipper's cargo. Often HAWB
CMRCMR consignment noteThe road transport consignment note, named after the UN convention. Signed on delivery
DELIVERY_ORDERDelivery orderThe instruction releasing cargo to the party collecting it
INSURANCE_CERTIFICATEInsurance certificateProof the cargo is insured, and for how much
MSDSMSDSMaterial Safety Data Sheet: the hazards and handling rules for a chemical. Required for dangerous goods
TEST_CERTIFICATETest certificateA product conformity or inspection certificate
COC_EXCERPTChamber of Commerce extractProof of company registration, from the trade register
DIRECT_REPRESENTATIONDirect representationAuthorizes the forwarder to make customs declarations in your name
FISCAL_REPRESENTATIONFiscal representationAuthorizes a representative to handle import VAT on your behalf
DIRECT_FISCAL_COMBO_REPRESENTATIONDirect/fiscal representationBoth of the above on one form
UTBPayment notificationDutch customs' demand for the import duties and VAT owed on a shipment (uitnodiging tot betaling)
TTWCarry-off noteDutch customs' permission to move goods away from temporary storage (toestemming tot wegvoering)
ATBATB documentThe Dutch customs reference for goods entered into temporary storage on arrival
OTHEROtherAnything the checklist has no specific slot for
UNSPECIFIEDNot reported

The file's format is published on document.media_type as an IANA media type; the reference lists the values.

Slot status

STATUS_*Meaning
TO_BE_RECEIVEDOutstanding. Nothing uploaded yet
RECEIVEDA file was uploaded and accepted
REJECTEDA file was uploaded and refused. rejection_reason says what to correct
DELETEDThe slot was removed from the shipment's checklist
UNSPECIFIEDNot reported

A slot with no file has document: null, which is what distinguishes an outstanding slot from a filled one.

Money and VAT

Amounts are integers in the currency's minor units, cents for EUR and USD, with an ISO 4217 currency code beside them. Never parse them as decimals, and never assume two decimal places: the number of minor units per major unit varies by currency.

An invoice publishes both amount_ex_vat and amount_inc_vat, so you do not have to reconstruct either.

CATEGORY_*VAT treatment
STANDARDThe standard rate for the country of supply
REDUCEDA reduced rate
ZEROZero-rated. VAT applies at 0%, unlike an exemption
REVERSE_CHARGEDNo VAT is charged on the invoice. The recipient accounts for it themselves, which is the usual treatment for cross-border B2B supplies inside the EU
UNSPECIFIEDNot reported

Lifecycle statuses

Shipment

STATUS_*Meaning
ACTIVEBooked and under way, or being prepared to move
COMPLETEDDelivered and closed
ON_HOLDPaused. Still live, but not progressing
CANCELLEDCalled off. It will not move
UNSPECIFIEDNo status reported

Inquiry

An inquiry is a request for a price. It becomes a shipment once a quote is accepted.

STATUS_*Meaning
RECEIVEDSubmitted, and waiting to be priced
PRICES_REQUESTEDRates are being gathered for it
QUOTES_PROPOSEDOne or more quotes are ready to review
QUOTE_ACCEPTEDA quote was accepted. The shipment follows from here
CANCELLEDWithdrawn. No quote will follow
UNSPECIFIEDNo status reported

Invoice

STATUS_*Meaning
PUBLISHEDIssued to you and payable
PAIDSettled in full
DISPUTEDQueried. The amount is under discussion
IN_PAYMENT_PLANBeing settled in agreed instalments
IN_COLLECTIONOverdue, and handed to a collection agency
FORFEITEDWritten off. No further settlement is expected
UNSPECIFIEDNo status reported

Organization

TYPE_*Meaning
CLIENTA party that ships cargo
FORWARDERA party that moves it
SUPPLIERA party the cargo is collected from
UNSPECIFIEDNot reported

Parties on a shipment

Not codes, but the words the fields are named after.

TermWho
ShipperThe party sending the goods, usually the seller or their factory
ConsigneeThe party receiving them
SupplierWhere the cargo is collected from
ForwarderThe party arranging the transport
CarrierThe party physically moving it: the shipping line, the airline, the haulier