Skip to navigation

Update a carrier

Partial update of a carrier: send only the fields that change; fields you omit keep their stored value. Accepts an API key, or a signed-in organization admin. tms_carrier_id, mc_number and dot_number must not belong to another of the organization’s carriers (409). is_active is rejected: flips go through POST /carriers/{id}/disable or /enable so every state change carries a reason and an audit row.

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

carrier_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.
namestring or nullOptional>=1 character
Carrier company name
emailstring or nullOptional
Main carrier contact email
phonestring or nullOptionalformat: "^\+[1-9]\d{1,14}$"8-16 characters

Main carrier contact phone (any common format, stored as E.164)

dispatcher_namestring or nullOptional
Dispatcher name
dispatcher_phonestring or nullOptionalformat: "^\+[1-9]\d{1,14}$"8-16 characters

Dispatcher phone (any common format, stored as E.164)

dispatcher_emailstring or nullOptional
Dispatcher email
is_activeboolean or nullOptional

Not accepted here: use POST /carriers/{id}/disable or /enable

tms_carrier_idstring or nullOptional>=1 character
The carrier's ID in your TMS
mc_numberstring or nullOptional

MC number; stored as digits only

dot_numberstring or nullOptional

USDOT number; stored as digits only

equipment_typeslist of enums or nullOptional

Equipment types the carrier runs (replaces the stored list; an empty list clears it)

tms_statusstring or nullOptional<=64 characters
Carrier status as reported by the source TMS
is_onboardedboolean or nullOptional
Whether the carrier is onboarded
on_time_pickup_pctdouble or nullOptional0-100

On-time pickup percentage (0-100)

on_time_delivery_pctdouble or nullOptional0-100

On-time delivery percentage (0-100)

total_loads_hauledinteger or nullOptional>=0
Total loads hauled

Response

Successful Response
idstringformat: "^car_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
namestring
mc_numberstring or nullOptional
dot_numberstring or nullOptional
emailstring or nullOptional
phonestring or nullOptional
dispatcher_namestring or nullOptional
dispatcher_phonestring or nullOptional
dispatcher_emailstring or nullOptional
is_activebooleanOptionalDefaults to true
tms_statusstring or nullOptional

Carrier status as reported by the source TMS (e.g. DNL). Read by the inbound email gate when the organization opts in to operational restriction notices for inactive carriers with this status.

providerstring or nullOptional
ingestion_methodstring or nullOptional
equipment_typeslist of enums or nullOptional
insurance_expirationdatetime or nullOptional
w9_on_fileboolean or nullOptional
authorized_for_hireboolean or nullOptional
on_time_pickup_pctdouble or nullOptional

On-time pickup percentage (0-100 scale)

on_time_delivery_pctdouble or nullOptional

On-time delivery percentage (0-100 scale)

tracking_compliance_pctdouble or nullOptional
avg_response_time_mindouble or nullOptional
total_loads_hauledinteger or nullOptional
is_onboardedbooleanOptionalDefaults to false
routing_guide_tierinteger or nullOptional1-4

Global routing-guide priority tier (1 = highest, 4 = lowest). None = untiered.

lane_routing_guide_tierinteger or nullOptional1-4

Strongest routing-guide tier this carrier holds on the lane the list was filtered to (1 = highest). Null when the list has no lane filter, or the carrier is untiered on it.

effective_routing_guide_tierinteger or nullOptional1-4

The tier that actually applies: lane_routing_guide_tier when set, else routing_guide_tier. Equal to the global tier on an unfiltered list.

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_namestring or nullOptional
carrier_rep_emailstring or nullOptional
is_verifiedbooleanOptionalDefaults to false
verified_datedatetime or nullOptional
compliance_statusenumOptional

The verdict of Envoy’s most recent compliance check on the carrier: PASSED or BLOCKED, or UNVERIFIED when no check has run yet or the last check could not reach a result.

Allowed values:
stop_contact_requested_atdatetime or nullOptional

When the carrier last asked not to be contacted; Envoy stops contacting them

tms_carrier_idstring or nullOptional
The carrier's ID in your TMS
last_verified_atdatetime or nullOptional
last_verified_providerstring or nullOptional

Which compliance provider issued the most recent verification (e.g. Highway or MyCarrierPackets). Distinct from provider, which is the system the carrier record came from. Null when no verification has run, or when the provider was not recorded.

created_atdatetime or nullOptional
updated_atdatetime or nullOptional

Errors

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