CKYC Prefill HyperStream

The CKYC Prefill Hyperstream is designed to simplify, accelerate, and standardize customer onboarding by leveraging India’s Central Know Your Customer (CKYC) infrastructure. Through seamless integration with trusted data partners, the product enables platforms to automatically retrieve and prefill verified customer identity information, significantly reducing manual data entry and onboarding friction.

By orchestrating multiple identity and verification steps within a single, compliant workflow, the CKYC Prefill Hyperstream ensures a smooth onboarding experience for end users while maintaining regulatory adherence. This approach not only improves conversion rates but also enhances data accuracy and operational efficiency for businesses.

📘

This API works best in production environment.

Due to the nature of the underlying APIs such as Credit Bureau, this API works best in the production environment where there are considerably higher data points to work with.

🚧

Self-Hosted, Container-Based Deployment Model

The CKYC Prefill product is delivered as a Docker-based service. This ensures deployment consistency, operational familiarity, and ease of adoption for platforms already running CKYC workloads in containerised environments.
Also, the flow mandates the OTP as consent from the users.

Flow

  1. The full_name parameter is optional. If it is not provided in the HyperStream request body, the HyperStream deduces the name and pushes it to the next step, i.e. the customer data pull module.
    Note: If name cannot be deduced then you may rerun the Hyperstream with name in the request body.
  2. Using the mobile_number and full_name of the user, Decentro uses the customer data pull API to extract an ID number and the DOB required for the authentication factor in future steps.
  3. Using the ID number, Decentro uses the CKYC search API to fetch the 14-digit CKYC Reference Number
  4. Using the CKYC Reference Number retrieved from step 3, and the DOB and other authentication factors retrieved from step 3, Decentro fetches the customer's records in the CKYC Registry. This step requires OTP as a mandatory consent from the users.

Sample Request & Response

