Query KYC
Overview
Check the status of your customer's KYC review using the client_id returned when you create a customer account. Only customers with an APPROVED status will be able to transact.
Resource Access
- HTTP Method:
GET - Endpoint:
/banking/iban/api/account/v2/certification/query - Authentication: Bearer token required
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
client_id | string | Yes | The unique customer ID |
Request Headers
| Header | Value | Required | Description |
|---|---|---|---|
Accept | application/json | Yes | Content type for the response |
Authorization | Bearer {access_token} | Yes | Bearer token for authentication |
Response
Success Response (200 OK)
{
"client_id": "M2024121314005491902",
"kyc_status": "APPROVED",
"merchant_type": "enterprise",
"location": "DE",
"reviewed_at": "2026-01-14T10:00:00.000Z",
"decline_reason": null
}
Response Fields
| Field | Type | Description |
|---|---|---|
client_id | string | Customer identifier |
kyc_status | string | Current KYC status |
merchant_type | string | Type of merchant |
location | string | Country code |
reviewed_at | string (date-time) | Review completion timestamp |
decline_reason | string | Reason for decline (if applicable) |
KYC Status Values
- PENDING: Under review - KYC review is incomplete
- APPROVED: Customer is fully compliant and ready to transact
- DECLINED: Review rejected or additional information requested
Error Responses
- 401 Unauthorized: Invalid or missing authentication token
- 404 Not Found: Customer not found
Code Examples
cURL
curl -X GET \
'https://gateway.ahrvo.network/banking/iban/api/account/v2/certification/query?client_id=M2024121314005491902' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Python
import requests
url = "https://gateway.ahrvo.network/banking/iban/api/account/v2/certification/query"
headers = {
"Accept": "application/json",
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
params = {
"client_id": "M2024121314005491902"
}
response = requests.get(url, headers=headers, params=params)
print(response.json())
JavaScript (Node.js)
const axios = require('axios');
const url = 'https://gateway.ahrvo.network/banking/iban/api/account/v2/certification/query';
const headers = {
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
};
const params = {
client_id: 'M2024121314005491902'
};
axios.get(url, { headers, params })
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error.response.data);
});
Usage Notes
- Check KYC status before attempting transactions
- Poll this endpoint periodically if not using webhooks
- DECLINED status may include requests for additional information
- Resubmit KYC with updated information if declined
- Typical review time is 1-5 business days