cURL
curl --request GET \
--url https://sandbox.zapyd.com/cms/api/v1/bank/{customer_id}/{bank_id} \
--header 'X-API-KEY: <api-key>' \
--header 'X-SIGNATURE: <api-key>' \
--header 'X-TIMESTAMP: <api-key>'import requests
url = "https://sandbox.zapyd.com/cms/api/v1/bank/{customer_id}/{bank_id}"
headers = {
"X-API-KEY": "<api-key>",
"X-TIMESTAMP": "<api-key>",
"X-SIGNATURE": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-API-KEY': '<api-key>',
'X-TIMESTAMP': '<api-key>',
'X-SIGNATURE': '<api-key>'
}
};
fetch('https://sandbox.zapyd.com/cms/api/v1/bank/{customer_id}/{bank_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.zapyd.com/cms/api/v1/bank/{customer_id}/{bank_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>",
"X-SIGNATURE: <api-key>",
"X-TIMESTAMP: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.zapyd.com/cms/api/v1/bank/{customer_id}/{bank_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("X-TIMESTAMP", "<api-key>")
req.Header.Add("X-SIGNATURE", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox.zapyd.com/cms/api/v1/bank/{customer_id}/{bank_id}")
.header("X-API-KEY", "<api-key>")
.header("X-TIMESTAMP", "<api-key>")
.header("X-SIGNATURE", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.zapyd.com/cms/api/v1/bank/{customer_id}/{bank_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
request["X-TIMESTAMP"] = '<api-key>'
request["X-SIGNATURE"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": true,
"message": "Success",
"data": {
"id": "4e6f1b20-a73c-11ec-b909-0242ac120002",
"customer_id": "550e8400-e29b-41d4-a716-446655440000",
"country": "IND",
"bank_account_type": "ACCOUNT_DETAILS",
"identifiers": {
"account_number": "7627389201",
"ifsc": "SBIN0001829"
},
"bank_account_status": "VERIFIED",
"beneficiary_name": "JOHN DOE",
"bank_name": "State Bank of India",
"failure_reason": null
}
}{
"status": false,
"message": "Bad Request",
"err_code": "REQ_FIELD_MISSING",
"errors": {
"bank_id": [
"<string>"
]
},
"data": null
}{
"status": false,
"message": "Internal Server Error",
"data": null,
"err_code": "SYS_INTERNAL_ERROR",
"errors": "Unexpected error occurred. Please try again later."
}Bank accounts
Fetch Bank Account
Returns one of a customer’s bank accounts.
GET
/
bank
/
{customer_id}
/
{bank_id}
cURL
curl --request GET \
--url https://sandbox.zapyd.com/cms/api/v1/bank/{customer_id}/{bank_id} \
--header 'X-API-KEY: <api-key>' \
--header 'X-SIGNATURE: <api-key>' \
--header 'X-TIMESTAMP: <api-key>'import requests
url = "https://sandbox.zapyd.com/cms/api/v1/bank/{customer_id}/{bank_id}"
headers = {
"X-API-KEY": "<api-key>",
"X-TIMESTAMP": "<api-key>",
"X-SIGNATURE": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-API-KEY': '<api-key>',
'X-TIMESTAMP': '<api-key>',
'X-SIGNATURE': '<api-key>'
}
};
fetch('https://sandbox.zapyd.com/cms/api/v1/bank/{customer_id}/{bank_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.zapyd.com/cms/api/v1/bank/{customer_id}/{bank_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>",
"X-SIGNATURE: <api-key>",
"X-TIMESTAMP: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.zapyd.com/cms/api/v1/bank/{customer_id}/{bank_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("X-TIMESTAMP", "<api-key>")
req.Header.Add("X-SIGNATURE", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox.zapyd.com/cms/api/v1/bank/{customer_id}/{bank_id}")
.header("X-API-KEY", "<api-key>")
.header("X-TIMESTAMP", "<api-key>")
.header("X-SIGNATURE", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.zapyd.com/cms/api/v1/bank/{customer_id}/{bank_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
request["X-TIMESTAMP"] = '<api-key>'
request["X-SIGNATURE"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": true,
"message": "Success",
"data": {
"id": "4e6f1b20-a73c-11ec-b909-0242ac120002",
"customer_id": "550e8400-e29b-41d4-a716-446655440000",
"country": "IND",
"bank_account_type": "ACCOUNT_DETAILS",
"identifiers": {
"account_number": "7627389201",
"ifsc": "SBIN0001829"
},
"bank_account_status": "VERIFIED",
"beneficiary_name": "JOHN DOE",
"bank_name": "State Bank of India",
"failure_reason": null
}
}{
"status": false,
"message": "Bad Request",
"err_code": "REQ_FIELD_MISSING",
"errors": {
"bank_id": [
"<string>"
]
},
"data": null
}{
"status": false,
"message": "Internal Server Error",
"data": null,
"err_code": "SYS_INTERNAL_ERROR",
"errors": "Unexpected error occurred. Please try again later."
}Fetch Bank Account
| API Status Code | Response | Reason |
|---|---|---|
| 400 | Customer not found or access denied | Customer not found |
| 400 | Customer not found or access denied | Customer does not belong to the organization |
| 400 | Bank not found or access denied | Bank not found |
| 400 | Bank not found or access denied | Bank does not belong to the Customer |
| 500 | Internal Server Error. | Internal Server Error |
Authorizations
API Key for authentication
Current timestamp in seconds since epoch
HMAC SHA256 signature of the request encoded in Base64
Path Parameters
Customer's unique identifier
Bank account's unique identifier
Response
Bank account details fetched successfully
Example:
true
Example:
"Success"
Hide child attributes
Hide child attributes
Bank account ID
Example:
"4e6f1b20-a73c-11ec-b909-0242ac120002"
Customer ID
Example:
"550e8400-e29b-41d4-a716-446655440000"
Customer country (alpha-3)
Example:
"IND"
Payment rail
Available options:
ACCOUNT_DETAILS, UPI Example:
"ACCOUNT_DETAILS"
Rail-specific identifiers. ACCOUNT_DETAILS: account_number and ifsc. UPI: vpa.
Example:
{ "account_number": "7627389201", "ifsc": "SBIN0001829" }
Verification status
Available options:
PROCESSING, VERIFIED, FAILED, MANUAL_REVIEW Example:
"VERIFIED"
Account holder name returned by bank verification
Example:
"JOHN DOE"
Bank name
Example:
"State Bank of India"
Set when bank_account_status is FAILED
Example:
null