Ledger API - Deposits

Create a deposit

<ul> <li class="docBullet">Creates a deposit (cash-in) operation. Single-currency only.</li> <li class="docBullet">Business-rule rejections from the ledger are returned as 201 with status REJECTED and failure_reason populated, not as a 4xx error.</li> </ul>
post/pty/account/v1/deposits

Request

  • Base URL
    https://api.uat.paymentology.com
  • URL
    https://api.uat.paymentology.com/pty/account/v1/deposits
  • Auth
    HTTP bearer

Request body

external_account_referencestring nullable

External source (funding) account reference

destination_account_idstring required

Internal destination account identifier

transaction_referencestring required

Client-provided unique transaction reference (idempotency key). Must not contain whitespace.

transaction_descriptionstring

Human-readable description

Example request

{
  "external_account_reference": "EXT-FND-98234",
  "destination_account_id": "479823917",
  "destination_amount": {
    "amount": "10000",
    "currency": "USD"
  },
  "fee": {
    "amount": "50",
    "currency": "USD",
    "type": "DEPOSIT_FEE"
  },
  "transaction_reference": "cin_d1_001",
  "transaction_description": "Deposit"
}

Response

Deposit created

deposit_idstring uuid required

Unique deposit identifier.

external_account_referencestring nullable

External source (funding) account reference.

destination_account_idstring required

Internal destination account identifier.

transaction_referencestring required

Client-provided unique transaction reference.

transaction_descriptionstring

Human-readable description.

status'IN_PROGRESS' | 'COMPLETED' | 'REJECTED' | 'FAILED' required

Transaction processing status (shared across transfers, deposits, and withdrawals).

  • IN_PROGRESS — request persisted, operation in progress (non-terminal).
  • COMPLETED — operation executed successfully (terminal).
  • REJECTED — operation refused by a business rule (terminal). The specific reason is carried in failure_reason.code.
  • FAILED — operation failed due to a transient error (non-terminal). The specific reason is carried in failure_reason.code.
updated_atstring date-time required

Timestamp of the last update.

destination_account_balance_afterstring nullable

The destination account's net available balance, in minor units, immediately after this deposit. Present only when status is COMPLETED.

Example response

{
  "deposit_id": "a1b2c3d4-e5f6-4789-0123-456789abcdef",
  "external_account_reference": "EXT-FND-98234",
  "destination_account_id": "479823917",
  "destination_amount": {
    "amount": "10000",
    "currency": "USD"
  },
  "fee": {
    "amount": "50",
    "currency": "USD",
    "type": "DEPOSIT_FEE"
  },
  "transaction_reference": "cin_d1_001",
  "transaction_description": "Deposit",
  "failure_reason": {
    "code": "INSUFFICIENT_FUNDS",
    "message": "Source account has insufficient funds to complete this operation"
  },
  "updated_at": "2026-01-14T09:00:02Z"
}

Changes

No recorded changes to this operation across all 1 revision of this API.