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

READY carrier payment IDs to include in the ACH/NACHA batch.

min items: 1; max items: 250

effectiveDatestringrequired

ACH effective date in YYYY-MM-DD format.

includeFileContentboolean

When 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

Shell
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

objectstringrequired
okbooleanrequired
api_versionstringrequired
request_idstringrequired
dataobjectrequired
data.nachaFileIdstringrequired

format: uuid

data.batchNumberintegerrequired
data.fileNamestringrequired
data.effectiveDatestringrequired

format: date

data.paymentCountintegerrequired
data.entryCountintegerrequired
data.totalAmountstringrequired

Decimal total amount as a string.

data.settlementNumbersarray<integer>required
data.includesSensitiveFileContentbooleanrequired
data.nachaFileTextstring

Raw NACHA file body. Present only when includeFileContent is true.

data.reconciliationCsvstring

Reconciliation CSV. Present only when includeFileContent is true.

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