> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qonto.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

International transfers enable you to send money to bank accounts outside the Eurozone, supporting payments in multiple currencies.

As each country has its own regulations and requirements, the information needed for international transfers may vary.

This guide outlines the available API endpoints for managing international transfers.

1. ### Eligibility

Before proceeding with international transfers, you must ensure that the organization is eligible for this service.
To check eligibility, send a `GET` request to `/v2/international/eligibility` (see [Check Eligibility](./check-eligibility)).

2. ### Currencies

To find out which currencies are supported for international transfers, you can retrieve a list of available currencies
by sending a `GET` request to `/v2/international/currencies` (see [List Available Currencies](./list-available-currencies)).

3. ### Quote

To initiate an international transfer, the first step is to obtain a quote. The quote includes key details such as the exchange rate and applicable fees.

To get a quote, send a `POST` request to `/v2/international/quotes` (see [Create a Quote](./create-international-quote)).

<Warning>
  Quotes are only valid for a limited time, so it’s recommended to proceed with the transfer promptly after obtaining
  one. If the quote expires, Qonto will generate a new one; please note that the exchange rate and fees may differ.
</Warning>

4. ### Beneficiary

To send an international transfer, you must have a beneficiary set up—a beneficiary is the recipient of the transfer.

You can either create a new beneficiary or reuse an existing one. To list existing beneficiaries, send a `GET` request to
`/v2/international/beneficiaries`. (see [List Beneficiaries](./list-beneficiaries-by-currency)).

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](./list-beneficiary-requirements)).
This endpoint returns the specific requirements the user must provide to properly configure the beneficiary.

<Tip>
  For usage details, please refer to the [endpoint documentation](./list-beneficiary-requirements).
</Tip>

After you have collected the required information, you have to either:

* Update the existing beneficiary by making a `PUT` request to `/v2/international/beneficiaries/{beneficiaryId}`
  (see [Update Beneficiary](./update-beneficiary))
* Create a new beneficiary by making a `POST` request to `/v2/international/beneficiaries`
  (see [Create Beneficiary](./create-beneficiary))

<Info>
  You may receive a new quote after creating or updating a beneficiary. Please use this new one to proceed with the
  transfer.
</Info>

5. ### Transfer

Once you have a quote and a beneficiary, you can start working on the transfer itself. The first step is to list the
required data for the transfer. To do so, you can make a `POST` request to `/v2/international/transfers/requirements`
(see [Check Transfer Requirements](./list-transfer-requirements)).

<Tip>
  This endpoint behaves similarly to the beneficiary requirements endpoint.
</Tip>

After you have collected the required information for the transfer, you can initiate the transfer by making a `POST`
request to `/v2/international/transfers` (see [Create Transfer](./create-international-transfer)).

## Summary

Here are the steps to follow when working with international transfers:

1. **Check Eligibility**: Ensure the organization is eligible for international transfers, by sending a `GET` request to `/v2/international/eligibility`.
2. **List Currencies**: Retrieve the list of supported currencies by sending a `GET` request to `/v2/international/currencies`.
3. **Create a Quote**: Obtain a quote for the transfer by sending a `POST` request to `/v2/international/quotes`.
4. **List Beneficiaries**: Check existing beneficiaries by sending a `GET` request to `/v2/international/beneficiaries`.
5. **Check Beneficiary Requirements**: Ensure you have the necessary information for the beneficiary by sending a
   `POST` request to `/v2/international/beneficiaries/requirements`.
6. **Create or Update Beneficiary**: Either create a new beneficiary by sending a `POST` request to
   `/v2/international/beneficiaries` or update an existing one by sending a `PUT` request to `/v2/international/beneficiaries/{beneficiaryId}`.
7. **Check Transfer Requirements**: Gather the required information for the transfer by sending a `POST` request to
   `/v2/international/transfers/requirements`.
8. **Create Transfer**: Initiate the transfer by sending a `POST` request to `/v2/international/transfers`.
