API documentation | API docs for agents | OpenAPI 3.1

POST /api/v1/loads

ark.create_load

Creates an available load with customer, team, equipment, route stops, references, and optional customer charges.

Availability
Core preview
Scopes
loads:write
ARK permissions
canCreateLoad
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

customerIdstringrequired

format: uuid

teamIdstringrequired

format: uuid

brokerIdstring | null

format: uuid

customerServiceRepIdstring | null

format: uuid

temperaturenumber | null

Deprecated scalar temperature; maps to both range bounds. Do not send it with temperatureMin or temperatureMax.

temperatureMinnumber | null

Minimum required trailer temperature in degrees Fahrenheit. Send with temperatureMax; both bounds must be numbers or both null, and minimum cannot exceed maximum.

temperatureMaxnumber | null

Maximum required trailer temperature in degrees Fahrenheit. Send with temperatureMin; both bounds must be numbers or both null, and maximum cannot be below minimum.

internalCommentsstring

default: ""; max length: 5000

externalCommentsstring

default: ""; max length: 5000

hotCommentsstring

default: ""; max length: 5000

productstring

default: ""; max length: 200

valuenumber | null
descriptionstring

default: ""; max length: 5000

sizestring

default: ""; max length: 100

trailerstringrequired

min length: 1; max length: 100

weightnumber | null
weightUnitstring

one of: lbs, kg; default: "lbs"

lengthnumber | null
widthnumber | null
heightnumber | null
billOfLadingstring

default: ""; max length: 100

numberOfPiecesinteger | null

min: 0

pickupNumberstring

default: ""; max length: 100

purchaseOrderNumberstring

default: ""; max length: 100

hazmatboolean

default: false

docHighboolean

default: false

stackableboolean

default: false

tsaboolean

default: false

teamDriverRequiredboolean

default: false

milesnumber | null

min: 0

customerCurrencystring

one of: USD, CAD, MXN; default: "USD"

carrierCurrencystring

one of: USD, CAD, MXN; default: "USD"

Example request

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

Success response

Created load

objectstringrequired
okbooleanrequired
api_versionstringrequired
request_idstringrequired
dataobjectrequired
data.idstringrequired

format: uuid

data.loadNumberstringrequired
data.statusstring | nullrequired
data.teamIdstring | nullrequired

format: uuid

data.pickupNumberstring | nullrequired
data.purchaseOrderNumberstring | nullrequired
data.billOfLadingstring | nullrequired
data.productstring | nullrequired
data.descriptionstring | nullrequired
data.temperaturenumber | nullrequired

Deprecated compatibility set point for the required temperature range.

data.temperatureMinnumber | nullrequired

Minimum required trailer temperature in degrees Fahrenheit.

data.temperatureMaxnumber | nullrequired

Maximum required trailer temperature in degrees Fahrenheit.

data.createdAtstringrequired

format: date-time

data.modifiedAtstring | nullrequired

format: date-time

Errors

HTTP 400
Invalid request
HTTP 401
Authentication required
HTTP 403
Permission, scope, team, or entitlement denied
HTTP 409
Idempotency conflict or in-progress retry