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
customerPaymentIdstringOptional customer payment ID. Omit to use the latest customer payment for the load.
format: uuid
invoiceRemitProfileIdstringOptional 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
customInvoiceFileIdstringOptional custom invoice PDF file ID.
format: uuid
customInvoiceModestringWhether the custom invoice replaces or is merged before the generated invoice.
one of: replace_generated, include_with_generated; default: "replace_generated"
fileNamestringOptional billing packet PDF file name. A .pdf extension is added when omitted.
min length: 1; max length: 200
revisedInvoicebooleanMark the generated invoice portion as revised.
default: false
attachToCustomerPaymentbooleanAttach the generated packet to the customer payment and mark it READY.
default: true
markCarrierPaymentsReadybooleanAlso mark delivered carrier payments on the load READY.
default: false
Example request
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
objectstringrequiredokbooleanrequiredapi_versionstringrequiredrequest_idstringrequireddataobjectrequireddata.loadIdstringrequiredformat: uuid
data.customerPaymentIdstringrequiredformat: uuid
data.fileIdstringrequiredformat: uuid
data.fileobjectrequireddata.loadobjectrequireddata.includedFilesarray<object>requireddata.invoiceSourcestringrequiredone of: generated_invoice, custom_invoice, custom_and_generated_invoice
data.invoiceRemitProfileobjectrequireddata.attachedToCustomerPaymentbooleanrequireddata.carrierPaymentsMarkedReadybooleanrequireddata.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