API documentation | API docs for agents | OpenAPI 3.1
POST /api/v1/billing/carrier-ach-files/generate
ark.generate_carrier_ach_file
Generates a NACHA ACH file from selected ready carrier payments, assigns settlement numbers, records the batch, and links payments to ACH entries.
- 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
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
carrierPaymentIdsarray<string>requiredREADY carrier payment IDs to include in the ACH/NACHA batch.
min items: 1; max items: 250
effectiveDatestringrequiredACH effective date in YYYY-MM-DD format.
includeFileContentbooleanWhen true, return the raw NACHA file and reconciliation CSV in the initial response. These include sensitive bank payment data and are redacted from idempotent replays.
default: false
Example request
curl -X POST 'https://arktms.com/api/v1/billing/carrier-ach-files/generate' \
-H "Authorization: Bearer $ARK_API_TOKEN" \
-H "Idempotency-Key: <unique-key>" \
-H "Content-Type: application/json" \
-d '{
"carrierPaymentIds": [
"<carrierPaymentIds>"
],
"effectiveDate": "<effectiveDate>"
}'Success response
Generated carrier ACH file
objectstringrequiredokbooleanrequiredapi_versionstringrequiredrequest_idstringrequireddataobjectrequireddata.nachaFileIdstringrequiredformat: uuid
data.batchNumberintegerrequireddata.fileNamestringrequireddata.effectiveDatestringrequiredformat: date
data.paymentCountintegerrequireddata.entryCountintegerrequireddata.totalAmountstringrequiredDecimal total amount as a string.
data.settlementNumbersarray<integer>requireddata.paymentsarray<object>requireddata.includesSensitiveFileContentbooleanrequireddata.nachaFileTextstringRaw NACHA file body. Present only when includeFileContent is true.
data.reconciliationCsvstringReconciliation CSV. Present only when includeFileContent is true.
data.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