Skip to main content
POST
/
api
/
v1
/
user
/
deposit
Deposit funds
curl --request POST \
  --url https://api.example.com/api/v1/user/deposit
Requires X-Api-Key, X-Api-Secret, and Authorization: Bearer <user-jwt> headers. The JWT identifies whose account receives the credit.
This endpoint directly credits a user’s ledger account. It does not create a payment link, contact a payment provider, or wait for external settlement — the credit is applied immediately when you call it. Use it when your platform has independently confirmed that funds are available — for example, after a wire transfer arrives in your bank account or after an internal balance movement.
Your platform confirms funds received (wire transfer, internal credit, etc.)
    → POST /api/v1/user/deposit   ← here
    → user's ledger balance updated immediately
Payment provider webhooks (Cobre, IrisBank, Stripe) are handled by Qash’s backend — your integration never receives them. If you want users to pay via a checkout link, contact Qash to discuss the hosted checkout flow.

Request

POST /api/v1/user/deposit

Body

FieldTypeRequiredDescription
toAccountIdnumberYesAccount ID to credit — use the id from Create account
amountnumberYesAmount in smallest unit — e.g. 100000 = USD 1,000.00
currencystringYesCurrency code matching the account’s asset — e.g. "MXN", "USD", "COP"
providerstringYesPayment provider that settled the deposit — e.g. "irisbank", "cobre", "stripe"
descriptionstringYesDescription of the deposit — e.g. "Top-up via Cobre"
metadata.payer.documentTypestringNoPayer document type — e.g. "CC", "PASSPORT", "RFC"
metadata.payer.documentNumberstringNoPayer document number
{
  "toAccountId": 619,
  "amount": 100000,
  "currency": "MXN",
  "provider": "irisbank",
  "description": "Top-up via IrisBank",
  "metadata": {
    "payer": {
      "documentType": "RFC",
      "documentNumber": "XAXX010101000"
    }
  }
}

Response

200 OK
{
  "id": 4501,
  "status": "COMPLETED",
  "amount": 100000,
  "description": "Top-up via Cobre"
}
FieldTypeDescription
idnumberTransaction ID
statusstring"COMPLETED" — balance updated immediately
amountnumberAmount credited in smallest unit
descriptionstringDescription of the operation
Amounts are always integers in the smallest unit of the currency — cents for USD, centavos for COP. Never use decimals.