Skip to navigation

Update a load

Partial update of a load: send only the fields that change; fields you omit keep their stored value. The change is applied exactly like a POST /v1/loads update of the whole load (status mapping, TMS ownership), and stops, when sent, replaces every stop. null is refused: omit a field to leave it unchanged, or send [] / "" to clear special_instructions or notes. is_posted sets Envoy’s own posted flag. carrier_rep_user_id is rejected with 422 (the rep is owned by your TMS; use POST /loads/assign-ai-agent for the AI agent). An update refused because the load belongs to the organization’s TMS returns 409 update_not_applied.

Authentication: Supports API key and bearer token authentication.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

load_idstringRequiredformat: "uuid"

Headers

X-Organization-IDstring or nullOptional
Idempotency-KeystringOptional<=255 characters

A unique key (up to 255 printable ASCII characters, e.g. a UUID) that makes a retry of this request safe. Envoy stores the response for 24 hours; a retry with the same key and the same request returns it again with Idempotent-Replayed: true instead of running twice. The same key with a different request returns 422 idempotency_key_reused; while the first request is still running, 409 idempotency_key_in_progress. 5xx and 429 responses are not stored.

Request

This endpoint expects an object.
is_postedboolean or nullOptional

Envoy’s own posted flag for the load (not a TMS field).

carrier_rep_user_idstring or nullOptionalformat: "uuid"
tms_statusstring or nullOptional

Status supplied by the source TMS; no status is inferred when omitted

modeenum or nullOptional
Transport mode, when supplied by the source
equipment_typeenum or nullOptional
Equipment type used for transport
equipment_type_rawstring or nullOptional

Original equipment-type string from the source TMS (e.g. ‘Van/Reefer 53”, ‘Dry Van 53FT’). Stored verbatim for audit; not used for matching.

weightdouble or nullOptional>=0

Weight of the load (must be non-negative)

distancedouble or nullOptional>=0

Number of miles to drive (must be non-negative)

commoditystring or nullOptional
Commodity being hauled
length_feetinteger or nullOptional>=0

Length in feet (must be non-negative)

handling_unit_countinteger or nullOptional>=0
Number of freight handling units
handling_unit_typestring or nullOptional
Type of freight handling unit, e.g. pallet or case
po_numberslist of strings or nullOptional
List of PO or pickup numbers
reference_numberslist of objects or nullOptional

Typed reference numbers for the load, as sent by the source TMS. po_numbers remains the PO-only projection used by matching/search.

posted_rateinteger or nullOptional
Posted rate in USD
max_buy_rateinteger or nullOptional
Maximum buy rate in USD
suggested_market_rateinteger or nullOptional
Suggested market rate in USD
carrier_completed_ratedouble or nullOptional
Rate the carrier completed the load at, in USD
customer_ratedouble or nullOptional
Rate quoted to the customer, in USD
margindouble or nullOptional
Margin in USD as reported by the source TMS
hold_loadboolean or nullOptional

Whether the source TMS has this load on hold; held loads are hidden from web/extension

temperature_setting_minimuminteger or nullOptional
Minimum temperature setting in degrees
temperature_setting_maximuminteger or nullOptional
Maximum temperature setting in degrees
temperature_run_typestring or nullOptional

Temperature run type (e.g., continuous, cycle)

last_reported_statestring or nullOptional
Last reported state for tracking
last_reported_citystring or nullOptional
Last reported city for tracking
last_reported_longdouble or nullOptional-180-180

Last reported longitude (-180 to 180, nullable when not moving)

last_reported_latdouble or nullOptional-90-90

Last reported latitude (-90 to 90, nullable when not moving)

tms_carrier_idstring or nullOptional
Your TMS's ID for the carrier hauling the load
carrier_namestring or nullOptional
Name of the carrier
customer_namestring or nullOptional

Name of the customer (shipper)

customer_refstring or nullOptional

Customer/shipper entity identifier from the TMS (the scheduling feed’s customer_tms_id) — not a per-shipment reference number

tms_sales_rep_namesstring or nullOptional

Sales representative name(s) reported by the source TMS; not an Envoy user assignment

special_instructionslist of strings or nullOptional

Special handling instructions provided by the shipper/broker; verbalized to carriers during voice calls

notesstring or nullOptional

