IFSC Verification API
The following document highlights the details of the IFSC Verification API.
API Description
Objective
The IFSC Verification API checks the validity of a given IFSC (Indian Financial System Code) and retrieves detailed information about the corresponding bank and branch.
| Input | Output |
|---|---|
| The IFSC code of a bank | The relevant details associated with bank branch, such as bank name, IFSC code, availability of NEFT/IMPS/RTGS/UPI services, MICR code, address, city, state, branch, IFSC subcode, and SWIFT code |
API URL
https://ind-engine.thomas.hyperverge.co/v1/verifyIFSC
API Endpoint
verifyIFSC
Overview
The IFSC Verification API is RESTful and uses standard HTTP verbs and status codes. The responses are in JSON format, and you should send the request body as JSON through a POST request.
Method - POST
Authentication
You need a unique pair of application ID ( appId ) and application key ( appKey ) from HyperVerge to verify your identity for accessing the IFSC Verification API.
Headers
| Header | Mandatory / Optional | Description | Input Format |
|---|---|---|---|
| content-type | Mandatory | This parameter defines the media type for the request payload | application/json |
| appId | Mandatory | The application identifier shared by HyperVerge. You can find the details in the dashboard's credentials tab | This should be a unique value |
| appKey | Mandatory | The application key shared by HyperVerge. You can find the details in the dashboard's credentials tab | This should be a unique value |
| transactionId | Mandatory | Unique ID for the customer journey | Any defined unique value mapped to a transaction in your business ecosystem |
Inputs
The following table provides the details of the parameters required for the IFSC Verification API's request body:
| Parameter | Mandatory / Optional | Type | Description | Input Format | Default Value |
|---|---|---|---|---|---|
ifscCode | Mandatory | string | The IFSC Code to be verified. The IFSC should have 11 alphanumeric characters: first four characters represent the bank's name (alphabetic), fifth character is always zero (reserved for future use), and last six characters represent the branch code (usually numeric but can be alphabetic) | 11 alphanumeric characters (e.g., SBIN0001234) | Not Applicable |
Request
The following code snippet demonstrates a standard curl request for the IFSC Verification API:
curl --location --request POST 'https://ind-engine.thomas.hyperverge.co/v1/verifyIFSC' \
--header 'Content-Type: application/json' \
--header 'appId: <Enter_the_HyperVerge_appId>' \
--header 'appKey: <Enter_the_HyperVerge_appKey>' \
--header 'transactionId: <Enter_the_HyperVerge_transactionID>' \
--data '{
"ifscCode": "<Enter_the_valid_IFSC>"
}'
Success Response
The following code snippet demonstrates a success response from the IFSC Verification API:
- Success Response
{
"status": "success",
"statusCode": 200,
"result": {
"status": "Success",
"message": "Ifsc verification successful",
"bank": "<Name_of_the_Bank>",
"ifsc": "<Bank_IFSC>",
"neft": "Live",
"imps": "Live",
"rtgs": "Live",
"upi": "Live",
"micr": "<MICR_Value>",
"address": "<Branch_Address>",
"city": "<Name_of_the_City>",
"state": "<Name_of_the_State>",
"branch": "<Name_of_the_Branch>",
"ifscSubcode": "<IFSC_Subcode>",
"swiftCode": ""
},
"metaData": {
"requestId": "<Request_ID>"
}
}
Success Response Details
The following table outlines the details of the success response from the IFSC Verification API:
| Parameter | Type | Description |
|---|---|---|
status | string | The status of the request |
statusCode | integer | The HTTP status code for the response |
result | object | The JSON object containing the IFSC verification details |
result.status | string | The status of the API request |
result.message | string | The message associated with the status of the API request |
result.bank | string | The name of the bank |
result.ifsc | string | The IFSC code of the bank branch |
result.neft | string | The field has the value "Live" if the NEFT transfer mode is supported. Else, it is set to "Not Live" |
result.imps | string | The field has the value "Live" if the IMPS transfer mode is supported. Else, it is set to "Not Live" |
result.rtgs | string | The field has the value "Live" if the RTGS transfer mode is supported. Else, it is set to "Not Live" |
result.upi | string | The field has the value "Live" if the UPI transfer mode is supported. Else, it is set to "Not Live" |
result.micr | integer | Magnetic Ink Character Recognition is a unique nine-digit code to identify a bank and branch |
result.address | string | The complete address of the bank branch |
result.city | string | The city in which the bank branch is located |
result.state | string | The state in which the bank branch is located |
result.branch | string | The branch of the bank |
result.ifscSubcode | string | The IFSC SubCode of the bank branch |
result.swiftCode | string | The SWIFT code (if any) of the bank branch |
metaData | object | The JSON object containing request metadata |
metaData.requestId | string | A unique identifier for the request |
Failure Response
The following code snippet demonstrates a failure response from the IFSC Verification API when the IFSC code is not found:
{
"statusCode": 404,
"status": "failure",
"error": "IFSC Code not found"
}
Error Responses
The following are some error responses from the IFSC Verification API:
- Input Validation - Length
- Invalid IFSC - 1
- Invalid IFSC - 2
- Invalid Credentials
- Internal Server Error
{
"message": "Input Validation Error: does not meet minimum length of 11",
"statusCode": 400,
"status": "failure"
}
{
"statusCode": 400,
"status": "failure",
"error": "Invalid IFSC Code"
}
{
"statusCode": 400,
"status": "failure",
"error": "Invalid IFSC. 5th character of IFSC Code should be 0"
}
{
"message": "Missing/Invalid credentials",
"statusCode": 401,
"status": "failure"
}
{
"statusCode": 500,
"status": "failure",
"error": "Internal Server Error"
}
Error Response Details
A failure or error response contains a failure status with a relevant status code and error message.
The following table lists all error responses:
| Status Code | Error Message | Error Description | Error Resolution |
|---|---|---|---|
| 400 | Input Validation Error: does not meet minimum length of 11 | The IFSC code provided does not meet the minimum length requirement of 11 characters | Ensure the IFSC code is exactly 11 alphanumeric characters |
| 400 | Invalid IFSC. 5th character of IFSC Code should be 0 | The 5th character of the IFSC Code must be a 0 | Verify that the 5th character of the IFSC code is 0 and provide a valid IFSC code |
| 400 | Invalid IFSC Code | The IFSC code entered is invalid | Verify and provide a valid IFSC code in the correct format |
| 401 | Missing/Invalid credentials | The request is either missing the mandatory appId and appKey combination or has invalid values | Verify and provide valid appId and appKey credentials |
| 403 | Access Denied | Access to the IFSC Verification API has been denied | Contact the HyperVerge team for resolution |
| 404 | IFSC Code not found | The IFSC code does not belong to any bank branch | Verify the IFSC code is correct and exists in the database |
| 500 | Internal Server Error | Kindly check the request headers or contact the HyperVerge team for resolution. | Check the request headers or contact the HyperVerge team for resolution |