Accounts & UtilitiesBank Account Verifications

Verify identity of bank account holder

Verify that the identity information matches the account holder of the given bank account. For example, you can use this API to check if the bank account number provided by a customer indeed belongs to them.

You can use these special accountNumber values in test mode to simulate specific outcomes.

accountNumberOutcome
4242424200Successful
545454500Successful
4242424291failureReason: INVALID_IDENTITY_NUMBER
545454591failureReason: INVALID_IDENTITY_NUMBER
4242424292failureReason: IDENTITY_NOT_FOUND
545454592failureReason: IDENTITY_NOT_FOUND
4242424293failureReason: IDENTITY_MISMATCH
545454593failureReason: IDENTITY_MISMATCH
4242424294failureReason: ACCOUNT_CLOSED
545454594failureReason: ACCOUNT_CLOSED

All other values will fail with failureReason of OTHERS.

POST
/v1/bank-account-verifications

Authorization

authorization
AuthorizationBearer <token>

Set Your Secret API Key

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

accountNumber*string

DBS/POSB bank account number. Hyphens must be excluded. A DBS account number has 10 digits, and a POSB account number has 9 digits.

Match^[0-9]{7,30}$
Length1 <= length
bank*string

Bank of the given account number. Currently must be DBSSSGSGXXX.

Match^[A-Z0-9]{8}([A-Z0-9]{3})?$
Length1 <= length
idNumber?string

NRIC number, passport number or Malaysia identity card number. For joint accounts, this can be either one of the account holder's identity.

Length0 <= length <= 16
idType?string

Type of identity: NRIC, PASSPORT, or MALAYSIAN_ID.

Response Body

*/*

application/json

application/json

curl -X POST "https://example.com/v1/bank-account-verifications" \
  -H "Content-Type: application/json" \
  -d '{
    "accountNumber": "string",
    "bank": "string"
  }'
{
  "accountNumber": "string",
  "failureReason": "string",
  "idNumber": "string",
  "idType": "string",
  "success": true
}