Shipments

Mark shipment ready to invoice

Mark a shipment as ready for invoicing.

What happens

  • Shipment billing status changes to READY_TO_INVOICE
  • Shipment is now visible in invoice generation workflows

Prerequisites

  • Shipment must have delivery documents attached
  • Shipment must be in DOCS_NEEDED or NOT_READY_TO_INVOICE status
post/shipments/{id}/ready-to-invoice

Path parameters

idstring required

Resource ID (UUID) or client key

Query parameters

by'id' | 'key'

Specify lookup type for faster retrieval. If omitted, defaults to looking up by ID first, then falls back to client key if not found. Use by=key when you know you're providing a client key for best performance.

Response

Shipment marked ready to invoice

idstring uuid required
friendlyIdstring required

Human-readable shipment ID (e.g., "SHP-12345")

keystring nullable

Client-defined reference identifier for this shipment

status'DRAFT' | 'TENDER_PENDING' | 'ON_HOLD' | 'PLANNING' | 'SELECTED' | 'BOOKED' | 'DISPATCHED' | 'LOADING' | 'PICKED_UP' | 'IN_TRANSIT' | 'UNLOADING' | 'ARRIVED_AT_DELIVERY_TERMINAL' | 'OUT_FOR_DELIVERY' | 'RECOVERED' | 'DELIVERED' | 'CANCELED' | 'TENDER_REJECTED' | 'CONSOLIDATED' required

Current status of the shipment lifecycle.

Pre-transit:

  • DRAFT: Shipment being created
  • TENDER_PENDING: Awaiting carrier tender acceptance
  • TENDER_REJECTED: Carrier rejected the tender
  • ON_HOLD: Shipment temporarily paused
  • PLANNING: Being planned/scheduled
  • SELECTED: Carrier selected
  • BOOKED: Carrier confirmed booking
  • DISPATCHED: Dispatched to carrier

In-transit:

  • LOADING: Loading at pickup
  • PICKED_UP: Picked up
  • IN_TRANSIT: In transit
  • UNLOADING: Unloading at delivery
  • ARRIVED_AT_DELIVERY_TERMINAL: At delivery terminal (LTL)
  • OUT_FOR_DELIVERY: Out for final delivery
  • RECOVERED: Shipment has been recovered

Final:

  • DELIVERED: Delivered
  • CANCELED: Canceled
  • CONSOLIDATED: Merged into a consolidated shipment
totalRevenuenumber nullable

Sum of all order charges

totalCostnumber nullable

Sum of all load and service costs

marginnumber nullable

Revenue minus cost

marginPercentnumber nullable

Margin as percentage of revenue

createdAtstring date-time required
updatedAtstring date-time nullable
deliveredAtstring date-time nullable

