API documentation | API docs for agents | OpenAPI 3.1

POST /api/v1/billing/deposit-groups

ark.record_customer_deposit_group

Record Customer Deposit Group through the authoritative Billing application boundary.

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
Stable key for safe replay of this exact operation input.
min length: 8; max length: 200

Request body

amountMinorstringrequired
currencyCodestringrequired
receivedDatestringrequired
methodstringrequired

one of: check, ach, wire, cash, card, other

referenceNumberstring | null
checkNumberstring | null
depositAccountVersionIdstringrequired

format: uuid

unappliedCustomerIdstring | null
reasonstringrequired

min length: 1; max length: 1000

Example request

Shell
curl -X POST 'https://arktms.com/api/v1/billing/deposit-groups' \
  -H "Authorization: Bearer $ARK_API_TOKEN" \
  -H "Idempotency-Key: <unique-key>" \
  -H "Content-Type: application/json" \
  -d '{
  "amountMinor": "<amountMinor>",
  "currencyCode": "<currencyCode>",
  "receivedDate": "<receivedDate>",
  "method": "check",
  "depositAccountVersionId": "<depositAccountVersionId>",
  "evidence": [
    {
      "sourceVersionId": "<sourceVersionId>",
      "role": "<role>",
      "citationSha256": "<citationSha256>"
    }
  ],
  "allocations": [
    {
      "obligationId": "<obligationId>",
      "customerId": "<customerId>",
      "customerInvoiceVersionId": "<customerInvoiceVersionId>",
      "amountMinor": "<amountMinor>",
      "expectedOpenAmountMinor": "<expectedOpenAmountMinor>",
      "expectedBalanceVersion": 1,
      "expectedWorkflowVersion": 1
    },
    {
      "obligationId": "<obligationId>",
      "customerId": "<customerId>",
      "customerInvoiceVersionId": "<customerInvoiceVersionId>",
      "amountMinor": "<amountMinor>",
      "expectedOpenAmountMinor": "<expectedOpenAmountMinor>",
      "expectedBalanceVersion": 1,
      "expectedWorkflowVersion": 1
    }
  ],
  "reason": "<reason>"
}'

Success response

Operation result.

objectstringrequired
okbooleanrequired
api_versionstringrequired
request_idstringrequired
dataobjectrequired

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