Freight Shipments
Create and manage LTL freight through the canonical freight resource.
Use freightcake.freight in new SDK integrations. The freightcake.shipments property remains available for backward compatibility but is deprecated.
Create Shipment
POST /api/v1/freight
Book a shipment from an existing quote.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
quote_id | number | Yes | ID of the quote to book |
customer_id | number | No | Customer ID to associate |
ship_from.company | string | No | Shipper company |
ship_from.contact | string | No | Shipper contact name |
ship_from.address | string | No | Pickup street address |
ship_from.city | string | No | Pickup city (defaults to quote origin) |
ship_from.state | string | No | Pickup state |
ship_from.zip | string | No | Pickup ZIP |
ship_from.phone | string | No | Pickup phone |
ship_from.email | string | No | Pickup email |
ship_to | object | No | Same fields as ship_from |
bill_to | object | No | Billing details (company, contact, address, type) |
bill_to.type | string | No | prepaid, collect, or third_party |
freight.description | string | No | Commodity description |
freight.handling_unit_type | string | No | e.g. "Pallet" |
freight.weight | number | No | Weight in lbs |
freight.freight_class | string | No | NMFC class |
references | array | No | Up to 3 reference objects { name, value } |
special_instructions | string | No | Special handling instructions |
ship_date | string | No | Requested ship date (ISO 8601) |
Example
curl -X POST https://api.freightcake.com/api/v1/freight \
-H "Authorization: Bearer fk_test_REPLACE_WITH_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"quote_id": 1,
"ship_from": {
"company": "Acme Corp",
"contact": "Jane Doe",
"address": "123 W Adams St",
"city": "Chicago", "state": "IL", "zip": "60601"
},
"ship_to": {
"company": "Southeast Warehouse",
"contact": "Bob Wilson",
"address": "789 Peachtree St",
"city": "Atlanta", "state": "GA", "zip": "30301"
},
"references": [{ "name": "PO Number", "value": "PO-2026-001" }]
}'Response
{
"object": "freight",
"id": 1,
"status": "draft",
"pro_number": null,
"carrier": { "name": "Sandbox Freight Co" },
"quote": { "id": 1, "net_charge_cents": 35000 },
"ship_from": {
"company": "Acme Corp",
"city": "Chicago",
"state": "IL",
"zip": "60601"
},
"ship_to": {
"company": "Southeast Warehouse",
"city": "Atlanta",
"state": "GA",
"zip": "30301"
},
"created_at": "2026-07-01T00:00:00.000Z"
}List Freight
GET /api/v1/freight
Return LTL freight for the API key's organization and mode.
Query Parameters
| Param | Type | Description |
|---|---|---|
limit | number | Max results (1-100, default 10) |
starting_after | string | Cursor for forward pagination |
status | string | Filter by status: draft, created, booked, in_transit, delivered, voided |
Retrieve Freight
GET /api/v1/freight/:id
Return one LTL freight record by ID.
Update Freight
PATCH /api/v1/freight/:id
Only draft freight can be updated. You can change ship_from, ship_to, bill_to, freight, references, and special_instructions.
Cancel Shipment
POST /api/v1/freight/:id/cancel
Cancel draft or pre-transit freight. Freight that is already moving cannot be cancelled through this endpoint.
Cancellable Statuses
draftfreight- Issued freight in
booked,tendered,carrier_accepted, orscheduledstatus
Shipment Tracking
GET /api/v1/freight/:id/tracking
Returns tracking status for a specific shipment.
Retrieve Bill of Lading
GET /api/v1/freight/:id/bol
Return the bill of lading (BOL) fields as JSON.
Download Bill of Lading PDF
GET /api/v1/freight/:id/bol/pdf
Download the finalized BOL as a PDF file.
Errors
| Status | When |
|---|---|
400 | Shipment fields are invalid |
404 | The quote or shipment does not exist in the API key's organization or mode |
422 | The freight state or carrier cannot complete the requested operation |
See Handle API Errors for the common error envelope and retry guidance.