{
    "reference_id": "DEC001",
    "hyperstream": "CKYC_PREFILL",
    "consent": true,
    "consent_purpose": "To onboard user into platform",
    "initial_input": {
        "full_name": "JOHN DOE",   // THIS IS AN OPTIONAL FIELD
        "mobile_number": "9999999999"
    }
}
{
    "hyperstream_txn_id": "XXXXXXXXX",
    "status": "SUCCESS",
    "http_status_code": 200,
    "response_key": "success_hyperstream",
    "message": "Successfully executed CKYC_PREFILL Hyperstream",
    "data": {
        "OPTIONAL_MOBILE_TO_VPA": {
            "consent": true,
            "consent_purpose": "A VALID PURPOSE MESSAGE",
            "reference_id": "XXXXXXXXXX",
            "mobile_number": "XXXXXXX",
            "full_name": "XXXXXXXXXX"
        },
        "DATA_PULL": {
            "mobile_number": "XXXXXXXXX",
            "full_name": "XXXXXXXXX",
            "auth_factor_type": 1,
            "auth_factor": "XXXXXXXX",
            "document_type": "XXXXXX",
            "id_number": "XXXXXXXX",
            "personal_details": {
                "full_name": "XXXXXXXX",
                "dob": "XXXXXXXXX",
                "total_income": "XXXXXXXX",
                "occupation": "",
                "age": "XXXXXXXX"
            },
            "identity_details": {
                "PAN": [
                    {
                        "id_type": "PAN",
                        "identity_number": "XXXXXXXXX"
                    }
                ],
                "PASSPORT": [
                    {
                        "id_type": "PASSPORT",
                        "identity_number": "XXXXXXXX"
                    }
                ],
                "DRIVING_LICENSE": [],
                "VOTER_ID": [],
                "AADHAAR": [],
                "RATION_CARD": [],
                "OTHER": []
            },
            "phone_details": [
                {
                    "number": "XXXXXXXXXXX",
                    "phone_type": "M",
                    "reported_date": "2024-02-25"
                }
            ],
            "address_details": [
                {
                    "address": "XXXXXXX",
                    "state": "XXXXXX",
                    "address_type": "Owns",
                    "pincode": "XXXXXXX",
                    "reported_date": "YYYY-MM-DD"
                }
            ],
            "email_details": [
                {
                    "email_address": "XXXXXXXXXX",
                    "reported_date": "2024-02-25"
                }
            ]
        },
        "CKYC_SEARCH": {
            "id_type": "CKYC",
            "id_number": "XXXXXXXX",
            "full_name": "XXXXXXXXX",
            "age": "XX",
            "kyc_date": "XXXXXXX",
            "updated_date": "XXXXXX",
            "fathers_name": "XXXXXXXX",
            "photo": "XXXXX",
            "identity_details": {
                "identity": [
                    {
                        "status": "03",
                        "type": "Passport"
                    },
                    {
                        "status": "03",
                        "type": "Aadhaar"
                    },
                    {
                        "status": "03",
                        "type": "H"
                    },
                    {
                        "status": "03",
                        "type": "PAN"
                    }
                ]
            },
            "auth_factor_type": 1,
            "auth_factor": "YYYY-MM-DD"
        },
        "CKYC_DOWNLOAD": {
            "decentroTxnId": "DECXXXXXXXXXXXXXXXXXXXXXXXXXXX",
            "status": "SUCCESS",
            "responseCode": "S00000",
            "data": {
                "kycStatus": "SUCCESS",
                "kycResult": {
                    "personalIdentifiableData": {
                        "personalDetails": {
                            "constituitonType": "Individual",
                            "accountType": "Normal",
                            "ckycNo": "XXXXXXXXXXXXXX",
                            "prefix": "MR",
                            "firstName": "CARL",
                            "lastName": "SMITH",
                            "fullName": "MR CARL SMITH",
                            "fatherOrSpouse": "FATHER",
                            "fatherPrefix": "MR",
                            "fatherFname": "JON",
                            "fatherLname": "SMITH",
                            "fatherFullname": "MR JON SMITH",
                            "motherPrefix": "MRS",
                            "motherFname": "MARY",
                            "motherLname": "SMITH",
                            "motherFullname": "MRS MARY SMITH",
                            "gender": "MALE",
                            "dob": "DD-MM-YYYY",
                            "pan": "XXXXXXXXXX",
                            "permLine1": "S/O JON SMITH",
                            "permLine2": "MAPLE APARTMENT FLAT 407 INDIRANAGAR 1ST STAGE",
                            "permCity": "BENGALURU URBAN",
                            "permDist": "BENGALURU URBAN",
                            "permState": "KA",
                            "permCountry": "IN",
                            "permPin": "560038",
                            "permPoa": "Proof of Possession of Aadhaar",
                            "permCorresSameflag": "Y",
                            "corresLine1": "S/O JON SMITH",
                            "corresLine2": "MAPLE APARTMENT FLAT 407 INDIRANAGAR 1ST STAGE",
                            "corresCity": "BENGALURU URBAN",
                            "corresDist": "BENGALURU URBAN",
                            "corresState": "KA",
                            "corresCountry": "IN",
                            "corresPin": "560038",
                            "mobNum": "XXXXXXXXXX",
                            "email": "[email protected]",
                            "decDate": "DD-MM-YYYY",
                            "decPlace": "BANGALORE",
                            "kycDate": "********",
                            "docSub": "Certified Copies",
                            "kycName": "********",
                            "kycDesignation": "********",
                            "kycBranch": "********",
                            "kycEmpcode": "********",
                            "numIdentity": "1",
                            "numRelated": "0",
                            "numImages": "4"
                        },
                        "identityDetails": {
                            "identity": {
                                "sequenceNo": "1",
                                "identityType": "PAN",
                                "identityNumber": "XXXXXXXXXX",
                                "idVerificationStatus": "NO"
                            }
                        },
                        "imageDetails": {
                            "image": [
                                {
                                    "sequenceNo": "1",
                                    "imageType": "JPG",
                                    "imageCode": "Photograph",
                                    "globalFlag": "GLOBAL",
                                    "branchCode": "BLR",
                                    "imageData": "<base_64_string>"
                                },
                                {
                                    "sequenceNo": "2",
                                    "imageType": "PDF",
                                    "imageCode": "PAN",
                                    "globalFlag": "GLOBAL",
                                    "branchCode": "BLR",
                                    "imageData": "<base_64_string>"
                                },
                                {
                                    "sequenceNo": "3",
                                    "imageType": "JPG",
                                    "imageCode": "Proof of Possession of Aadhaar",
                                    "globalFlag": "GLOBAL",
                                    "branchCode": "BLR",
                                    "imageData": "<base_64_string>"
                                },
                                {
                                    "sequenceNo": "4",
                                    "imageType": "JPG",
                                    "imageCode": "Passport",
                                    "globalFlag": "GLOBAL",
                                    "branchCode": "BLR",
                                    "imageData": "<base_64_string>"
                                },
                                {
                                    "sequenceNo": "5",
                                    "imageType": "PDF",
                                    "imageCode": "Driving License",
                                    "globalFlag": "GLOBAL",
                                    "branchCode": "BLR",
                                    "imageData": "<base_64_string>"
                                },
                                {
                                    "sequenceNo": "6",
                                    "imageType": "JPG",
                                    "imageCode": "Voters Identity Card",
                                    "globalFlag": "GLOBAL",
                                    "branchCode": "BLR",
                                    "imageData": "<base_64_string>"
                                },
                                {
                                    "sequenceNo": "7",
                                    "imageType": "JPG",
                                    "imageCode": "Signature",
                                    "globalFlag": "GLOBAL",
                                    "branchCode": "BLR",
                                    "imageData": "<base_64_string>"
                                }
                            ]
                        }
                    }
                },
                "message": "KYC Details for CKYC retrieved successfully."
            },
            "responseKey": "success_ckyc_download"
        }
    },
    "reference_id": "XXXXXXXX"
}