Example response

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "friendlyId": "SHP-12345",
  "key": "my-shipment-001",
  "customer": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "key": "ERP-CUSTOMER-ACME",
    "name": "Acme Manufacturing Corp",
    "friendlyId": "A123456",
    "status": "ACTIVE",
    "phoneNumber": "+1-555-123-4567",
    "website": "https://acme-manufacturing.com",
    "createdAt": "2025-01-15T10:00:00Z",
    "updatedAt": "2025-01-15T14:30:00Z"
  },
  "customerRep": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "key": "ERP-USER-12345",
    "email": "john.doe@example.com",
    "name": "John Doe",
    "phone": "+1-555-123-4567",
    "phoneExt": "123",
    "status": "ACTIVE",
    "avatarId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "createdAt": "2025-01-15T10:00:00Z",
    "updatedAt": "2025-01-15T14:30:00Z"
  },
  "orders": [
    {
      "stops": [
        {
          "location": {
            "id": "550e8400-e29b-41d4-a716-446655440000",
            "key": "ERP-USER-12345"
          },
          "address": {
            "line1": "123 Main St",
            "line2": "Suite 400",
            "city": "Chicago",
            "state": "IL",
            "zipCode": "60601",
            "country": "USA",
            "market": "CHI",
            "latitude": "41.8781",
            "longitude": "-87.6298",
            "isSmartyValidated": true,
            "obeysDst": true
          }
        }
      ]
    }
  ],
  "loads": [
    {
      "carriers": [
        {
          "carrier": {
            "id": "550e8400-e29b-41d4-a716-446655440000",
            "key": "ERP-CARRIER-SWIFT",
            "name": "Swift Transportation",
            "phoneNumber": "+1-555-987-6543",
            "email": "dispatch@swifttrans.com",
            "createdAt": "2025-01-15T10:00:00Z",
            "updatedAt": "2025-01-15T14:30:00Z"
          }
        }
      ]
    }
  ],
  "services": [
    {
      "vendor": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "key": "ERP-VENDOR-ABC-001",
        "friendlyId": "V123456",
        "name": "ABC Warehouse Services",
        "email": "billing@abcwarehouse.com",
        "phone": "+1-555-123-4567",
        "status": "ACTIVE",
        "currency": "USD",
        "createdAt": "2025-01-15T10:00:00Z",
        "updatedAt": "2025-01-15T14:30:00Z"
      }
    }
  ]
}

Changes

