List verification sessions
curl --request GET \
--url https://api-prod.blaaiz.com/api/external/compliance/kyc/sessions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-prod.blaaiz.com/api/external/compliance/kyc/sessions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-prod.blaaiz.com/api/external/compliance/kyc/sessions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));require 'uri'
require 'net/http'
url = URI("https://api-prod.blaaiz.com/api/external/compliance/kyc/sessions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-prod.blaaiz.com/api/external/compliance/kyc/sessions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"message": "Verification sessions retrieved successfully.",
"data": {
"sessions": [
{
"id": "9f2c7b41-6d3e-4c8a-9a20-1e6f0b5d7c33",
"business_id": "9d4c4ec5-572d-49de-a362-f01ed09f2b1b",
"customer_reference": "user_10482",
"requirements": [
"DOCUMENTS",
"SELFIE",
"FACE_MATCH"
],
"fulfilment_mode": "BLAAIZ_HOSTED",
"status": "AWAITING_INPUT",
"steps": {
"documents": "PENDING",
"selfie": "PENDING",
"proof_of_address": null
},
"rejection": null,
"expires_at": "2026-08-30T09:14:22.000Z",
"completed_at": null,
"created_at": "2026-08-29T09:14:22.000Z"
},
{
"id": "9f2c7b41-6d3e-4c8a-9a20-1e6f0b5d7c33",
"business_id": "9d4c4ec5-572d-49de-a362-f01ed09f2b1b",
"customer_reference": "user_10482",
"requirements": [
"DOCUMENTS"
],
"fulfilment_mode": "HEADLESS",
"status": "AWAITING_INPUT",
"steps": {
"documents": "SUBMITTED",
"selfie": null,
"proof_of_address": null
},
"rejection": null,
"expires_at": "2026-08-30T09:14:22.000Z",
"completed_at": null,
"created_at": "2026-08-29T09:14:22.000Z"
}
]
}
}{
"message": "Invalid or missing access token"
}{
"message": "Invalid scope(s) provided."
}{
"message": "The limit must not be greater than 100.",
"errors": {
"limit": [
"The limit must not be greater than 100."
]
}
}Verification sessions
List verification sessions
List the verification sessions of your business. The listing is always scoped to the business behind your access token. This endpoint stays available even when Merchant KYC is disabled for your business. Required scope: compliance-kyc:read.
GET
/
api
/
external
/
compliance
/
kyc
/
sessions
List verification sessions
curl --request GET \
--url https://api-prod.blaaiz.com/api/external/compliance/kyc/sessions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-prod.blaaiz.com/api/external/compliance/kyc/sessions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-prod.blaaiz.com/api/external/compliance/kyc/sessions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));require 'uri'
require 'net/http'
url = URI("https://api-prod.blaaiz.com/api/external/compliance/kyc/sessions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-prod.blaaiz.com/api/external/compliance/kyc/sessions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"message": "Verification sessions retrieved successfully.",
"data": {
"sessions": [
{
"id": "9f2c7b41-6d3e-4c8a-9a20-1e6f0b5d7c33",
"business_id": "9d4c4ec5-572d-49de-a362-f01ed09f2b1b",
"customer_reference": "user_10482",
"requirements": [
"DOCUMENTS",
"SELFIE",
"FACE_MATCH"
],
"fulfilment_mode": "BLAAIZ_HOSTED",
"status": "AWAITING_INPUT",
"steps": {
"documents": "PENDING",
"selfie": "PENDING",
"proof_of_address": null
},
"rejection": null,
"expires_at": "2026-08-30T09:14:22.000Z",
"completed_at": null,
"created_at": "2026-08-29T09:14:22.000Z"
},
{
"id": "9f2c7b41-6d3e-4c8a-9a20-1e6f0b5d7c33",
"business_id": "9d4c4ec5-572d-49de-a362-f01ed09f2b1b",
"customer_reference": "user_10482",
"requirements": [
"DOCUMENTS"
],
"fulfilment_mode": "HEADLESS",
"status": "AWAITING_INPUT",
"steps": {
"documents": "SUBMITTED",
"selfie": null,
"proof_of_address": null
},
"rejection": null,
"expires_at": "2026-08-30T09:14:22.000Z",
"completed_at": null,
"created_at": "2026-08-29T09:14:22.000Z"
}
]
}
}{
"message": "Invalid or missing access token"
}{
"message": "Invalid scope(s) provided."
}{
"message": "The limit must not be greater than 100.",
"errors": {
"limit": [
"The limit must not be greater than 100."
]
}
}Authorizations
Use your OAuth client credentials to obtain a short-lived Bearer token from POST /oauth/token.
Query Parameters
How many sessions to return. The default is 20 and the maximum is 100.
Required range:
1 <= x <= 100How many sessions to skip. The default is 0.
Required range:
x >= 0Was this page helpful?

