Validate & Fetch


Businesses can integrate with Decentro to validate the KYC ID number of their customers or extract information from a public KYC ID. The major benefit of this offering is that customers do not have to upload or share any document images, yet the business can seamlessly onboard customers with very few hassles.

Some of the most commonly verified documents are PAN, GSTIN, CIN, and RC which can be embedded in customer journeys of an app.

We also have a simple video explaining this if you are someone who prefers to listen to explainers.

What documents are supported for Validate API?

Our KYC Validate API supports the following documents -

  • PAN (Individual/Business)
  • Voter ID
  • Driving License
  • RC
  • Passport
  • CIN
  • DIN
  • FCRN


For PAN, GSTIN, and RC, you can append '-detailed' (PAN-Detailed, GSTIN-Detailed, RC-Detailed) under the 'document_type' to access additional information for the same ID.

Mandatory if the document_type is Aadhaar (downloaded from the UIDAI website mentioned below):

  • file_type (XML or PDF)
  • file_base_64_string (The base 64 conversion of your downloaded file. You can use any service like
  • file_password (The password that you would have set when downloading the file from UIDAI)

Aadhaar Download links:

Mandatory if the document_type is driving_license:

  • dob (Date of birth of the customer whose id_number is provided in the format yyyy-mm-dd)


Note - Passport

For document type passport, 2 more request parameters to be added in the body -

  • name: ""
  • dob: "YYYY-MM-DD"

Sample API

curl --location --request POST '' \
--header 'client_id: <your_client_id>' \
--header 'client_secret: <your_client_secret>' \
--header 'module_secret: <your_module_secret>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "reference_id": "0000-0000-0000-2005",
    "document_type": "PAN",
    "id_number": "XXXXXXXXXX",
    "consent": "Y",
    "consent_purpose": "For bank account purpose only"
  "kycStatus": "SUCCESS",
  "status": "SUCCESS",
  "message": "KYC Details for PAN retrieved successfully",
  "kycResult": {
    "idNumber": "XXXXXXXXXX",
    "idStatus": "VALID",
  "responseCode": "S00000",
  "requestTimestamp": "2020-07-24 21:25:20.778016 IST (GMT +0530)",
  "responseTimestamp": "2020-07-24 21:25:21.991470 IST (GMT +0530)",

Fetch History

Decentro provides the feature to access the history of KYC checks done for a specific period and the status of the KYC check.

curl --location --request GET '' \
--header 'client_id: <YOUR_CLIENT_ID>' \
--header 'client_secret: <YOUR_CLIENT_SECRET>' \
--header 'module_secret: <YOUR_KYC_AND_OB_MODULE_SECRET>'
    "status": "success",
    "count": 1,
    "searchDateRange": "2020-01-01 - 2020-06-02",
    "validations": [
            "referenceId": "eefa-abs1-0000-0004",
            "validationDateTime": "2020-06-02 12:33:55",
            "entityType": "PERSON",
            "documentType": "VOTERID",
            "entityName": "Loganathan -",
            "documentId": "YCV0164822",
            "consentPurpose": "For bank account purpose only",
            "statusOfApiCall": "SUCCESS",
            "statusOfKycCheck": "SUCCESS"
    "responseCode": "S00000",
    "requestTimestamp": "2020-06-02 12:35:59.926114",
    "responseTimestamp": "2020-06-02 12:35:59.944768",