Warning
This API method is experimental and may change or be deprecated in the future. It is not guaranteed to remain stable, and its use may require adjustments over time.
Overview
Use this method to get the results of Bank Account Verification or Penny Drop Verification.
Request example
curl -X GET \
'https://api.sumsub.com/resources/checks/latest?applicantId=67346d0623c63349989d32bb&type=BANK_DETAILS_CHECK' \
-H 'accept: application/json'
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:
|
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. |
id | String | Unique identifier of the check. |
inputDoc | Object | Represents the data used for the BANK_DETAILS_CHECK check. |
extractedDoc | Object | External check source data. It may not be present if the data is not received. |
bankDetailsCheckInfo | Object | Includes BANK_DETAILS_CHECK check results. |
ekycCheckInfo | Object | Non-Doc verification information. |
violations | Array of strings | Indicates violations that were found:
|
inputDoc
attributes
inputDoc
attributesField | Type | Description |
---|---|---|
idDocType | String | Type of the document provided for verification (PROOF_OF_PAYMENT or OTHER ). |
country | String | Alpha-3 country code (for example, DEU , GBR , ARG , and so on). |
extractedDoc
attributes
extractedDoc
attributesField | Type | Description |
---|---|---|
firstName | String | Applicant first name. |
additionalFields | Array of objects | Represents additional information about the applicant. |
ekycCheckInfo
attributes
ekycCheckInfo
attributesField | Type | Description |
---|---|---|
country | String | Alpha-3 country code (for example, DEU , GBR , ARG , and so on). |
confirmationId | String | Confirmation identifier for oAuth verification. |
confirmationType | String | Confirmation type:
|
bankDetailsCheckInfo
attributes
bankDetailsCheckInfo
attributesaccountDetails
attributes
accountDetails
attributesField | Type | Description |
---|---|---|
personFullName | String | Sender full name. |
legalAge | Boolean | Specifies whether the account holder is of legal age or is a minor:
|
iban | String | Sender IBAN. |
accountType | String | Type of the account. Return the code aligned with the ISO 20022:
|
bankName | String | Sender Bank name. |
bankBranchName | String | Sender Bank branch name. |
bic | String | Sender Bank BIC. |
country | String | Sender Bank country. Presented as an alpha-3 country code (for example, DEU , GBR , ARG , and so on). |
creditLimit | Object | Credit limit of the account. |
balanceDetails | Object | Account balance details. |
creditLimit
attributes
creditLimit
attributesField | Type | Description |
---|---|---|
amount | Double | Credit limit amount (for example, 10000.0 ). |
currency | String | Currency of the amount, returned as a ISO 4217 code (for example, EUR ). |
balanceDetails
attributes
balanceDetails
attributesField | Type | Description |
---|---|---|
moneyAmount | Object | Balance amount and currency. |
balanceType | String | Account balance type, returned as the code following the ISO 20022 standard:
|
lastTransactionDate | Date | Date and time (UTC, format YYYY-DD-MM HH:MM:SS ) of the last transaction. |
moneyAmount
attributes
moneyAmount
attributesField | Type | Description |
---|---|---|
amount | Double | Credit limit amount (for example, 10000.0 ). |
currency | String | Currency of the amount, returned as ISO 4217 code (for example, EUR ). |
transferInfo
attributes
transferInfo
attributestransferDetails
attributes
transferDetails
attributesField | Type | Description |
---|---|---|
paymentId | String | Unique identifier of the payment. |
reference | String | Unique reference for the payment from the merchant. |
createdAt | Date | Date and time (UTC, format YYYY-DD-MM HH:MM:SS ) of the payment. |
amount | Integer | Payment amount. |
currency | String | Payment currency code, e.g. EUR . |
status | String | Payment status:
|
originalStatus | String | Detailed payment status:
|
type | String | Transaction type: OTHER . |
refundStatus | String | Refund status (returned only if the Penny Drop Refund feature is enabled for your account):
|
originalRefundStatus | String | Refund status (returned only if the Penny Drop Refund feature is enabled for your account):
|
refundReference | String | Unique identifier of the created refund. |
beneficiaryDetails
attributes
beneficiaryDetails
attributesField | Type | Description |
---|---|---|
personFullName | String | Beneficiary full name. |
iban | String | Beneficiary IBAN. |
bic | String | Beneficiary Bank BIC. |
country | String | Beneficiary Bank country. Presented as an alpha-3 country code (for example, DEU , GBR , ARG , and so on). |
Response examples
Penny Drop (PD) verification response examples
If the request is successfully sent and processed, you will get a response with one of the following answers:
GREEN
— verification is successfully completed.YELLOW
— verification is currently in progress.ERROR
— verification is not completed because the service is currently unavailable.
{
"checks": [
{
"answer": "GREEN",
"checkType": "BANK_DETAILS_CHECK",
"createdAt": "2025-03-09 19:25:07",
"id": "aa3b1641-cf91-4d19-95e1-62d30d7f401a",
"inputDoc": {
"idDocType": "PROOF_OF_PAYMENT",
"country": "DEU"
},
"extractedDoc": {
"firstName": "Jane Doe",
"additionalFields": [
{
"name": "bank",
"value": "Volt Mock Bank"
}
]
},
"ekycCheckInfo": {
"confirmationId": "oOp4x5Rm72yeFOx3kfs5FCFv",
"confirmationType": "oAuth"
},
"bankDetailsCheckInfo": {
"accountDetails": {
"personFullName": "Jane Doe",
"iban": "DE53500105177415947516",
"bankName": "Volt Mock Bank",
"bankBranchName": "Volt Mock Bank",
"bic": "COBADEFF",
"country": "DEU"
},
"transferInfo": {
"transferDetails": {
"paymentId": "7356dafb-67e2-473c-acb7-baa9d3fd7736",
"reference": "PNLykibtDB",
"createdAt": "2025-03-09 19:24:35",
"amount": 0.1,
"currency": "EUR",
"status": "RECEIVED",
"originalStatus": "RECEIVED",
"type": "OTHER",
"refundStatus": "COMPLETED",
"originalRefundStatus": "REFUND_CONFIRMED",
"refundReference": "026cefa0-a174-4ca3-a1e6-533a129d9c32"
},
"beneficiaryDetails": {
"personFullName": "Raritex Trade Ltd",
"iban": "DE89370400440532013000",
"bic": "COBADEFF",
"country": "DEU"
}
}
}
}
]
}
{
"checks" : [ {
"answer" : "YELLOW",
"checkType" : "BANK_DETAILS_CHECK",
"createdAt" : "2025-02-06 09:50:47",
"id" : "5e5eeaca-3ec0-450b-ad4f-5121813cd096",
"inputDoc" : {
"idDocType" : "PROOF_OF_PAYMENT",
"country" : "DNK"
},
"ekycCheckInfo" : {
"confirmationId" : "Fip2DKtUbkSSuLBmOzpyfAHi",
"confirmationType" : "oAuth"
}
} ]
}
{
"checks" : [ {
"answer" : "ERROR",
"checkType" : "BANK_DETAILS_CHECK",
"createdAt" : "2025-02-05 12:46:04",
"id" : "6bf059dc-03d6-4c4c-96d6-d4fec6245def",
"inputDoc" : {
"idDocType" : "PROOF_OF_PAYMENT",
"country" : "DEU"
},
"ekycCheckInfo" : { }
} ]
}
Bank Account Verification (BAV) response examples
If the request is successfully sent and processed, you will get a response with one of the following answers:
GREEN
— applicant has successfully passed verification.YELLOW
— applicant verification is currently in progress.RED
— applicant has not passed verification and was rejected.ERROR
— applicant verification was not completed because the service is currently unavailable.
{
"checks": [
{
"answer": "GREEN",
"checkType": "BANK_DETAILS_CHECK",
"createdAt": "2025-05-18 19:20:59",
"id": "34fbc1c8-164d-4bcf-b085-7f0323b2e0cf",
"inputDoc": {
"idDocType": "OTHER",
"country": "FIN"
},
"extractedDoc": {
"country": "FIN",
"firstName": "Mikko Virtanen"
},
"ekycCheckInfo": {
"confirmationId": "st8KmCZMPXog2SnTR75vDLs3",
"confirmationType": "oAuth"
},
"bankDetailsCheckInfo": {
"accountDetails": {
"personFullName": "Mikko Virtanen",
"legalAge": true,
"iban": "FI3012345600000785",
"accountType": "CACC",
"creditLimit": {
"amount": 10000.0,
"currency": "EUR"
},
"bankName": "S-Pankki",
"bic": "SPANKFIHXXX",
"country": "FIN",
"balanceDetails": {
"moneyAmount": {
"amount": 3000.0,
"currency": "EUR"
},
"balanceType": "CLAV",
"lastTransactionDate": "2025-05-18 19:20:59"
}
}
}
}
]
}
{
"checks": [
{
"answer": "YELLOW",
"checkType": "BANK_DETAILS_CHECK",
"createdAt": "2025-06-18 09:20:35",
"id": "e7b3b71f-5278-4e63-ba17-377377779b0b",
"inputDoc": {
"idDocType": "OTHER",
"country": "FIN"
},
"ekycCheckInfo": {
"confirmationId": "u8M2pnx58JHSCthoSC1o7yu1",
"confirmationType": "options"
}
}
]
}
{
"checks": [
{
"answer": "RED",
"checkType": "BANK_DETAILS_CHECK",
"createdAt": "2025-05-18 19:20:59",
"id": "34fbc1c8-164d-4bcf-b085-7f0323b2e0cf",
"inputDoc": {
"idDocType": "OTHER",
"country": "FIN"
},
"extractedDoc": {
"country": "FIN",
"firstName": "Mikko Virtanen"
},
"ekycCheckInfo": {
"confirmationId": "st8KmCZMPXog2SnTR75vDLs3",
"confirmationType": "oAuth"
},
"bankDetailsCheckInfo": {
"accountDetails": {
"personFullName": "Mikko Virtanen",
"legalAge": false,
"iban": "FI3012345600000785",
"accountType": "CACC",
"creditLimit": {
"amount": 10000.0,
"currency": "EUR"
},
"bankName": "S-Pankki",
"bic": "SPANKFIHXXX",
"country": "FIN",
"balanceDetails": {
"moneyAmount": {
"amount": 3000.0,
"currency": "EUR"
},
"balanceType": "CLAV",
"lastTransactionDate": "2025-05-18 19:20:59"
}
}
},
"violations": [
"PERSON_IS_MINOR"
]
}
]
}
{
"checks": [
{
"answer": "ERROR",
"checkType": "BANK_DETAILS_CHECK",
"createdAt": "2025-02-05 12:46:04",
"id": "6bf059dc-03d6-4c4c-96d6-d4fec6245def",
"inputDoc": {
"idDocType": "OTHER",
"country": "FIN"
},
"ekycCheckInfo": {}
}
]
}
Failed request example
If the request fails, you will receive an HTTP response containing an error code along with a message explaining the error. For example:
{
"description": "Applicant with id 67346775989cba6a82b621de not found",
"code": 404,
"correlationId": "3b156dad5a2dfe4bec2485b2039f7e64"
}