API documentation | API docs for agents | OpenAPI 3.1

POST /api/v1/loads/{loadId}/dispatches/{dispatchId}/billing/carrier-payment/record

ark.record_carrier_payment

Records a ready or invoiced carrier payment as paid for a visible load dispatch, assigning or reusing its settlement number and saving paid date/reference details.

Availability
Expanded preview
Scopes
loads:readbilling:write
ARK permissions
canViewLoadscanViewBillingcanMakeAdjustments
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

carrierPaymentIdstring

Optional carrier payment ID. Omit to use the carrier payment for the load dispatch.

format: uuid

referenceNumberstring | null

Optional payment reference number.

max length: 100

paidDatestringrequired

Payment date in YYYY-MM-DD format.

Example request

Shell
curl -X POST 'https://arktms.com/api/v1/loads/<loadId>/dispatches/<dispatchId>/billing/carrier-payment/record' \
  -H "Authorization: Bearer $ARK_API_TOKEN" \
  -H "Idempotency-Key: <unique-key>" \
  -H "Content-Type: application/json" \
  -d '{
  "paidDate": "<paidDate>"
}'

Success response

Recorded carrier payment

objectstringrequired
okbooleanrequired
api_versionstringrequired
request_idstringrequired
dataobjectrequired
data.loadIdstringrequired

format: uuid

data.dispatchIdstringrequired

format: uuid

data.carrierPaymentIdstringrequired

format: uuid

data.statusstringrequired

one of: PAID

data.paidDatestringrequired

format: date

data.referenceNumberstring | nullrequired
data.paymentAmountstring | nullrequired
data.dueDatestring | nullrequired

format: date-time

data.settlementNumberinteger | nullrequired
data.factoringIdstring | nullrequired

format: uuid

data.currencystringrequired
data.messagestringrequired

Errors

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 422
Invalid request