API documentation | API docs for agents | OpenAPI 3.1

POST /api/v1/loads/{loadId}/billing/packet/generate

ark.generate_customer_billing_packet

Generates and stores a customer billing packet PDF for a visible load by combining a generated or custom invoice with selected supporting documents, then optionally attaches it to the customer payment.

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
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

customerPaymentIdstring

Optional customer payment ID. Omit to use the latest customer payment for the load.

format: uuid

invoiceRemitProfileIdstring

Optional invoice remit profile ID. Omit to use the locked/default profile.

format: uuid

supportingFileIdsarray<string>

Supporting load file IDs to merge after the invoice.

default: []; max items: 100

customInvoiceFileIdstring

Optional custom invoice PDF file ID.

format: uuid

customInvoiceModestring

Whether the custom invoice replaces or is merged before the generated invoice.

one of: replace_generated, include_with_generated; default: "replace_generated"

fileNamestring

Optional billing packet PDF file name. A .pdf extension is added when omitted.

min length: 1; max length: 200

revisedInvoiceboolean

Mark the generated invoice portion as revised.

default: false

attachToCustomerPaymentboolean

Attach the generated packet to the customer payment and mark it READY.

default: true

markCarrierPaymentsReadyboolean

Also mark delivered carrier payments on the load READY.

default: false

Example request

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

Success response

Generated customer billing packet

objectstringrequired
okbooleanrequired
api_versionstringrequired
request_idstringrequired
dataobjectrequired
data.loadIdstringrequired

format: uuid

data.customerPaymentIdstringrequired

format: uuid

data.fileIdstringrequired

format: uuid

data.invoiceSourcestringrequired

one of: generated_invoice, custom_invoice, custom_and_generated_invoice

data.attachedToCustomerPaymentbooleanrequired
data.carrierPaymentsMarkedReadybooleanrequired
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