API documentation | API docs for agents | OpenAPI 3.1
POST /api/v1/loads/{loadId}/bill-of-lading/generate
ark.generate_bill_of_lading
Generates and stores a bill of lading PDF for a visible load, persists the effective BOL number, and attaches the PDF to load files.
- Availability
- Expanded preview
- Scopes
loads:write- ARK permissions
canEditLoad- 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
bolNumberstringOptional BOL number. Defaults to the stored BOL or load number.
min length: 1; max length: 100
fileNamestringOptional PDF file name. A .pdf extension is added when omitted.
min length: 1; max length: 200
commentstring | nullOptional special instructions to print on the BOL.
max length: 5000
itemsarray<object>Optional commodity lines. Omit to use load product, description, pieces, and weight.
min items: 1; max items: 100
Example request
Shell
curl -X POST 'https://arktms.com/api/v1/loads/<loadId>/bill-of-lading/generate' \
-H "Authorization: Bearer $ARK_API_TOKEN" \
-H "Idempotency-Key: <unique-key>" \
-H "Content-Type: application/json" \
-d '{}'Success response
Generated bill of lading
objectstringrequiredokbooleanrequiredapi_versionstringrequiredrequest_idstringrequireddataobjectrequireddata.loadIdstringrequiredformat: uuid
data.bolNumberstringrequireddata.fileIdstringrequiredformat: uuid
data.fileobjectrequireddata.loadobjectrequireddata.messagestringrequiredErrors
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