Changed in 3 of the 4 revisions of this API.153312

    • added the new FTL enum value to the loads/items/mode response property for the response status 200

      response-property-enum-value-added

    • added the new FTL enum value to the orders/items/mode response property for the response status 200

      response-property-enum-value-added

  • ce0e9003047c153110See the full diff
    • the response property key became nullable for the status 200

      response-property-became-nullable

    • the response property key became optional for the status 200

      response-property-became-optional

    • the orders/items/equipment/items/ response's property type/format changed from object/ to string/uuid for status 200

      response-property-type-changed

    • the orders/items/specialRequirements/items/ response's property type/format changed from object/ to string/uuid for status 200

      response-property-type-changed

    • the orders/items/stops/items/address response's property type/format changed from object/ to / for status 200

      response-property-type-changed

    • removed the required property orders/items/equipment/items/id from the response with the 200 status

      response-required-property-removed

    • removed the required property orders/items/specialRequirements/items/id from the response with the 200 status

      response-required-property-removed

    • removed the required property orders/items/stops/items/address/city from the response with the 200 status

      response-required-property-removed

    • removed the required property orders/items/stops/items/address/country from the response with the 200 status

      response-required-property-removed

    • removed the required property orders/items/stops/items/address/isAirportOrAirbase from the response with the 200 status

      response-required-property-removed

    • removed the required property orders/items/stops/items/address/isConstructionOrUtilitySite from the response with the 200 status

      response-required-property-removed

    • removed the required property orders/items/stops/items/address/isSmartyValidated from the response with the 200 status

      response-required-property-removed

    • removed the required property orders/items/stops/items/address/line1 from the response with the 200 status

      response-required-property-removed

    • removed the required property orders/items/stops/items/address/market from the response with the 200 status

      response-required-property-removed

    • removed the required property orders/items/stops/items/address/obeysDst from the response with the 200 status

      response-required-property-removed

    • removed the optional property orders/items/charges/items/chargeCode from the response with the 200 status

      response-optional-property-removed

    • removed the optional property orders/items/equipment/items/key from the response with the 200 status

      response-optional-property-removed

    • removed the optional property orders/items/specialRequirements/items/key from the response with the 200 status

      response-optional-property-removed

    • removed the optional property orders/items/stops/items/address/cityId from the response with the 200 status

      response-optional-property-removed

    • removed the optional property orders/items/stops/items/address/latitude from the response with the 200 status

      response-optional-property-removed

    • removed the optional property orders/items/stops/items/address/line2 from the response with the 200 status

      response-optional-property-removed

    • removed the optional property orders/items/stops/items/address/longitude from the response with the 200 status

      response-optional-property-removed

    • removed the optional property orders/items/stops/items/address/state from the response with the 200 status

      response-optional-property-removed

    • removed the optional property orders/items/stops/items/address/zipCode from the response with the 200 status

      response-optional-property-removed

    • removed the optional property services/items/serviceType from the response with the 200 status

      response-optional-property-removed

    • added the new AUTO enum value to the loads/items/mode response property for the response status 200

      response-property-enum-value-added

    • added the new AUTO enum value to the orders/items/mode response property for the response status 200

      response-property-enum-value-added

    • added the new BLOCKED enum value to the customer/status response property for the response status 200

      response-property-enum-value-added

    • added the new CLOSED enum value to the customer/status response property for the response status 200

      response-property-enum-value-added

    • added the new CONSOLIDATED enum value to the loads/items/status response property for the response status 200

      response-property-enum-value-added

    • added the new CONSOLIDATED enum value to the orders/items/status response property for the response status 200

      response-property-enum-value-added

    • added the new CONSOLIDATED enum value to the status response property for the response status 200

      response-property-enum-value-added

    • added the new CONTACTED enum value to the customer/status response property for the response status 200

      response-property-enum-value-added

    • added the new EXPEDITED_AIR enum value to the loads/items/mode response property for the response status 200

      response-property-enum-value-added

    • added the new EXPEDITED_AIR enum value to the orders/items/mode response property for the response status 200

      response-property-enum-value-added

    • added the new EXPEDITED_GROUND enum value to the loads/items/mode response property for the response status 200

      response-property-enum-value-added

    • added the new EXPEDITED_GROUND enum value to the orders/items/mode response property for the response status 200

      response-property-enum-value-added

    • added the new NEW enum value to the customer/status response property for the response status 200

      response-property-enum-value-added

    • added the new NURTURING enum value to the customer/status response property for the response status 200

      response-property-enum-value-added

    • added the new PENDING enum value to the customer/status response property for the response status 200

      response-property-enum-value-added

    • added the new PTL enum value to the loads/items/mode response property for the response status 200

      response-property-enum-value-added

    • added the new PTL enum value to the orders/items/mode response property for the response status 200

      response-property-enum-value-added

    • added the new QUALIFIED enum value to the customer/status response property for the response status 200

      response-property-enum-value-added

    • added the new QUOTED enum value to the customer/status response property for the response status 200

      response-property-enum-value-added

    • added the new RLTL enum value to the loads/items/mode response property for the response status 200

      response-property-enum-value-added

    • added the new RLTL enum value to the orders/items/mode response property for the response status 200

      response-property-enum-value-added

    • added the optional property loads/items/carriers/items/removedAt to the response with the 200 status

      response-optional-property-added

    • added the optional property loads/items/friendlyId to the response with the 200 status

      response-optional-property-added

    • added the optional property orders/items/charges/items/chargeCodeId to the response with the 200 status

      response-optional-property-added

    • added the optional property orders/items/friendlyId to the response with the 200 status

      response-optional-property-added

    • added Address to the orders/items/stops/items/address response property allOf list for the response status 200

      response-property-all-of-added

    • removed the CHURNED enum value from the customer/status response property for the response status 200

      response-property-enum-value-removed

    • removed the CROSS_DOCK enum value from the orders/items/stops/items/type response property for the response status 200

      response-property-enum-value-removed

    • removed the PARTIALLY_PAID enum value from the orders/items/billingStatus response property for the response status 200

      response-property-enum-value-removed

    • removed the PROSPECT enum value from the customer/status response property for the response status 200

      response-property-enum-value-removed

    • added the required property friendlyId to the response with the 200 status

      response-required-property-added

    This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • added the optional property orders/items/stops/items/address/state to the response with the 200 status

      response-optional-property-added

    • added the optional property orders/items/stops/items/address/zipCode to the response with the 200 status

      response-optional-property-added