Mock FIAT Deposits

To simulate fiat deposits in the Caliza sandbox environment, use the sandbox transaction endpoints. PIX and SPEI endpoints require a pre-created transaction ID, while USD deposit endpoints do not.

POST /v1/transactions/sandbox/pix

Creates a fake PIX deposit (Brazil). Requires a pre-created transaction ID.

curl -X POST "https://api.sandbox.caliza.com/core-api/v1/transactions/sandbox/pix" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer {{ACCESS_TOKEN}}" \
  -d '{
    "transactionId": "{{TRANSACTION_ID}}",
    "documentId": "{{DOCUMENT_ID}}"
  }'

Request body:

FieldTypeRequiredDescription
transactionIdstringYesThe transaction ID to mock the deposit for
documentIdstringNoDocument ID (CPF/CNPJ)

POST /v1/transactions/sandbox/spei

Creates a fake SPEI deposit (Mexico). Requires a pre-created transaction ID.

curl -X POST "https://api.sandbox.caliza.com/core-api/v1/transactions/sandbox/spei" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer {{ACCESS_TOKEN}}" \
  -d '{
    "transactionId": "{{TRANSACTION_ID}}"
  }'

Request body:

FieldTypeRequiredDescription
transactionIdstringYesThe transaction ID to mock the deposit for
documentIdstringNoDocument ID (not used for SPEI)

POST /v1/transactions/sandbox/usd-deposit

Creates a fake USD deposit via WIRE, ACH, or SWIFT. Does not require a pre-created transaction ID.

curl -X POST "https://api.sandbox.caliza.com/core-api/v1/transactions/sandbox/usd-deposit" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer {{ACCESS_TOKEN}}" \
  -d '{
    "beneficiaryId": "{{BENEFICIARY_ID}}",
    "amount": 100.0,
    "accountNumber": "{{ACCOUNT_NUMBER}}",
    "paymentRail": "WIRE"
  }'

Request body:

FieldTypeRequiredDescription
beneficiaryIdstringYesThe beneficiary ID to credit the deposit to
amountnumberYesThe deposit amount in USD
accountNumberstringYesThe virtual account number (retrieved from GET /v1/beneficiaries/{beneficiaryId}/virtualAccounts)
paymentRailstringYesPayment rail type: WIRE, ACH, or SWIFT

All fiat deposit mock endpoints return void (HTTP 200 with no body on success). These are sandbox-only endpoints used to simulate incoming deposits for testing purposes. The completion notification arrives via webhook as PAYMENT_IN_COMPLETED.

Crypto deposits (sandbox)

For crypto deposits, you don't need to call specific endpoints to mock the behavior. You can call PUT /v1/transactions/{transactionId}/depositTransactionHash and it'll mock everything:

curl -X PUT "https://api.sandbox.caliza.com/core-api/v1/transactions/{{TRANSACTION_ID}}/depositTransactionHash" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer {{ACCESS_TOKEN}}" \
  -d '{
    "transactionHash": "{{TRANSACTION_HASH}}"
  }'