Submit Bulk IBAN Holder Verifications
curl --request POST \
--url https://api.ibantrack.com/api-v1/account-holder-verifications/bulk \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"verifications": [
{
"account": {
"iban": "FR7630004000031234567890143"
},
"account_holder": {
"name": "Jean Dupont"
}
},
{
"account": {
"iban": "FR1420041010050500013M02606"
},
"account_holder": {
"name": "Marie Martin"
}
},
{
"account": {
"iban": "FR7630006000011234567890189"
},
"account_holder": {
"name": "SARL TECHSOLUTIONS"
}
}
]
}
'import requests
url = "https://api.ibantrack.com/api-v1/account-holder-verifications/bulk"
payload = { "verifications": [
{
"account": { "iban": "FR7630004000031234567890143" },
"account_holder": { "name": "Jean Dupont" }
},
{
"account": { "iban": "FR1420041010050500013M02606" },
"account_holder": { "name": "Marie Martin" }
},
{
"account": { "iban": "FR7630006000011234567890189" },
"account_holder": { "name": "SARL TECHSOLUTIONS" }
}
] }
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({
verifications: [
{
account: {iban: 'FR7630004000031234567890143'},
account_holder: {name: 'Jean Dupont'}
},
{
account: {iban: 'FR1420041010050500013M02606'},
account_holder: {name: 'Marie Martin'}
},
{
account: {iban: 'FR7630006000011234567890189'},
account_holder: {name: 'SARL TECHSOLUTIONS'}
}
]
})
};
fetch('https://api.ibantrack.com/api-v1/account-holder-verifications/bulk', 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://api.ibantrack.com/api-v1/account-holder-verifications/bulk",
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([
'verifications' => [
[
'account' => [
'iban' => 'FR7630004000031234567890143'
],
'account_holder' => [
'name' => 'Jean Dupont'
]
],
[
'account' => [
'iban' => 'FR1420041010050500013M02606'
],
'account_holder' => [
'name' => 'Marie Martin'
]
],
[
'account' => [
'iban' => 'FR7630006000011234567890189'
],
'account_holder' => [
'name' => 'SARL TECHSOLUTIONS'
]
]
]
]),
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://api.ibantrack.com/api-v1/account-holder-verifications/bulk"
payload := strings.NewReader("{\n \"verifications\": [\n {\n \"account\": {\n \"iban\": \"FR7630004000031234567890143\"\n },\n \"account_holder\": {\n \"name\": \"Jean Dupont\"\n }\n },\n {\n \"account\": {\n \"iban\": \"FR1420041010050500013M02606\"\n },\n \"account_holder\": {\n \"name\": \"Marie Martin\"\n }\n },\n {\n \"account\": {\n \"iban\": \"FR7630006000011234567890189\"\n },\n \"account_holder\": {\n \"name\": \"SARL TECHSOLUTIONS\"\n }\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://api.ibantrack.com/api-v1/account-holder-verifications/bulk")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"verifications\": [\n {\n \"account\": {\n \"iban\": \"FR7630004000031234567890143\"\n },\n \"account_holder\": {\n \"name\": \"Jean Dupont\"\n }\n },\n {\n \"account\": {\n \"iban\": \"FR1420041010050500013M02606\"\n },\n \"account_holder\": {\n \"name\": \"Marie Martin\"\n }\n },\n {\n \"account\": {\n \"iban\": \"FR7630006000011234567890189\"\n },\n \"account_holder\": {\n \"name\": \"SARL TECHSOLUTIONS\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ibantrack.com/api-v1/account-holder-verifications/bulk")
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 \"verifications\": [\n {\n \"account\": {\n \"iban\": \"FR7630004000031234567890143\"\n },\n \"account_holder\": {\n \"name\": \"Jean Dupont\"\n }\n },\n {\n \"account\": {\n \"iban\": \"FR1420041010050500013M02606\"\n },\n \"account_holder\": {\n \"name\": \"Marie Martin\"\n }\n },\n {\n \"account\": {\n \"iban\": \"FR7630006000011234567890189\"\n },\n \"account_holder\": {\n \"name\": \"SARL TECHSOLUTIONS\"\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"total_items": 123,
"created_at": "2023-11-07T05:31:56Z"
}{
"code": "iban_required",
"message": "The IBAN field is required within account object."
}{
"code": "iban_required",
"message": "The IBAN field is required within account object."
}Bulk Verifications
Create Bulk Verification
Create a new bulk IBAN holder verification request.
POST
/
account-holder-verifications
/
bulk
Submit Bulk IBAN Holder Verifications
curl --request POST \
--url https://api.ibantrack.com/api-v1/account-holder-verifications/bulk \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"verifications": [
{
"account": {
"iban": "FR7630004000031234567890143"
},
"account_holder": {
"name": "Jean Dupont"
}
},
{
"account": {
"iban": "FR1420041010050500013M02606"
},
"account_holder": {
"name": "Marie Martin"
}
},
{
"account": {
"iban": "FR7630006000011234567890189"
},
"account_holder": {
"name": "SARL TECHSOLUTIONS"
}
}
]
}
'import requests
url = "https://api.ibantrack.com/api-v1/account-holder-verifications/bulk"
payload = { "verifications": [
{
"account": { "iban": "FR7630004000031234567890143" },
"account_holder": { "name": "Jean Dupont" }
},
{
"account": { "iban": "FR1420041010050500013M02606" },
"account_holder": { "name": "Marie Martin" }
},
{
"account": { "iban": "FR7630006000011234567890189" },
"account_holder": { "name": "SARL TECHSOLUTIONS" }
}
] }
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({
verifications: [
{
account: {iban: 'FR7630004000031234567890143'},
account_holder: {name: 'Jean Dupont'}
},
{
account: {iban: 'FR1420041010050500013M02606'},
account_holder: {name: 'Marie Martin'}
},
{
account: {iban: 'FR7630006000011234567890189'},
account_holder: {name: 'SARL TECHSOLUTIONS'}
}
]
})
};
fetch('https://api.ibantrack.com/api-v1/account-holder-verifications/bulk', 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://api.ibantrack.com/api-v1/account-holder-verifications/bulk",
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([
'verifications' => [
[
'account' => [
'iban' => 'FR7630004000031234567890143'
],
'account_holder' => [
'name' => 'Jean Dupont'
]
],
[
'account' => [
'iban' => 'FR1420041010050500013M02606'
],
'account_holder' => [
'name' => 'Marie Martin'
]
],
[
'account' => [
'iban' => 'FR7630006000011234567890189'
],
'account_holder' => [
'name' => 'SARL TECHSOLUTIONS'
]
]
]
]),
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://api.ibantrack.com/api-v1/account-holder-verifications/bulk"
payload := strings.NewReader("{\n \"verifications\": [\n {\n \"account\": {\n \"iban\": \"FR7630004000031234567890143\"\n },\n \"account_holder\": {\n \"name\": \"Jean Dupont\"\n }\n },\n {\n \"account\": {\n \"iban\": \"FR1420041010050500013M02606\"\n },\n \"account_holder\": {\n \"name\": \"Marie Martin\"\n }\n },\n {\n \"account\": {\n \"iban\": \"FR7630006000011234567890189\"\n },\n \"account_holder\": {\n \"name\": \"SARL TECHSOLUTIONS\"\n }\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://api.ibantrack.com/api-v1/account-holder-verifications/bulk")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"verifications\": [\n {\n \"account\": {\n \"iban\": \"FR7630004000031234567890143\"\n },\n \"account_holder\": {\n \"name\": \"Jean Dupont\"\n }\n },\n {\n \"account\": {\n \"iban\": \"FR1420041010050500013M02606\"\n },\n \"account_holder\": {\n \"name\": \"Marie Martin\"\n }\n },\n {\n \"account\": {\n \"iban\": \"FR7630006000011234567890189\"\n },\n \"account_holder\": {\n \"name\": \"SARL TECHSOLUTIONS\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ibantrack.com/api-v1/account-holder-verifications/bulk")
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 \"verifications\": [\n {\n \"account\": {\n \"iban\": \"FR7630004000031234567890143\"\n },\n \"account_holder\": {\n \"name\": \"Jean Dupont\"\n }\n },\n {\n \"account\": {\n \"iban\": \"FR1420041010050500013M02606\"\n },\n \"account_holder\": {\n \"name\": \"Marie Martin\"\n }\n },\n {\n \"account\": {\n \"iban\": \"FR7630006000011234567890189\"\n },\n \"account_holder\": {\n \"name\": \"SARL TECHSOLUTIONS\"\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"total_items": 123,
"created_at": "2023-11-07T05:31:56Z"
}{
"code": "iban_required",
"message": "The IBAN field is required within account object."
}{
"code": "iban_required",
"message": "The IBAN field is required within account object."
}Overview
This endpoint allows you to submit up to 2000 IBAN account holder verifications in a single request. The bulk request is processed asynchronously.Once accepted, you can monitor its progress using the bulk status endpoint.
Processing model
- Credits are debited at submission time.
- Each item is processed independently.
- Items with invalid format are marked as
rejectedand are not billed. - If an item format was valid but the financial institution could not process the verification, the item is marked as
failed. It this case, details are provided in thestatus_reasonfield.
Limits
- Maximum 2000 items per request.
- Minimum 1 item.
Response
A200 Accepted response indicates that the bulk has been successfully created and scheduled for processing.
Use the returned id to retrieve the bulk status and results.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
List of account holder verifications to process in bulk (maximum 2000 per request).
Required array length:
1 - 2000 elementsShow child attributes
Show child attributes
⌘I