Skip to main content

Send transfers

Recipes for sending money from a customer's current account. For the model, states, and endpoints, see Transfers.

Before you start

  • You need the sourceAccountId: the ID of the current account the funds come from.
  • Every creation carries the Idempotency-Key header to avoid duplicates on a retry. See Idempotency.
  • The currencyCode must match the source account's currency (currently ARS).

Outgoing transfer to a third party

Specify the destination inline with its cbuCvu (or alias) and the counterparty data.

POST /v1/transfers
Idempotency-Key: erp-pay-9001
Content-Type: application/json

{
"type": "OUTGOING_TRANSFER",
"sourceAccountId": 17,
"amount": 150000.00,
"currencyCode": "ARS",
"destination": {
"cbuCvu": "0000000088776655443322",
"counterParty": {
"name": "Transportes del Sur S.R.L.",
"taxId": "30123456789"
}
},
"description": "Pago flete mayo",
"externalId": "ERP-PAY-9001"
}

Response

201 Created
Location: /v1/transfers/90021

{
"id": 90021,
"type": "OUTGOING_TRANSFER",
"status": "PENDING",
"sourceAccountId": 17,
"amount": 150000.00,
"currencyCode": "ARS",
"destination": {
"cbuCvu": "0000000088776655443322",
"counterParty": { "name": "Transportes del Sur S.R.L.", "taxId": "30123456789" }
},
"externalId": "ERP-PAY-9001",
"creationDate": "2026-05-27T09:15:00-03:00"
}

The transfer is accepted in PENDING and processed asynchronously. The final result (COMPLETED or FAILED) arrives via webhook or by querying GET /v1/transfers/{id}.

Use alias if you don't have the CBU/CVU

You can replace destination.cbuCvu with destination.alias. One or the other is resolved; you don't need to send both.

Transfer to a recipient from the address book

If the destination is already saved in your recipients address book, reference it with contactId and omit the destination block.

POST /v1/transfers
Idempotency-Key: erp-pay-9002
Content-Type: application/json

{
"type": "OUTGOING_TRANSFER",
"sourceAccountId": 17,
"amount": 150000.00,
"currencyCode": "ARS",
"contactId": 540,
"description": "Pago flete mayo"
}

The CBU/CVU, alias, and counterparty data are taken from the recipient. The response includes the resolved destination and contactId.

Internal transfer between your own accounts

To move funds between two current accounts of the same customer, use INTERNAL_TRANSFER and specify the destination account with destination.accountId.

POST /v1/transfers
Idempotency-Key: erp-mov-int-77
Content-Type: application/json

{
"type": "INTERNAL_TRANSFER",
"sourceAccountId": 17,
"amount": 50000.00,
"currencyCode": "ARS",
"destination": {
"accountId": 18
},
"description": "Fondeo subcuenta impuestos"
}

Schedule a transfer for the future

Add scheduledDate (format YYYY-MM-DD) so the transfer executes on that day. It stays in SCHEDULED status until then.

POST /v1/transfers
Idempotency-Key: erp-pay-9050
Content-Type: application/json

{
"type": "OUTGOING_TRANSFER",
"sourceAccountId": 17,
"amount": 150000.00,
"currencyCode": "ARS",
"contactId": 540,
"scheduledDate": "2026-06-02"
}

Transfers that require approval

If the customer has approval control enabled, the transfer is created in PENDING_APPROVAL instead of PENDING. It is held until an authorized operator approves it according to the customer's internal controls; only then does it move to PENDING and execute.

While it is in PENDING_APPROVAL (or SCHEDULED) you can cancel it.

Cancel a transfer

Only transfers in SCHEDULED or PENDING_APPROVAL status can be cancelled.

POST /v1/transfers/90050/cancellations
200 OK

{
"id": 90050,
"status": "CANCELLED",
...
}

If the transfer is already in PENDING or later, the API responds 422 with transfer-not-cancelable.

Common errors

codeHTTPWhen
unmatching-transfer-currency-code422The currencyCode does not match the source account's currency
equal-origin-destination422Source and destination are the same account
source-account-not-active422The source account is not active
transfer-not-cancelable422An attempt was made to cancel a transfer that is no longer SCHEDULED/PENDING_APPROVAL

Full catalog in Error codes.