Internal notes for the load. Shown in Envoy; the AI agent reads them only if your organization turns that on (carrier-facing text belongs in special_instructions).

stopslist of objects or nullOptional

Ordered list of stops (pickup and dropoff) - minimum 2 required

Response

Successful Response
idstringformat: "^load_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
load_numberstring
organization_idstringformat: "^org_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
equipment_typeenum

Canonical equipment types used across loads, carriers, and lane preferences.

Uses StrEnum (not the class X(str, Enum) pattern) so that str(EquipmentType.VAN) and f"{EquipmentType.VAN}" return "VAN" instead of the default Enum.__str__ of "EquipmentType.VAN". Python 3.12 does not collapse __str__/__format__ for (str, Enum) subclasses, which would silently corrupt every f-string and Jinja template that interpolates an equipment type without .value.

created_atdatetime
updated_atdatetime
tms_load_idstring or nullOptional
external_idstring or nullOptional
modeenumOptional
load_statusstring or nullOptional

Envoy’s own status for the load, mapped from tms_status: one of Created, Unassigned, Quotes Received, Dispatched, En Route, Delivered, Cancelled, Exception. Only Created, Unassigned and Quotes Received loads are worked by the AI agent.

tms_statusstring or nullOptional
weightdouble or nullOptional
distancedouble or nullOptional
commoditystring or nullOptional
handling_unit_countinteger or nullOptional>=0
Number of freight handling units
handling_unit_typestring or nullOptional
Type of freight handling unit, e.g. pallet or case
po_numberslist of strings or nullOptional
reference_numberslist of objects or nullOptional
posted_rateinteger or nullOptional
max_buy_rateinteger or nullOptional
suggested_market_rateinteger or nullOptional
length_feetinteger or nullOptional
special_instructionslist of strings or nullOptional
notesstring or nullOptional
is_postedbooleanOptionalDefaults to false
last_posted_atdatetime or nullOptional

When Envoy’s posted flag last turned on (UTC). Stamped by the board sync or a manual post; null if the load has not been posted since tracking began.

last_unposted_atdatetime or nullOptional

When Envoy’s posted flag last turned off (UTC), by a board sweep or a manual un-post; null if never un-posted.

externally_posted_atdatetime or nullOptional

DAT posting creation time (UTC); null when unavailable or not supplied by DAT

temperature_setting_minimuminteger or nullOptional
temperature_setting_maximuminteger or nullOptional
temperature_run_typestring or nullOptional
last_reported_statestring or nullOptional
last_reported_citystring or nullOptional
last_reported_longdouble or nullOptional
last_reported_latdouble or nullOptional
tms_carrier_idstring or nullOptional
carrier_namestring or nullOptional
hauling_carrier_idstring or nullOptionalformat: "^car_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
hauling_carrier_namestring or nullOptional
hauling_carrier_mc_numberstring or nullOptional
hauling_carrier_dot_numberstring or nullOptional
carrier_completed_ratedouble or nullOptional
What the carrier that moved the load is paid, in USD, as reported by the TMS
customer_ratedouble or nullOptional
The customer's rate in USD, as reported by the TMS. Returned to API keys and org admins only
margindouble or nullOptional
Margin in USD, as reported by the TMS. Returned to API keys and org admins only
customer_namestring or nullOptional
tms_sales_rep_namesstring or nullOptional

Sales representative name(s) reported by the source TMS; not an Envoy user assignment

carrier_repobject or nullOptional
Contact information for various parties involved in the load
driverobject or nullOptional
Contact information for various parties involved in the load
carrier_rep_user_idstring or nullOptionalformat: "^usr_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
carrier_rep_user_namestring or nullOptional
carrier_rep_user_emailstring or nullOptional
assigned_to_ai_agentbooleanOptionalDefaults to false
stopslist of objectsOptional
contextmap from strings to anyOptional
custom_fieldsmap from strings to anyOptional
offer_countintegerOptionalDefaults to 0
Number of unique carrier offers received
max_offer_amountdouble or nullOptional
Highest offer amount received
min_offer_amountdouble or nullOptional
Lowest offer amount received
active_escalation_countintegerOptionalDefaults to 0
Number of ACTIVE escalations anchored to this load

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
422
Unprocessable Entity Error
429
Too Many Requests Error