KYC
The APIs are available only for supported programs. Please refer to your program configuration to determine whether this operation is applicable to your implementation.
For applicable programs, eKYC must be successfully completed before wallet creation and card issuance can proceed.
Get Cardholder KYCโ
This API checks a cardholder's KYC status and lets them complete verification.
- Endpoint
GET {{baseUrl}}/issuing/api/:version/kyc
Description
This API retrieves the current KYC status for a cardholder and allows them to check on and complete their KYC verification. If KYC is still pending, the response includes a document submission link, the cardholder can use to perform KYC.
๐ Path Parameters
version string required
v1.๐ฉ Request Headers
x-api-key string required
x-product-id string required
x-cardholderHash-id string required
x-client-id string required
x-request-id string required
Content-Type string required
application/jsonAuthorization string
- ๐งฉ Examples
- ๐งช Try It Out
Request Example
- cURL
- Python
- Java
- NodeJs
curl --location --request GET \
--url '{{baseUrl}}/issuing/api/:version/kyc' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-cardholderHash-id: {{CardholderID}}' \
--header 'x-client-id: {{ClientID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}' \
import requests
import json
url = "{{baseUrl}}/issuing/api/:version/kyc"
payload = {}
headers = {
'x-api-key': '{{Shared X-API key By Zoqq}}',
'x-product-id': '{{Shared ProductID By Zoqq}}',
'x-cardholderHash-id': '{{CardholderID}}',
'x-client-id': '{{ClientID}}',
'x-request-id': '{{IdempotencyKey}}',
'Content-Type': 'application/json',
'Authorization': 'Bearer {{AccessToken}}'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("{{baseUrl}}/issuing/api/:version/kyc")
.method("GET", body)
.addHeader("x-api-key", "{{Shared X-API key By Zoqq}}")
.addHeader("x-product-id", "{{Shared ProductID By Zoqq}}")
.addHeader("x-cardholderHash-id", "{{CardholderID}}")
.addHeader("x-client-id", "{{ClientID}}")
.addHeader("x-request-id", "{{IdempotencyKey}}")
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {{AccessToken}}")
.build();
Response response = client.newCall(request).execute();
const axios = require('axios');
let config = {
method: 'get',
maxBodyLength: Infinity,
url: '{{baseUrl}}/issuing/api/:version/kyc',
headers: {
'x-api-key': '{{Shared X-API key By Zoqq}}',
'x-product-id': '{{Shared ProductID By Zoqq}}',
'x-cardholderHash-id': '{{CardholderID}}',
'x-client-id': '{{ClientID}}',
'x-request-id': '{{IdempotencyKey}}',
'Content-Type': 'application/json',
'Authorization': 'Bearer {{AccessToken}}'
}
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Response Example
- 200: Success
- 400: Error
{
"status": "success",
"message": "Fetching KYC details successfully!",
"code": 200,
"data": [
{
"kycStatus": "COMPLETED",
"kycLink": "",
"documentType": "E_KYC",
"complianceStatus": "COMPLETED",
"email": ""
}
]
}
{
"code": 400,
"status": "Error",
"message": "Error Message"
}
๐ Get Cardholder KYC โ Sandbox
๐ Headers
๐ป Generated cURL Command
โฏGet RFI Detailsโ
This API allows you to retrieves the RFI details for a cardholder in the system.
- Endpoint
GET {{baseUrl}}/issuing/api/:version/kyc/rfi
Description
Retrieves the RFI (Request for Information) details for a cardholder within the system. This API allows the cardholder to view all requested and submitted information, helping monitor compliance and maintain accurate records.
๐ Path Parameters
version string required
v1.๐ฉ Request Headers
x-api-key string required
x-product-id string required
x-cardholderHash-id string required
x-client-id string required
x-request-id string required
Content-Type string required
application/jsonAuthorization string
- ๐งฉ Examples
- ๐งช Try It Out
Request Example
- cURL
- Python
- Java
- NodeJs
curl --location --request GET \
--url '{{baseUrl}}/issuing/api/:version/kyc/rfi' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-cardholderHash-id: {{CardholderID}}' \
--header 'x-client-id: {{ClientID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}' \
import requests
import json
url = "{{baseUrl}}/issuing/api/:version/kyc/rfi"
payload = {}
headers = {
'x-api-key': '{{Shared X-API key By Zoqq}}',
'x-product-id': '{{Shared ProductID By Zoqq}}',
'x-cardholderHash-id': '{{CardholderID}}',
'x-client-id': '{{ClientID}}',
'x-request-id': '{{IdempotencyKey}}',
'Content-Type': 'application/json',
'Authorization': 'Bearer {{AccessToken}}'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("{{baseUrl}}/issuing/api/:version/kyc/rfi")
.method("GET", body)
.addHeader("x-api-key", "{{Shared X-API key By Zoqq}}")
.addHeader("x-product-id", "{{Shared ProductID By Zoqq}}")
.addHeader("x-cardholderHash-id", "{{CardholderID}}")
.addHeader("x-client-id", "{{ClientID}}")
.addHeader("x-request-id", "{{IdempotencyKey}}")
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {{AccessToken}}")
.build();
Response response = client.newCall(request).execute();
const axios = require('axios');
let config = {
method: 'get',
maxBodyLength: Infinity,
url: '{{baseUrl}}/issuing/api/:version/kyc/rfi',
headers: {
'x-api-key': '{{Shared X-API key By Zoqq}}',
'x-product-id': '{{Shared ProductID By Zoqq}}',
'x-cardholderHash-id': '{{CardholderID}}',
'x-client-id': '{{ClientID}}',
'x-request-id': '{{IdempotencyKey}}',
'Content-Type': 'application/json',
'Authorization': 'Bearer {{AccessToken}}'
}
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Response Example
- 200: Success
- 400: Error
{
"status": "success",
"message": "Fetching KYC details successfully!",
"code": 200,
"data": [
{
"services_declined_codes": {
"address": [
"SPDR31",
"SPDR27",
"SPDR24",
"SPDR75",
"SPDR23",
"SPDR30"
],
"document": [
"SPDR14"
]
},
"declined_reason": "Issue date on the address document doesn't match"
}
]
}
{
"code": 400,
"status": "Error",
"message": "Error Message"
}
๐ฅ Get RFI Details โ Sandbox
๐ Headers
๐ป Generated cURL Command
โฏRespond to RFIโ
This API is used to respond to an RFI (Request for Information) raised for a specific cardholder.
- Endpoint
GET {{baseUrl}}/issuing/api/:version/kyc/rfi/respond
Description
This API returns a link for the cardholder to submit documents or additional details in response to an RFI (Request for Information) raised during KYC verification. It helps ensure timely resolution of RFI cases and maintains compliance with verification requirements.
๐ Path Parameters
version string required
v1.๐ฉ Request Headers
x-api-key string required
x-product-id string required
x-cardholderHash-id string required
x-client-id string required
x-request-id string required
Content-Type string required
application/jsonAuthorization string
- ๐งฉ Examples
- ๐งช Try It Out
Request Example
- cURL
- Python
- Java
- NodeJs
curl --location --request GET \
--url '{{baseUrl}}/issuing/api/:version/kyc/rfi/respond' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-cardholderHash-id: {{CardholderID}}' \
--header 'x-client-id: {{ClientID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}' \
import requests
import json
url = "{{baseUrl}}/issuing/api/:version/kyc/rfi/respond"
payload = {}
headers = {
'x-api-key': '{{Shared X-API key By Zoqq}}',
'x-product-id': '{{Shared ProductID By Zoqq}}',
'x-cardholderHash-id': '{{CardholderID}}',
'x-client-id': '{{ClientID}}',
'x-request-id': '{{IdempotencyKey}}',
'Content-Type': 'application/json',
'Authorization': 'Bearer {{AccessToken}}'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("{{baseUrl}}/issuing/api/:version/kyc/rfi/respond")
.method("GET", body)
.addHeader("x-api-key", "{{Shared X-API key By Zoqq}}")
.addHeader("x-product-id", "{{Shared ProductID By Zoqq}}")
.addHeader("x-cardholderHash-id", "{{CardholderID}}")
.addHeader("x-client-id", "{{ClientID}}")
.addHeader("x-request-id", "{{IdempotencyKey}}")
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {{AccessToken}}")
.build();
Response response = client.newCall(request).execute();
const axios = require('axios');
let config = {
method: 'get',
maxBodyLength: Infinity,
url: '{{baseUrl}}/issuing/api/:version/kyc/rfi/respond',
headers: {
'x-api-key': '{{Shared X-API key By Zoqq}}',
'x-product-id': '{{Shared ProductID By Zoqq}}',
'x-cardholderHash-id': '{{CardholderID}}',
'x-client-id': '{{ClientID}}',
'x-request-id': '{{IdempotencyKey}}',
'Content-Type': 'application/json',
'Authorization': 'Bearer {{AccessToken}}'
}
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Response Example
- 200: Success
- 400: Error
{
"status": "success",
"message": "Fetching KYC details successfully!",
"code": 200,
"data": [
{
"kycStatus": "PENDING",
"kycLink": "kyc-link",
"documentType": "E_KYC",
"complianceStatus": "IN_PROGRESS",
"email": ""
}
]
}
{
"code": 400,
"status": "Error",
"message": "Error Message"
}