Bank Account Verification API
VERIFICATION OF ACTIVE BANK ACCOUNT AND NAME MATCHING WITH LEADING BANKS
Description
Bank account verification API offers an instant verification of active savings and current bank account, given account number and IFSC code. This API can be used to filter out inactive or invalid bank accounts before direct deposits or payouts (loans, transfers, micro lending, EMI, credits) to individuals and vendors.

API Outcome
- Account holder name Name of the bank account holder as registered with the bank.
- Active status Status to validate if provided bank account is valid and active.
- Status Code In case the account is found to invalid or flagged, status message describes the reason.
API Details
Request
Type | URL |
---|---|
Post | https://api.attestr.com/api/{version}/public/finanx/acc |
Request Body Parameters
Type | Name | Description | Optional (Default) | Min Version | Max Version |
---|---|---|---|---|---|
String | acc | Bank Account Number | Required | v1 | |
String | ifsc | IFSC code of the bank branch | Required | v1 | |
Boolean | fetchIfsc | Fetch IFSC details for the ifsc provided | Optional | v1 |
Request Header Parameters
Type | Name | Value / Description | Optional | Min Version | Max Version |
---|---|---|---|---|---|
String | Content-Type | application/json | Required | v1 | |
String | Authorization | Basic {authToken} | Required | v1 |
If you do not have the authentication token, please refer to Register App to generate one.
Sample Request
{
"acc": "501XXX2368XXXX"
"ifsc": "HDFC0000314"
}
Response
Http Status Code 200
Please note that the valid key decides the availability of rest of the keys in the response. If provided account / ifsc are invalid, then all keys except valid and message are omitted. If true, remaining keys will have appropriate data.
Key | Description | Type | Min Version | Max Version |
---|---|---|---|---|
valid | True | false if the provided account and ifsc combination is valid, account exists and is active | Boolean | v1 | |
name | Name of the account holder as per bank records | String | v1 | |
message | Message if account / ifsc is invalid (available only if valid is false) | String | v1 | |
suggestion | Suggested new IFSC codes after recent bank acquisitions and mergers. This is available if provided IFSC is invalid and there is a matching new IFSC code record in our database. | String | v1 | |
status | A status code describing the reason if valid is false. It can have following values. ACTIVE: Account is valid and active, INVALID: Account number is invalid. BLOCKED: Account is currently blocked. CLOSED: Account is closed. NRE: Account is a NRE account. INVALID_IFSC: If Ifsc is invalid. | String | v1 | |
ifsc | IFSC details for the ifsc code entered. Available only if fetchIfsc is passed as true. The structure of object is same as specified in IFSC Validation API response. IFSC validation service must be enabled in your account to use this option. | Object | v1 |
Sample Response
Sample response for the case when account and ifsc are both valid and account exists and is active too
{
"valid": true,
"name": "Gitanjali Raheja",
"status": "ACTIVE"
}
Sample response for the case when account either does not exists or is inactive
{
"valid": false,
"message": "Account is either invalid or flagged",
"status": "BLOCKED"
}
Sample response for the case when IFSC is invalid
{
"valid": false,
"message": "Invalid IFSC code",
"status": "INVALID_IFSC",
"suggestion": "ABCD012341"
}
Sample response when fetchIfsc is true.
{
"valid": true,
"name": "GITALI RAHEJA",
"ifsc": {
"valid": true,
"bank": "HDFC Bank",
"code": "HDFC",
"ifsc": "HDFC0000314",
"micr": "110240043",
"branch": "NEW DELHI - DARYA GANJ",
"city": "DELHI",
"district": "NEW DELHI",
"state": "DELHI",
"address": "4686-92 , 21-AANSARI ROAD,DARYAGANJNEW DELHINEW DELHI110002",
"neft": true,
"imps": true,
"rtgs": true
},
"status": "ACTIVE"
}
Error Response
Parameter | Type | Description |
---|---|---|
code | Number | Unique error codes for different errors. Always available. |
message | String | Error message describing the error. Always Available. |
details | String | Detail error message. Available only for certain types of errors. |
Error Codes
HTTP Status | Error Code | Error Message |
---|---|---|
400 | 4001 | Malformed data or missing required parameter values |
400 | 4005 | Operation could not be performed due to low credits balance |
401 | 4016 | Invalid client authorization |
403 | 4031 | Unauthorized access |
403 | 4035 | Requested service is not provisioned for your account |
403 | 4039 | Client's IP address is not whitelisted |
403 | 4035 | Requested service is not provisioned for your account |
429 | 4291 | Maximum account rate limit exceeded |
429 | 4292 | Maximum API rate limit exceeded |
429 | 4293 | Maximum account daily limit exceeded |
429 | 4294 | Maximum API daily limit exceeded |
500 | 5001 | Request could not be processed |
504 | 5041 | Source or beneficiary bank is either offline or NPCI / IPMS is unavailable |
Sample Error Response
{
"httpStatusCode": 400,
"code": 4001,
"message": "Malformed data or missing required parameter values"
}