-
Eligibility
GET request to /v2/international/eligibility (see Check Eligibility).
-
Currencies
GET request to /v2/international/currencies (see List Available Currencies).
-
Quote
POST request to /v2/international/quotes (see Create a Quote).
-
Beneficiary
GET request to
/v2/international/beneficiaries. (see List Beneficiaries).
In both scenarios (create a new beneficiary or reuse an existing one), you will need to check if the user has to provide
more information to complete the transfer.
To do so, you have to make a POST request to /v2/international/beneficiaries/requirements(see
Check Beneficiary Requirements).
This endpoint returns the specific requirements the user must provide to properly configure the beneficiary.
How to collect the beneficiary requirements
How to collect the beneficiary requirements
The first time you will call this endpoint, you will have to provide:Then, if the user selects You have to iterate over this endpoint until you have collected all the required information.
quote_id: The ID of the quote you obtained in the previous stepbeneficiary_id: The ID of the beneficiary if you have one, null otherwisepayload.currency: The currency of the transfer (e.g., EUR, USD, GBP)
requirements field is an array. Each item corresponds to a payment method available for the beneficiary.
The user has to select one of them, and you will have to collect the required information for that payment method.For instance, let’s say the requirements looks like that:swift, then you will have to collect the following information: bank_name and
bank_address. If the user selects aba, then you will have to collect bank_account_identifier.When you collect the required information, you may be asked to call again this endpoint (boolean refresh_requirements_on_change).
To do so, you will have to provide the same parameters as before, but you will also have to provide the collected information in the payload field:payload.type: The payment method selected by the user (e.g.,swift,aba)payload.details: An object containing the collected information, where eachkeyis the name of the field and thevalueis the value provided by the user.
If the field key has a dot (.) in it, it means that the field is a nested object.
Example:
bank.address.street means that the field is an object with a street property, you should call our api
with the following payload:- Update the existing beneficiary by making a
PUTrequest to/v2/international/beneficiaries/{beneficiaryId}(see Update Beneficiary) - Create a new beneficiary by making a
POSTrequest to/v2/international/beneficiaries(see Create Beneficiary)
You may receive a new quote after creating or updating a beneficiary. Please use this new one to proceed with the
transfer.
-
Transfer
POST request to /v2/international/transfers/requirements
(see Check Transfer Requirements).
How to collect the transfer requirements
How to collect the transfer requirements
The first time you will call this endpoint, you will have to provide:Then, you will have to collect the You have to iterate over this endpoint until you have collected all the required information.
quote_id: The ID of the quote you got in the previous steptarget_account_id: The account_id of the beneficiary, obtained after creating or updating the beneficiary
requirements field is an array, with only one item in it (or 0 if everything is already configured).Like the beneficiary requirements endpoint, you will retrieve all fields that are required to complete the transfer, so
you will have to collect the required information from the user.For instance, if the requirements look like this:reference information.When you collect the required information, you may be asked to call again this endpoint (boolean
refresh_requirements_on_change). You have to add the key of the field and the value (provided by the user)
in the details object.If the field key has a dot (.) in it, it means that the field is a nested object.
Example:
source.funds means that the field is an object with a funds property, you should call our api
with the following payload:POST
request to /v2/international/transfers (see Create Transfer).
Summary
Here are the steps to follow when working with international transfers:- Check Eligibility: Ensure the organization is eligible for international transfers, by sending a
GETrequest to/v2/international/eligibility. - List Currencies: Retrieve the list of supported currencies by sending a
GETrequest to/v2/international/currencies. - Create a Quote: Obtain a quote for the transfer by sending a
POSTrequest to/v2/international/quotes. - List Beneficiaries: Check existing beneficiaries by sending a
GETrequest to/v2/international/beneficiaries. - Check Beneficiary Requirements: Ensure you have the necessary information for the beneficiary by sending a
POSTrequest to/v2/international/beneficiaries/requirements. - Create or Update Beneficiary: Either create a new beneficiary by sending a
POSTrequest to/v2/international/beneficiariesor update an existing one by sending aPUTrequest to/v2/international/beneficiaries/{beneficiaryId}. - Check Transfer Requirements: Gather the required information for the transfer by sending a
POSTrequest to/v2/international/transfers/requirements. - Create Transfer: Initiate the transfer by sending a
POSTrequest to/v2/international/transfers.
Related endpoints
- Check if the organization is eligible for international transfers
- Create an international beneficiary
- Create a new international transfer quote
- Create an international transfer
- Delete an international beneficiary
- Get available currencies for international transfers
- List international beneficiaries
- List requirements for an international beneficiary
- List international transfer requirements
- Update an international beneficiary