1. Get reference data
An FTL refers to values that already exist in your account: shipping lines, payment terms, container products, document types and ports. Look them up first. For each one you can send the name or its id.
FTL options
GET /api/v1/partners/shipments/options returns every list in one call.
These values change rarely. Cache them and refresh them daily.
A wrong name returns 412 with the valid values in the message, for example payment_term "Cash" not found. Valid values: Company Credit.
Ports
You need a port only when the container is picked up at a port. Search with at least 2 characters of the name, code or UN/LOCODE using GET /api/v1/partners/shipments/ports. It returns up to 20 ports.
In an FTL, send the port as its id (destination_port_id), its name, its code or its unlocode, for example "destination_port": "SA JED". No match returns 200 with an empty data list.
Drivers
To run trips with your own fleet, list your drivers with the existing drivers endpoint. Use id as driver_id.
This list can include drivers who belong to your transporters. You cannot put them on your trips through the API: it returns 412 driver_id ... belongs to the transporter .... Through the API, only the transporter can assign them, and only to trips outsourced to it.
Next: create FTLs.

