Sample structures of the BANK_DETAILS_CHECK API responses for South Africa Bank Account Verification (zaf_gov_bav).
The examples below illustrate responses returned by this API method.
GREEN
The following response examples represent successful checks.
{
"checks": [
{
"answer": "GREEN",
"checkType": "BANK_DETAILS_CHECK",
"createdAt": "2026-06-03 04:45:05",
"id": "bcc66d64-1697-4d7f-8e82-89eccf7b62de",
"inputDoc": {
"idDocType": "OTHER",
"country": "ZAF",
"lastName": "Doe",
"bankAccount": {
"accountDocType": "ID_CARD",
"accountDocNumber": "9912306001080",
"accountNumber": "1234567890",
"bankName": "FNB"
}
},
"extractedDoc": {
"country": "ZAF",
"idDocType": "ID_CARD",
"number": "9912306001080",
"lastName": "Doe"
},
"databasePersonCheckInfo": {},
"ekycCheckInfo": {},
"bankDetailsCheckInfo": {
"accountDetails": {
"personFullName": "Doe",
"accountNumber": "1234567890",
"accountStatus": "OPEN",
"bankName": "FNB",
"bankBranchCode": "250655",
"country": "ZAF",
"canAcceptCredit": true,
"canAcceptDebit": true,
"openAtLeast3Months": true
}
}
}
]
}{
"checks": [
{
"answer": "GREEN",
"checkType": "BANK_DETAILS_CHECK",
"createdAt": "2026-06-03 04:45:05",
"id": "bcc66d64-1697-4d7f-8e82-89eccf7b62de",
"inputDoc": {
"idDocType": "OTHER",
"country": "ZAF",
"lastName": "Doe",
"bankAccount": {
"accountDocType": "PASSPORT",
"accountDocNumber": "567890123",
"accountNumber": "1234567890",
"bankName": "FNB"
}
},
"extractedDoc": {
"country": "ZAF",
"idDocType": "PASSPORT",
"number": "567890123",
"lastName": "Doe"
},
"databasePersonCheckInfo": {},
"ekycCheckInfo": {},
"bankDetailsCheckInfo": {
"accountDetails": {
"personFullName": "Doe",
"accountNumber": "1234567890",
"accountStatus": "OPEN",
"bankName": "FNB",
"bankBranchCode": "250655",
"country": "ZAF",
"canAcceptCredit": true,
"canAcceptDebit": true,
"openAtLeast3Months": true
}
}
}
]
}RED
The following response examples represent rejection cases where the applicant failed Bank Account Verification due to a data mismatch or the absence of matching information in the database.
{
"checks": [
{
"answer": "RED",
"checkType": "BANK_DETAILS_CHECK",
"createdAt": "2026-05-20 13:34:34",
"id": "1f82adfd-a22d-4bab-9086-935828cdfb69",
"inputDoc": {
"idDocType": "OTHER",
"country": "ZAF",
"lastName": "Doe",
"bankAccount": {
"accountDocType": "ID_CARD",
"accountDocNumber": "9912301230019",
"foreignCitizen": false,
"accountNumber": "123454321",
"accountType": "CACC",
"bankName": "FNB"
}
},
"databasePersonCheckInfo": {},
"ekycCheckInfo": {},
"violations": [
"ACCOUNT_NOT_FOUND"
]
}
]
}{
"checks": [
{
"answer": "RED",
"checkType": "BANK_DETAILS_CHECK",
"createdAt": "2026-06-03 04:48:41",
"id": "619c9137-6af2-49ba-941d-ff9f848c945c",
"inputDoc": {
"idDocType": "OTHER",
"country": "ZAF",
"lastName": "Doe",
"bankAccount": {
"accountDocType": "ID_CARD",
"accountDocNumber": "9912301230020",
"accountNumber": "123454321",
"bankName": "FNB"
}
},
"databasePersonCheckInfo": {},
"ekycCheckInfo": {},
"violations": [
"ID_NUMBER_MISMATCH"
]
}
]
}Response explained
The response represents a singleton list of checks.
Root variables
The root variables are the core BANK_DETAILS_CHECK check result data items. Some of them may include nested attributes and element fields.
| Field | Type | Description |
|---|---|---|
answer | String | Check answer:
|
bankDetailsCheckInfo | Object | Includes BANK_DETAILS_CHECK check results. |
checkType | String | Indicates that it is a BANK_DETAILS_CHECK check type. |
createdAt | Date | Date and time (UTC, format YYYY-DD-MM HH:MM:SS) of the latest BANK_DETAILS_CHECK check result. |
extractedDoc | Object | External check source data. It may not be present if the data is not received. |
id | String | Unique identifier of the check. |
inputDoc | Object | Represents the data used for the BANK_DETAILS_CHECK check. |
violations | Array of strings | Indicates violations that were found:
|
inputDoc attributes
inputDoc attributes| Field | Type | Description |
|---|---|---|
idDocType | String | Type of the data provided for verification (OTHER). |
country | String | Alpha-3 country code (for example, DEU, GBR, ARG). |
lastName | String | Last name provided by the applicant. |
bankAccount | Object | Bank account details provided by the applicant. |
bankAccount attributes
bankAccount attributes| Field | Type | Description |
|---|---|---|
accountDocType | String | Type of the ID document or data provided for verification:
|
accountDocNumber | String | Identification number provided by the applicant. |
accountNumber | String | Account number provided by the applicant. |
bankName | String | Bank name provided by the applicant. |
extractedDoc attributes
extractedDoc attributes| Field | Type | Description |
|---|---|---|
country | String | Alpha-3 country code (for example, DEU, GBR, ARG). |
idDocType | String | Type of the document linked to the bank account. |
number | String | ID document number. |
lastName | String | Applicant last name. |
bankDetailsCheckInfo attributes
bankDetailsCheckInfo attributes| Field | Type | Description |
|---|---|---|
accountDetails | Object | Represents the data validated in the external source. |
accountDetails attributes
accountDetails attributes| Field | Type | Description |
|---|---|---|
personFullName | String | Applicant last name. |
accountNumber | String | Applicant account number. |
accountStatus | String | Account status:
|
bankName | String | Bank name. Possible values:
|
bankBranchCode | String | Bank universal branch code. |
country | String | Bank country. Presented as an alpha-3 country code (for example, DEU, GBR, ARG). |
canAcceptCredit | Boolean | Indicates whether the account can accept credits. |
canAcceptDebit | Boolean | Indicates whether the account can accept debits. |
openAtLeast3Months | Boolean | Indicates whether the account was open for at least 3 months. |