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
amountMinorstringrequiredcurrencyCodestringrequiredreceivedDatestringrequiredmethodstringrequiredone of: check, ach, wire, cash, card, other
referenceNumberstring | nullcheckNumberstring | nulldepositAccountVersionIdstringrequiredformat: uuid
evidencearray<object>requiredmax items: 20
unappliedCustomerIdstring | nullallocationsarray<object>requiredmin items: 2; max items: 100
reasonstringrequiredmin 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.
objectstringrequiredokbooleanrequiredapi_versionstringrequiredrequest_idstringrequireddataobjectrequireddata.resultobjectrequiredAccepted durable deposit command with command identity and affected versions.
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