Making external transfers can require adherence to additional requirements or limitations, such as counterparty reachability and specific minimum/maximum transfer amounts. To address these challenges, we provide a /transferRoutes/calculate endpoint. By using this endpoint, you get an insight into the available routes for external fund transfers and the requirements that must be met to successfully initiate a transfer via those routes.
Get available routes
You can request all available bank transfers routes for a particular country or set of counterparty bank details. To request the available routes for your transfer, make a POST /transferRoutes/calculate request. Provide the following parameters in the request body:
Parameter | Required | Description |
---|---|---|
balancePlatform | ![]() |
The unique identifier of your balance platform. |
currency | ![]() |
The three-character ISO currency code of the transfer. |
category | ![]() |
The type of transfer. Set to bank. |
country | The two-character ISO country code of the counterparty. For example, US or NL. | |
priorities | The priority for the bank transfer. Multiple values can be sent. | |
counterparty | The recipient of the funds transfer. Possible values: bankAccount or transferInstrumentId. | |
balanceAccountId | The unique identifier of the source balance account. Required if the counterparty is transferInstrumentId. |
To get available transfer routes, you must provide either country
or counterparty
.
The following request returns the available transfer routes based on a particular balance platform, transfer currency, and country of the recipient.
curl https://balanceplatform-api-test.adyen.com/bcl/v2/transferRoutes/calculate \
-H 'x-api-key: YOUR_BALANCE_PLATFORM_API_KEY' \
-H 'content-type: application/json' \
-X POST \
-d '{
"balancePlatform": "YOUR_BALANCE_PLATFORM",
"currency": "USD",
"category": "bank",
"country": "NL"
}'
The response contains available transfer options, including specific requirements based on the transfer priority
.
{
"transferRoutes": [
{
"currency": "USD",
"priority": "regular",
"requirements": []
},
{
"currency": "USD",
"priority": "crossBorder",
"requirements": [
{
"description": "Amount of transfer must be at least 100, and no greater than 99999999999",
"max": 99999999999,
"min": 100,
"type": "amountMinMaxRequirement"
},
{
"description": "Country, street and city is required.",
"requiredAddressFields": [
"STREET",
"CITY"
],
"type": "addressRequirement"
},
{
"description": "Bank account identification type must be iban or numberAndBic",
"bankAccountIdentificationTypes": [
"iban",
"numberAndBic"
],
"type": "bankAccountIdentificationTypeRequirement"
},
{
"issuingCountryCode": "NL",
"paymentInstrumentType": "BankAccount",
"type": "paymentInstrumentRequirement"
}
]
},
{
"currency": "USD",
"priority": "wire",
"requirements": []
},
{
"currency": "USD",
"priority": "internal",
"requirements": []
}
]
}