Skip to main content
POST
/
v2
/
sepa
/
bulk_verify_payee
Bulk verify SEPA payees
curl --request POST \
  --url https://thirdparty.qonto.com/v2/sepa/bulk_verify_payee \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "requests": [
    {
      "id": "req_001",
      "beneficiary_name": "John Doe",
      "iban": "FR1420041010050500013M02606"
    },
    {
      "id": "req_002",
      "beneficiary_name": "Jane Smith",
      "iban": "GB82WEST12345698765432"
    },
    {
      "id": "req_003",
      "beneficiary_name": "ACME Corp",
      "iban": "DE89370400440532013000"
    }
  ]
}
'
import requests

url = "https://thirdparty.qonto.com/v2/sepa/bulk_verify_payee"

payload = { "requests": [
{
"id": "req_001",
"beneficiary_name": "John Doe",
"iban": "FR1420041010050500013M02606"
},
{
"id": "req_002",
"beneficiary_name": "Jane Smith",
"iban": "GB82WEST12345698765432"
},
{
"id": "req_003",
"beneficiary_name": "ACME Corp",
"iban": "DE89370400440532013000"
}
] }
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({
requests: [
{
id: 'req_001',
beneficiary_name: 'John Doe',
iban: 'FR1420041010050500013M02606'
},
{id: 'req_002', beneficiary_name: 'Jane Smith', iban: 'GB82WEST12345698765432'},
{id: 'req_003', beneficiary_name: 'ACME Corp', iban: 'DE89370400440532013000'}
]
})
};

fetch('https://thirdparty.qonto.com/v2/sepa/bulk_verify_payee', 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/sepa/bulk_verify_payee",
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([
'requests' => [
[
'id' => 'req_001',
'beneficiary_name' => 'John Doe',
'iban' => 'FR1420041010050500013M02606'
],
[
'id' => 'req_002',
'beneficiary_name' => 'Jane Smith',
'iban' => 'GB82WEST12345698765432'
],
[
'id' => 'req_003',
'beneficiary_name' => 'ACME Corp',
'iban' => 'DE89370400440532013000'
]
]
]),
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/sepa/bulk_verify_payee"

payload := strings.NewReader("{\n \"requests\": [\n {\n \"id\": \"req_001\",\n \"beneficiary_name\": \"John Doe\",\n \"iban\": \"FR1420041010050500013M02606\"\n },\n {\n \"id\": \"req_002\",\n \"beneficiary_name\": \"Jane Smith\",\n \"iban\": \"GB82WEST12345698765432\"\n },\n {\n \"id\": \"req_003\",\n \"beneficiary_name\": \"ACME Corp\",\n \"iban\": \"DE89370400440532013000\"\n }\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/sepa/bulk_verify_payee")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"requests\": [\n {\n \"id\": \"req_001\",\n \"beneficiary_name\": \"John Doe\",\n \"iban\": \"FR1420041010050500013M02606\"\n },\n {\n \"id\": \"req_002\",\n \"beneficiary_name\": \"Jane Smith\",\n \"iban\": \"GB82WEST12345698765432\"\n },\n {\n \"id\": \"req_003\",\n \"beneficiary_name\": \"ACME Corp\",\n \"iban\": \"DE89370400440532013000\"\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://thirdparty.qonto.com/v2/sepa/bulk_verify_payee")

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 \"requests\": [\n {\n \"id\": \"req_001\",\n \"beneficiary_name\": \"John Doe\",\n \"iban\": \"FR1420041010050500013M02606\"\n },\n {\n \"id\": \"req_002\",\n \"beneficiary_name\": \"Jane Smith\",\n \"iban\": \"GB82WEST12345698765432\"\n },\n {\n \"id\": \"req_003\",\n \"beneficiary_name\": \"ACME Corp\",\n \"iban\": \"DE89370400440532013000\"\n }\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "proof_token": {
    "token": "proof_1234567890abcdef"
  },
  "requests": [
    {
      "id": "req_001",
      "response": {
        "match_result": "MATCH_RESULT_MATCH"
      }
    },
    {
      "id": "req_002",
      "response": {
        "match_result": "MATCH_RESULT_CLOSE_MATCH",
        "matched_name": "J. Smith"
      }
    },
    {
      "id": "req_003",
      "error_code": "SINGLE_REQUEST_ERROR_CODE_BAD_REQUEST_ERROR_RESPONDING_BANK_NOT_AVAILABLE"
    }
  ]
}

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.

Body

application/json
requests
object[]
required

List of verification requests to be processed in bulk

Required array length: 1 - 400 elements

Response

Bulk verification completed (may contain mixed success/error results)

proof_token
object
required

Token ensuring verification of payee was performed for the set of requests. This token must be used to initiate a bulk transfer to the exact same set of payees, validation will fail otherwise. The token can be used regardless of the VOP match result.

requests
object[]
required

List of verification request results