API documentation | API docs for agents | OpenAPI 3.1

POST /api/v1/loads/{loadId}/pay-holds

ark.create_pay_hold

Creates a pay hold or claim for a visible load so billing can pause payment until the issue is resolved.

Availability
Expanded preview
Scopes
loads:readbilling:write
ARK permissions
canViewLoadscanMakeAdjustmentsone of: canViewBillingone of: canViewPayHoldsReportone of: canEditLoadone of: canMakeAdjustments
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

valuenumber | null

Optional claim value. Required when isClaim is true.

max: 99999999.99

notesstring

Operational notes explaining why the load is being held.

max length: 5000

isClaimboolean

Set true when the hold represents a claim amount.

default: false

Example request

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

Success response

Created pay hold

objectstringrequired
okbooleanrequired
api_versionstringrequired
request_idstringrequired
dataobjectrequired
data.payHoldIdstringrequired

format: uuid

data.loadIdstringrequired

format: uuid

data.valuestring | nullrequired
data.notesstring | nullrequired
data.isClaimbooleanrequired
data.statusstringrequired

one of: active, resolved

data.createdAtstring | nullrequired

format: date-time

data.createdBystring | nullrequired
data.resolvedAtstring | nullrequired

format: date-time

data.resolvedBystring | 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