curl --request POST \
--url https://thirdparty.qonto.com/v2/international/beneficiaries/requirements \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"quote_id": "0196edb0-9b6e-7554-9864-d111285a0a44",
"payload": {
"currency": "EUR",
"details": {
"address": {
"city": "Paris",
"country": "FR",
"postCode": 75009,
"firstLine": "18 rue du Navarin"
},
"swiftCode": "AAABBB00",
"accountNumber": 123456789,
"accountHolderName": "John Doe"
},
"legal_type": "LEGAL_TYPE_COMPANY",
"type": "swift"
},
"beneficiary_id": "0d6273cf-e4d0-469a-a3c8-d2196143470c"
}
'import requests
url = "https://thirdparty.qonto.com/v2/international/beneficiaries/requirements"
payload = {
"quote_id": "0196edb0-9b6e-7554-9864-d111285a0a44",
"payload": {
"currency": "EUR",
"details": {
"address": {
"city": "Paris",
"country": "FR",
"postCode": 75009,
"firstLine": "18 rue du Navarin"
},
"swiftCode": "AAABBB00",
"accountNumber": 123456789,
"accountHolderName": "John Doe"
},
"legal_type": "LEGAL_TYPE_COMPANY",
"type": "swift"
},
"beneficiary_id": "0d6273cf-e4d0-469a-a3c8-d2196143470c"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
quote_id: '0196edb0-9b6e-7554-9864-d111285a0a44',
payload: {
currency: 'EUR',
details: {
address: {city: 'Paris', country: 'FR', postCode: 75009, firstLine: '18 rue du Navarin'},
swiftCode: 'AAABBB00',
accountNumber: 123456789,
accountHolderName: 'John Doe'
},
legal_type: 'LEGAL_TYPE_COMPANY',
type: 'swift'
},
beneficiary_id: '0d6273cf-e4d0-469a-a3c8-d2196143470c'
})
};
fetch('https://thirdparty.qonto.com/v2/international/beneficiaries/requirements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://thirdparty.qonto.com/v2/international/beneficiaries/requirements",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'quote_id' => '0196edb0-9b6e-7554-9864-d111285a0a44',
'payload' => [
'currency' => 'EUR',
'details' => [
'address' => [
'city' => 'Paris',
'country' => 'FR',
'postCode' => 75009,
'firstLine' => '18 rue du Navarin'
],
'swiftCode' => 'AAABBB00',
'accountNumber' => 123456789,
'accountHolderName' => 'John Doe'
],
'legal_type' => 'LEGAL_TYPE_COMPANY',
'type' => 'swift'
],
'beneficiary_id' => '0d6273cf-e4d0-469a-a3c8-d2196143470c'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://thirdparty.qonto.com/v2/international/beneficiaries/requirements"
payload := strings.NewReader("{\n \"quote_id\": \"0196edb0-9b6e-7554-9864-d111285a0a44\",\n \"payload\": {\n \"currency\": \"EUR\",\n \"details\": {\n \"address\": {\n \"city\": \"Paris\",\n \"country\": \"FR\",\n \"postCode\": 75009,\n \"firstLine\": \"18 rue du Navarin\"\n },\n \"swiftCode\": \"AAABBB00\",\n \"accountNumber\": 123456789,\n \"accountHolderName\": \"John Doe\"\n },\n \"legal_type\": \"LEGAL_TYPE_COMPANY\",\n \"type\": \"swift\"\n },\n \"beneficiary_id\": \"0d6273cf-e4d0-469a-a3c8-d2196143470c\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://thirdparty.qonto.com/v2/international/beneficiaries/requirements")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"quote_id\": \"0196edb0-9b6e-7554-9864-d111285a0a44\",\n \"payload\": {\n \"currency\": \"EUR\",\n \"details\": {\n \"address\": {\n \"city\": \"Paris\",\n \"country\": \"FR\",\n \"postCode\": 75009,\n \"firstLine\": \"18 rue du Navarin\"\n },\n \"swiftCode\": \"AAABBB00\",\n \"accountNumber\": 123456789,\n \"accountHolderName\": \"John Doe\"\n },\n \"legal_type\": \"LEGAL_TYPE_COMPANY\",\n \"type\": \"swift\"\n },\n \"beneficiary_id\": \"0d6273cf-e4d0-469a-a3c8-d2196143470c\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://thirdparty.qonto.com/v2/international/beneficiaries/requirements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"quote_id\": \"0196edb0-9b6e-7554-9864-d111285a0a44\",\n \"payload\": {\n \"currency\": \"EUR\",\n \"details\": {\n \"address\": {\n \"city\": \"Paris\",\n \"country\": \"FR\",\n \"postCode\": 75009,\n \"firstLine\": \"18 rue du Navarin\"\n },\n \"swiftCode\": \"AAABBB00\",\n \"accountNumber\": 123456789,\n \"accountHolderName\": \"John Doe\"\n },\n \"legal_type\": \"LEGAL_TYPE_COMPANY\",\n \"type\": \"swift\"\n },\n \"beneficiary_id\": \"0d6273cf-e4d0-469a-a3c8-d2196143470c\"\n}"
response = http.request(request)
puts response.read_bodyList requirements for an international beneficiary
OAuth scope: international_transfer.write
Get the list of requirements needed to create or use an existing beneficiary for the given quote.
This endpoint is still in beta. Please get in touch with our team if you have any question or feedback: here.
curl --request POST \
--url https://thirdparty.qonto.com/v2/international/beneficiaries/requirements \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"quote_id": "0196edb0-9b6e-7554-9864-d111285a0a44",
"payload": {
"currency": "EUR",
"details": {
"address": {
"city": "Paris",
"country": "FR",
"postCode": 75009,
"firstLine": "18 rue du Navarin"
},
"swiftCode": "AAABBB00",
"accountNumber": 123456789,
"accountHolderName": "John Doe"
},
"legal_type": "LEGAL_TYPE_COMPANY",
"type": "swift"
},
"beneficiary_id": "0d6273cf-e4d0-469a-a3c8-d2196143470c"
}
'import requests
url = "https://thirdparty.qonto.com/v2/international/beneficiaries/requirements"
payload = {
"quote_id": "0196edb0-9b6e-7554-9864-d111285a0a44",
"payload": {
"currency": "EUR",
"details": {
"address": {
"city": "Paris",
"country": "FR",
"postCode": 75009,
"firstLine": "18 rue du Navarin"
},
"swiftCode": "AAABBB00",
"accountNumber": 123456789,
"accountHolderName": "John Doe"
},
"legal_type": "LEGAL_TYPE_COMPANY",
"type": "swift"
},
"beneficiary_id": "0d6273cf-e4d0-469a-a3c8-d2196143470c"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
quote_id: '0196edb0-9b6e-7554-9864-d111285a0a44',
payload: {
currency: 'EUR',
details: {
address: {city: 'Paris', country: 'FR', postCode: 75009, firstLine: '18 rue du Navarin'},
swiftCode: 'AAABBB00',
accountNumber: 123456789,
accountHolderName: 'John Doe'
},
legal_type: 'LEGAL_TYPE_COMPANY',
type: 'swift'
},
beneficiary_id: '0d6273cf-e4d0-469a-a3c8-d2196143470c'
})
};
fetch('https://thirdparty.qonto.com/v2/international/beneficiaries/requirements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://thirdparty.qonto.com/v2/international/beneficiaries/requirements",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'quote_id' => '0196edb0-9b6e-7554-9864-d111285a0a44',
'payload' => [
'currency' => 'EUR',
'details' => [
'address' => [
'city' => 'Paris',
'country' => 'FR',
'postCode' => 75009,
'firstLine' => '18 rue du Navarin'
],
'swiftCode' => 'AAABBB00',
'accountNumber' => 123456789,
'accountHolderName' => 'John Doe'
],
'legal_type' => 'LEGAL_TYPE_COMPANY',
'type' => 'swift'
],
'beneficiary_id' => '0d6273cf-e4d0-469a-a3c8-d2196143470c'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://thirdparty.qonto.com/v2/international/beneficiaries/requirements"
payload := strings.NewReader("{\n \"quote_id\": \"0196edb0-9b6e-7554-9864-d111285a0a44\",\n \"payload\": {\n \"currency\": \"EUR\",\n \"details\": {\n \"address\": {\n \"city\": \"Paris\",\n \"country\": \"FR\",\n \"postCode\": 75009,\n \"firstLine\": \"18 rue du Navarin\"\n },\n \"swiftCode\": \"AAABBB00\",\n \"accountNumber\": 123456789,\n \"accountHolderName\": \"John Doe\"\n },\n \"legal_type\": \"LEGAL_TYPE_COMPANY\",\n \"type\": \"swift\"\n },\n \"beneficiary_id\": \"0d6273cf-e4d0-469a-a3c8-d2196143470c\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://thirdparty.qonto.com/v2/international/beneficiaries/requirements")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"quote_id\": \"0196edb0-9b6e-7554-9864-d111285a0a44\",\n \"payload\": {\n \"currency\": \"EUR\",\n \"details\": {\n \"address\": {\n \"city\": \"Paris\",\n \"country\": \"FR\",\n \"postCode\": 75009,\n \"firstLine\": \"18 rue du Navarin\"\n },\n \"swiftCode\": \"AAABBB00\",\n \"accountNumber\": 123456789,\n \"accountHolderName\": \"John Doe\"\n },\n \"legal_type\": \"LEGAL_TYPE_COMPANY\",\n \"type\": \"swift\"\n },\n \"beneficiary_id\": \"0d6273cf-e4d0-469a-a3c8-d2196143470c\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://thirdparty.qonto.com/v2/international/beneficiaries/requirements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"quote_id\": \"0196edb0-9b6e-7554-9864-d111285a0a44\",\n \"payload\": {\n \"currency\": \"EUR\",\n \"details\": {\n \"address\": {\n \"city\": \"Paris\",\n \"country\": \"FR\",\n \"postCode\": 75009,\n \"firstLine\": \"18 rue du Navarin\"\n },\n \"swiftCode\": \"AAABBB00\",\n \"accountNumber\": 123456789,\n \"accountHolderName\": \"John Doe\"\n },\n \"legal_type\": \"LEGAL_TYPE_COMPANY\",\n \"type\": \"swift\"\n },\n \"beneficiary_id\": \"0d6273cf-e4d0-469a-a3c8-d2196143470c\"\n}"
response = http.request(request)
puts response.read_bodyquote_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:
{
"requirements": [
{
"type": "swift",
"fields": [
{
"name": "bank_name",
"group": [{"key": "bankName", ...}]
},
{
"name": "bank_address",
"group": [{"key": "bankAddress", ...}]
}
]
},
{
"payment_method": "aba",
"fields": [
{
"name": "bank_account_identifier",
"group": [{"key": "identifier", ...}]
}
]
}
]
}
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.
{
"quote_id": "quote_1234567890",
"payload": {
"currency": "EUR",
"type": "swift",
"details": {
"bankName": "Bank of Qonto",
"bankAddress": "123 Qonto Street, Paris, France"
}
}
}
bank.address.street means that the field is an object with a street property, you should call our api
with the following payload:{
"quote_id": "quote_1234567890",
"payload": {
"currency": "EUR",
"type": "swift",
"details": {
"bank": {
"address": {
"street": "123 Qonto Street"
}
}
}
}
}
Authorizations
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
Language to be used to display the requirements. Languages supported: en, it, es, de, fr, pt
"en"
Required only for Sandbox API requests; to get one, please sign up to the Developer Portal.
Body
Unique identifier for the quote.
"0196edb0-9b6e-7554-9864-d111285a0a44"
Data collected from the user to create the beneficiary.
Show child attributes
Show child attributes
Unique identifier for the beneficiary (null if creating a new beneficiary).
"0d6273cf-e4d0-469a-a3c8-d2196143470c"
Response
Returns the list of requirements for the given beneficiary and quote.
Show child attributes
Show child attributes
Was this page helpful?