API documentation | API docs for agents | OpenAPI 3.1
POST /api/v1/loads/{loadId}/billing-adjustment
ark.update_billed_load_details
Updates a visible load after customer billing has started, then regenerates the revised customer invoice and optionally queues a QuickBooks customer invoice update for READY or INVOICED payments.
- Availability
- Expanded preview
- Scopes
loads:readloads:writebilling:write- ARK permissions
canViewLoadscanEditLoadcanViewBillingcanMakeAdjustments- 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
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
customerIdstring | nullformat: uuid
teamIdstringformat: uuid
brokerIdstring | nullformat: uuid
customerServiceRepIdstring | nullformat: uuid
temperaturenumber | nullinternalCommentsstring | nullmax length: 5000
externalCommentsstring | nullmax length: 5000
hotCommentsstring | nullmax length: 5000
pickupNumberstring | nullmax length: 100
purchaseOrderNumberstring | nullmax length: 100
billOfLadingstring | nullmax length: 100
productstring | nullmax length: 200
valuenumber | nulldescriptionstring | nullmax length: 5000
sizestring | nullmax length: 100
trailerstring | nullmax length: 100
weightnumber | nullweightUnitstringone of: lbs, kg
lengthnumber | nullwidthnumber | nullheightnumber | nullnumberOfPiecesinteger | nullmin: 0
hazmatbooleandocHighbooleanstackablebooleantsabooleanteamDriverRequiredbooleanmilesnumber | nullmin: 0
maximumBuyAmountnumber | nullMaximum carrier buy amount for load-board and market-intelligence workflows.
min: 0
customerCurrencystringone of: USD, CAD, MXN
carrierCurrencystringone of: USD, CAD, MXN
customerPayarray<object>Replacement customer-pay lines. Omit to leave customer pay unchanged.
max items: 100
stopsarray<object>Replacement stop list. Omit to leave stops unchanged.
min items: 2; max items: 50
refreshCustomerBillingbooleanWhen true, regenerate the revised invoice for READY or INVOICED customer payments.
default: true
queueQuickBooksSyncbooleanWhen true, queue a QuickBooks customer_invoice_update job after the load update.
default: true
invoiceRemitProfileIdstringOptional invoice remit profile ID for the regenerated revised invoice.
format: uuid
invoiceFileNamestringOptional regenerated revised invoice PDF file name.
max length: 200
Example request
curl -X POST 'https://arktms.com/api/v1/loads/<loadId>/billing-adjustment' \
-H "Authorization: Bearer $ARK_API_TOKEN" \
-H "Idempotency-Key: <unique-key>" \
-H "Content-Type: application/json" \
-d '{}'Success response
Updated billed load details
objectstringrequiredokbooleanrequiredapi_versionstringrequiredrequest_idstringrequireddataobjectrequireddata.loadobjectrequireddata.billingRefreshobjectrequiredErrors
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
HTTP 502- External provider or worker queue could not be reached