Features

Automated CKYC Data Retrieval

The CKYC Prefill product automatically retrieves customer KYC details from the CKYC registry using verified identifiers such as name, phone number, date of birth, and PIN code. This eliminates the need for customers to manually upload documents or re-enter information that already exists in the ecosystem.

Intelligent Data Prefill

Once CKYC data is retrieved, the product processes and structures the information into a standardized format that can be directly consumed by the platform. This enables instant prefilling of onboarding forms, reducing errors and drop-offs during customer registration.

Flexible Integration Models

Platforms can choose between:

  • Synchronous Flow: Ideal for simpler onboarding journeys where real-time responses are required and callback handling is not preferred.
  • Asynchronous Flow: Suitable for more advanced use cases, offering enhanced visibility and control through callbacks.

Progress Visibility (Optional)

For asynchronous integrations, the product can provide normalized progress updates across each stage of the onboarding flow. This allows platforms to display real-time progress indicators to customers, improving transparency and user trust.

Checkpoint-Level Results (Optional)

The product can optionally share intermediary results from each step of the onboarding process. This feature enables platforms to consume and act upon partial results, if required, rather than waiting for the entire flow to complete.

Security and Data Protection

The CKYC Prefill product supports optional encryption and decryption mechanisms, offering an additional layer of security for sensitive customer data. This ensures that platforms can meet stringent internal and regulatory security standards.

Use Cases

Digital Customer Onboarding

Financial institutions, fintech platforms, and regulated entities can use CKYC Prefill to drastically reduce onboarding time by automatically populating verified customer details, resulting in faster account creation and higher completion rates.

Improved Conversion and User Experience

By minimizing manual data entry and eliminating repetitive KYC steps, platforms can deliver a frictionless onboarding experience, leading to improved customer satisfaction and reduced abandonment.

Regulatory-Compliant KYC Processes

The product enables platforms to rely on authoritative CKYC data sources, ensuring that onboarding workflows remain compliant with regulatory requirements while reducing operational overhead.

Scalable Identity Verification

For platforms onboarding large volumes of users, CKYC Prefill provides a scalable and standardized approach to identity verification, reducing dependency on manual checks and document handling.