FreightCake
API Reference

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

FieldTypeRequiredDescription
quote_idnumberYesID of the quote to book
customer_idnumberNoCustomer ID to associate
ship_from.companystringNoShipper company
ship_from.contactstringNoShipper contact name
ship_from.addressstringNoPickup street address
ship_from.citystringNoPickup city (defaults to quote origin)
ship_from.statestringNoPickup state
ship_from.zipstringNoPickup ZIP
ship_from.phonestringNoPickup phone
ship_from.emailstringNoPickup email
ship_toobjectNoSame fields as ship_from
bill_toobjectNoBilling details (company, contact, address, type)
bill_to.typestringNoprepaid, collect, or third_party
freight.descriptionstringNoCommodity description
freight.handling_unit_typestringNoe.g. "Pallet"
freight.weightnumberNoWeight in lbs
freight.freight_classstringNoNMFC class
referencesarrayNoUp to 3 reference objects { name, value }
special_instructionsstringNoSpecial handling instructions
ship_datestringNoRequested 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

ParamTypeDescription
limitnumberMax results (1-100, default 10)
starting_afterstringCursor for forward pagination
statusstringFilter 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

  • draft freight
  • Issued freight in booked, tendered, carrier_accepted, or scheduled status

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

StatusWhen
400Shipment fields are invalid
404The quote or shipment does not exist in the API key's organization or mode
422The freight state or carrier cannot complete the requested operation

See Handle API Errors for the common error envelope and retry guidance.

On this page