API documentation | API docs for agents | OpenAPI 3.1
PATCH /api/v1/loads/{loadId}/dispatches/{dispatchId}
ark.update_dispatch
Updates a visible dispatch carrier, dispatcher, driver, equipment, carrier currency, and optional dispatch pay through ARK's dispatch edit workflow, then reconciles tracking and QuickBooks side effects when applicable.
- Availability
- Expanded preview
- Scopes
loads:dispatch- ARK permissions
canAssignLoads- Team visibility
- Required and enforced
- Idempotency-Key
- Required for this write
- Approval
- No MCP approval on REST API-token calls
- Rate limit
- API credential and organization budgets
Parameters
loadIdpathstringrequired- format: uuid
dispatchIdpathstringrequired- format: uuid
Idempotency-Keyheaderstringrequired- Required for external write operations. Reuse the same key only for exact retries of the same request body.
- min length: 1; max length: 200
Request body
carrierIdstringrequiredformat: uuid
dispatcherobjectrequireddriverobject | nullrequiredCurrent driver details, or null to explicitly clear the driver.
truckNumberstring | nullrequiredmax length: 100
trailerNumberstring | nullrequiredmax length: 100
carrierCurrencystringrequiredCurrent carrier currency to preserve or explicitly change.
one of: USD, CAD, MXN
dispatchPayarray<object>Optional replacement dispatch pay items. Omit to leave dispatch pay unchanged.
max items: 100
updateTrackingbooleandefault: false
queueQuickBooksSyncbooleandefault: false
Example request
Shell
curl -X PATCH 'https://arktms.com/api/v1/loads/<loadId>/dispatches/<dispatchId>' \
-H "Authorization: Bearer $ARK_API_TOKEN" \
-H "Idempotency-Key: <unique-key>" \
-H "Content-Type: application/json" \
-d '{
"carrierId": "<carrierId>",
"dispatcher": {
"firstName": "<firstName>",
"email": "<email>"
},
"driver": {},
"truckNumber": "<truckNumber>",
"trailerNumber": "<trailerNumber>",
"carrierCurrency": "USD"
}'Success response
Updated dispatch
objectstringrequiredokbooleanrequiredapi_versionstringrequiredrequest_idstringrequireddataobjectrequireddata.loadIdstringrequiredformat: uuid
data.loadobjectrequireddata.dispatchobjectrequireddata.trackingUpdateResultobject | nullrequireddata.quickBooksSyncResultobject | nullrequireddata.sideEffectErrorstring | nullrequiredErrors
HTTP 400- Invalid request
HTTP 401- Authentication required
HTTP 403- Permission, scope, team, or entitlement denied
HTTP 404- Resource not found
HTTP 409- Idempotency conflict or in-progress retry