POST
/
v2
/
international
/
transfers
/
requirements
curl --request POST \
  --url https://thirdparty.qonto.com/v2/international/transfers/requirements \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "quoteId": "0196edb0-9b6e-7554-9864-d111285a0a44",
  "target_account_id": "0196edb0-9b6e-7554-9864-d111285a0a44",
  "details": {
    "reference": "Payment for invoice #123",
    "sourceOfFunds": "verification.source.of.funds.other",
    "sourceOfFundsOther": "Trust funds"
  }
}'
{
"requirements": [
{
"type": "transfer",
"fields": [
{
"name": "Transfer purpose",
"group": [
{
"key": "transferPurpose",
"name": "Transfer purpose",
"type": "text",
"refresh_requirements_on_change": false,
"required": true,
"display_format": "<string>",
"example": "123456789",
"min_length": 8,
"max_length": 20,
"validation_regexp": "^[0-9]{8,20}$",
"values_allowed": [
{
"key": "USD",
"value": "US Dollar"
}
]
}
]
}
]
}
]
}

The first time you will call this endpoint, you will have to provide:

  • quote_id: The ID of the quote you obtained in the previous step
  • target_account_id: The account_id of the beneficiary, obtained after creating or updating the beneficiary

Then, you will receive a response containing the requirements the user must provide to properly configure the transfer. The 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:

{
  "requirements": [
    {
      "type": "transfer",
      "fields": [
        {
          "name": "Transfer purpose",
          "group": [{"key":  "reference", ...}]
        }
      ]
    }
  ]
}

Then, you will have to collect the 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.

{
  "quote_id": "quote_1234567890",
  "target_account_id": "beneficiary_1234567890",
  "details": {
    "reference": "My first payment"
  }
}

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:

{
  "quote_id": "quote_1234567890",
  "target_account_id": "beneficiary_1234567890",
  "details": {
    "source": {
      "funds": "My funds"
    }
  }
}

You have to iterate over this endpoint until you have collected all the required information.

Authorizations

Authorization
string
header
required

Bearer authorization header: Bearer <token>, where <token> is the access token received from the authorization server at the end of the OAuth 2.0 flow.

Headers

X-Qonto-Staging-Token
string

Required only for Sandbox API requests; to get one, please sign up to the Developer Portal.

Accept-Language
string
default:en

Language to be used to display the requirements. Languages supported: en, it, es, de, fr, pt

Example:

"en"

Body

application/json

Response

200
application/json

Returns the list of international transfer's requirements

The response is of type object.