API documentation | API docs for agents | OpenAPI 3.1

POST /api/v1/billing/carrier-payments/record

ark.record_carrier_payments

Records selected ready or invoiced carrier payments as paid in one AP workflow, with optional QuickBooks bill payment sync.

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

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

carrierPaymentIdsarray<string>required

Visible READY or INVOICED carrier payment IDs to mark PAID.

min items: 1; max items: 100

referenceNumberstring | null

Optional payment reference number applied to every selected payment.

max length: 100

paidDatestringrequired

Payment date in YYYY-MM-DD format.

queueQuickBooksSyncboolean

default: false

Example request

Shell
curl -X POST 'https://arktms.com/api/v1/billing/carrier-payments/record' \
  -H "Authorization: Bearer $ARK_API_TOKEN" \
  -H "Idempotency-Key: <unique-key>" \
  -H "Content-Type: application/json" \
  -d '{
  "carrierPaymentIds": [
    "<carrierPaymentIds>"
  ],
  "paidDate": "<paidDate>"
}'

Success response

Recorded carrier payments

objectstringrequired
okbooleanrequired
api_versionstringrequired
request_idstringrequired
dataobjectrequired
data.carrierPaymentIdsarray<string>required
data.paidDatestringrequired

format: date

data.referenceNumberstring | nullrequired
data.updatedCountintegerrequired
data.sideEffectErrorstring | nullrequired
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