CKYC Search

Overview

CKYC is an initiative from the Government of India which stands for Central KYC (Know Your Customer). The motive behind launching this initiative is to have a structure in place to allow investors to complete their KYC only once before interacting with multiple entities across Financial Services.

CKYC is managed by CERSAI which stands for Central Registry of Securitization Asset Reconstruction and Security Interest of India. It is authorized by the Government of India to act as the Central KYC Registry (CKYCR). The main objective of CKYCR (Central KYC Registry) is to reduce the weight of generating KYC documents and verifying them every single time when an investor deals with a financial entity for the first time.

Decentro powers CKYC for platforms which have their own credentials or for regulated entities like NBFCs, RIAs, etc. so that the platforms can focus on scale and go live within a day!

CKYC Search

CKYC Search API can be used by the platform to check if they are present on the CKYC repository. The platform can access the download ONLY if the customer is present with the repository.

CKYC Search can be undertaken using one of the IDs.

  • PAN
  • Aadhaar
  • Passport
  • Voter ID
  • Driving License
  • CKYC ID

Document Type

DocumentTypeID Number
PANPAN10 digit PAN number of that person. Example: "AAAAA1111A".
AadhaarAADHAARA combination of 4 details: 'last 4 digits of AADHAAR', 'Name as on AADHAAR', 'Date of birth as on AADHAAR in DD-MM-YYYY format' and Gender: Male 'M', Female 'F' or Other 'T').
PassportPassportA valid Passport number of the customer.
Voter IDVoter_IdA valid Voter ID number of the customer.
Driving LicenseDriving_LicenseA valid Driving Licence number of the customer.
CKYC IDCkyc_IdA valid 14 digit CKYC number of the customer.

Sample API

{
    "reference_id": "ABCDEF12345",
    "document_type": "Driving_License",
    "id_number": "XXXXXXXXXX",
    "consent": true,
    "consent_purpose": "For bank account purpose"
}
{
  "decentroTxnId": "DECXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "status": "SUCCESS",
  "responseCode": "S00000",
  "data": {
    "kycStatus": "SUCCESS",
    "kycResult": {
      "ckycId": "XXXXXXXXXXXXXX",
      "ckycReferenceId": "XXXXXXXXXXXXXX", 
      "fullName": "XXXXXXXXXXXXXX",
      "age": "25",
      "kycDate": "DD-MM-YYYY",
      "updatedDate": "DD-MM-YYYY",
      "fathersFullName": "XXXXXXXXXXXXXXXXXX",
      "imageType": "JPG",
      "photo": "<Base64 Image>",
      "identityDetails": {
        "identity": [
          {
            "status": "03",
            "type": "Driving_License"
          }
        ]
      }
    },
    "message": "KYC Details for CKYC retrieved successfully."
  },
  "responseKey": "success_ckyc_search"
}

CKYC Bulk Search

Self Hosted Stack

This API accepts a Document Type and its corresponding ID number in an object to initiate the Bulk Search flow.

{
    "reference_id": "463a9388-1c1b-470e-9fdc-457cbc661700",
    "consent": true,
    "purpose": "for testing purpose only",
    "ids": [
        {
            "document_type": "PAN",
            "id_number": "ABCDE0123F"
        },
        {
            "document_type": "AADHAAR",
            "id_number": "XXXXXXXX1998",
            "name": "ABC",
            "dob": "1990-00-01",
            "gender": "MALE"
        }
    ]
}'
{
  "attempt": 1,
  "referenceId": "04e83fc3-ea09-4ad3-bf6c-027c0367196e",
  "bulkDecentroTxnId": "F2EC6FDEA9184933B7D1E8C964317463",
  "callbackTxnId": "32B89BC544DD4F0182A41F06F608ED29",
  "originalCallbackTxnId": "32B89BC544DD4F0182A41F06F608ED29",
  "timestamp": "2025-07-16T13:03:51.309017",
  "creationTimestamp": "2025-07-16T12:53:43.000000",
  "lastModificationTimestamp": "2025-07-16T12:53:43.000000",
  "type": "BULK_CKYC_SEARCH",
  "stage": "RECORDS_SEARCH_SUCCESSFUL",
  "status": "COMPLETED",
  "description": "Records searched successfully.",
  "batchNo": 1,
  "data": [
    {
      "documentType": "PAN",
      "idNumber": "ABCDE01234F",
      "message": "KYC Details from CKYC retrieved successfully.",
      "kycStatus": "SUCCESS",
      "kycResult": {
        "ckycId": "XXXXXXXXXX0001",
        "ckycReferenceId": "AAAAAA00000000",
        "fullName": "ABC",
        "identityDetails": {
          "identity": [
            { "type": "PAN", "status": "03" },
            { "type": "Aadhaar", "status": "03" }
          ]
        }
      }
    },
    {
      "documentType": "AADHAAR",
      "idNumber": "XXXXXXXX1998",
      "name": "ABC",
      "dob": "1990-01-01",
      "gender": "M",
      "message": "KYC Details from CKYC retrieved successfully.",
      "kycStatus": "SUCCESS",
      "kycResult": {
        "ckycId": "XXXXXXXXXX0001",
        "ckycReferenceId": "AAAAAA00000000",
        "fullName": "ABC",
        "identityDetails": {
          "identity": [
            { "type": "PAN", "status": "03" },
            { "type": "Aadhaar", "status": "03" }
          ]
        }
      }
    }
  ]
}

Callback Acknowledgment Requirement

To ensure successful processing and acknowledgment of callbacks, the client must respond with the following payload upon receiving any callback (including bulk search, download, and upload callbacks):

{
  "response_code": "CB_S00000"  
}

Note: This is a mandatory requirement. Please ensure this is implemented to prevent callback retries or failures.