curl --request POST \
--url https://thirdparty.qonto.com/v2/international/transfers/requirements \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"quote_id": "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"
}
}
'import requests
url = "https://thirdparty.qonto.com/v2/international/transfers/requirements"
payload = {
"quote_id": "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"
}
}
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',
target_account_id: '0196edb0-9b6e-7554-9864-d111285a0a44',
details: {
reference: 'Payment for invoice #123',
sourceOfFunds: 'verification.source.of.funds.other',
sourceOfFundsOther: 'Trust funds'
}
})
};
fetch('https://thirdparty.qonto.com/v2/international/transfers/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/transfers/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',
'target_account_id' => '0196edb0-9b6e-7554-9864-d111285a0a44',
'details' => [
'reference' => 'Payment for invoice #123',
'sourceOfFunds' => 'verification.source.of.funds.other',
'sourceOfFundsOther' => 'Trust funds'
]
]),
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/transfers/requirements"
payload := strings.NewReader("{\n \"quote_id\": \"0196edb0-9b6e-7554-9864-d111285a0a44\",\n \"target_account_id\": \"0196edb0-9b6e-7554-9864-d111285a0a44\",\n \"details\": {\n \"reference\": \"Payment for invoice #123\",\n \"sourceOfFunds\": \"verification.source.of.funds.other\",\n \"sourceOfFundsOther\": \"Trust funds\"\n }\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/transfers/requirements")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"quote_id\": \"0196edb0-9b6e-7554-9864-d111285a0a44\",\n \"target_account_id\": \"0196edb0-9b6e-7554-9864-d111285a0a44\",\n \"details\": {\n \"reference\": \"Payment for invoice #123\",\n \"sourceOfFunds\": \"verification.source.of.funds.other\",\n \"sourceOfFundsOther\": \"Trust funds\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://thirdparty.qonto.com/v2/international/transfers/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 \"target_account_id\": \"0196edb0-9b6e-7554-9864-d111285a0a44\",\n \"details\": {\n \"reference\": \"Payment for invoice #123\",\n \"sourceOfFunds\": \"verification.source.of.funds.other\",\n \"sourceOfFundsOther\": \"Trust funds\"\n }\n}"
response = http.request(request)
puts response.read_body{
"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"
}
]
}
]
}
]
}
]
}List international transfer requirements
OAuth scope: international_transfer.write
Creates a new international transfer.
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/transfers/requirements \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"quote_id": "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"
}
}
'import requests
url = "https://thirdparty.qonto.com/v2/international/transfers/requirements"
payload = {
"quote_id": "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"
}
}
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',
target_account_id: '0196edb0-9b6e-7554-9864-d111285a0a44',
details: {
reference: 'Payment for invoice #123',
sourceOfFunds: 'verification.source.of.funds.other',
sourceOfFundsOther: 'Trust funds'
}
})
};
fetch('https://thirdparty.qonto.com/v2/international/transfers/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/transfers/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',
'target_account_id' => '0196edb0-9b6e-7554-9864-d111285a0a44',
'details' => [
'reference' => 'Payment for invoice #123',
'sourceOfFunds' => 'verification.source.of.funds.other',
'sourceOfFundsOther' => 'Trust funds'
]
]),
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/transfers/requirements"
payload := strings.NewReader("{\n \"quote_id\": \"0196edb0-9b6e-7554-9864-d111285a0a44\",\n \"target_account_id\": \"0196edb0-9b6e-7554-9864-d111285a0a44\",\n \"details\": {\n \"reference\": \"Payment for invoice #123\",\n \"sourceOfFunds\": \"verification.source.of.funds.other\",\n \"sourceOfFundsOther\": \"Trust funds\"\n }\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/transfers/requirements")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"quote_id\": \"0196edb0-9b6e-7554-9864-d111285a0a44\",\n \"target_account_id\": \"0196edb0-9b6e-7554-9864-d111285a0a44\",\n \"details\": {\n \"reference\": \"Payment for invoice #123\",\n \"sourceOfFunds\": \"verification.source.of.funds.other\",\n \"sourceOfFundsOther\": \"Trust funds\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://thirdparty.qonto.com/v2/international/transfers/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 \"target_account_id\": \"0196edb0-9b6e-7554-9864-d111285a0a44\",\n \"details\": {\n \"reference\": \"Payment for invoice #123\",\n \"sourceOfFunds\": \"verification.source.of.funds.other\",\n \"sourceOfFundsOther\": \"Trust funds\"\n }\n}"
response = http.request(request)
puts response.read_body{
"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"
}
]
}
]
}
]
}
]
}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:
{
"requirements": [
{
"type": "transfer",
"fields": [
{
"name": "Transfer purpose",
"group": [{"key": "reference", ...}]
}
]
}
]
}
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"
}
}
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"
}
}
}
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
The quote unique identifier
"0196edb0-9b6e-7554-9864-d111285a0a44"
The target account id of the beneficiary, obtained after the beneficiary is created or updated
"0196edb0-9b6e-7554-9864-d111285a0a44"
Data collected from the user to create a transfer.
{
"reference": "Payment for invoice #123",
"sourceOfFunds": "verification.source.of.funds.other",
"sourceOfFundsOther": "Trust funds"
}
Response
Returns the list of international transfer's requirements
Show child attributes
Show child attributes
Was this page helpful?