DigiLocker UIStreams

UIStreams specialized in orchestrating DigiLocker-based workflows.

Why are DigiLocker UIStreams needed?

DigiLocker UIStreams allow you to seamlessly integrate with all DigiLocker document retrieval workflows bundled into a single API. Just use the prefix DIGILOCKER and the name of the document you want to retrieve from your user and you are done!

The UIStream takes care of all of the following steps:

  1. Make sure that the best and easiest login screen with the least friction and highest conversion rate is shown to the end customer so that there are minimal drop-offs when the user signs in.
  2. Multi-lingual capabilities with on-the-fly translation to cater to audiences who are not familiar with English.
  3. Automatic checking of wallet for existing documents and automatic isolation of consents to only the documents you want to retrieve from the customer.
  4. Pull documents from issuers directly on the UIStream which manages real-time form rendering of all organizations, documents, and document parameters in the entire DigiLocker ecosystem.

Supported DigiLocker Flows

The following is a list of DigiLocker UIStreams that are currently live in the production environment:

UIStream NameDocument CollectedDigital Use Case ExamplesReal-World Conversion
DIGILOCKER_AADHAARAadhaar CardKYC, Address Verification in journeys for CRED, Bajaj Finserv, AU Small Finance Bank, Kotak Mahindra Bank⭐⭐⭐⭐⭐
DIGILOCKER_AADHAAR_PANAadhaar + PANFinancial KYC for loan applications with CRED, Flipkart, ICICI Bank, Razorpay, Slice⭐⭐⭐⭐⭐
DIGILOCKER_PAN_CERTIFICATEPAN CardTax Filing and Financial Onboarding for Paytm, Zerodha, HDFC Bank, Axis Bank⭐⭐⭐⭐⭐
DIGILOCKER_VEHICLE_REGISTRATION_CERTIFICATEVehicle Registration Certificate (RC)Car Purchase, Vehicle Verification for Zoomcar, CARS24, OLX Autos, Spinny⭐⭐⭐⭐
DIGILOCKER_DRIVING_LICENSEDriving LicenseLicense Verification, Insurance Claims for Acko, Digit Insurance, Tata AIG, Bajaj Allianz⭐⭐⭐⭐
DIGILOCKER_TWO_WHEELER_INSURANCE_POLICYTwo-Wheeler Insurance PolicyInsurance for two-wheeler loans with L&T Finance, Hero Fincorp, HDFC Ergo⭐⭐⭐⭐
DIGILOCKER_LIFE_INSURANCE_POLICYLife Insurance PolicyLife insurance verification for PolicyBazaar, ICICI Prudential, Max Life Insurance⭐⭐⭐
DIGILOCKER_HEALTH_INSURANCE_POLICYHealth Insurance PolicyHealth insurance verification for Star Health, Apollo Munich, Niva Bupa⭐⭐⭐
DIGILOCKER_CLASS_X_MARKSHEETClass X MarksheetSchool Admission, Education Loan for Byju’s, FIITJEE, State Bank of India, Axis Bank⭐⭐⭐⭐
DIGILOCKER_CLASS_X_LEAVING_CERTIFICATEClass X Leaving CertificateSchool Transfer Verification for Allen Career Institute, Kendriya Vidyalaya⭐⭐⭐
DIGILOCKER_CLASS_X_PROVISIONAL_CERTIFICATEClass X Provisional CertificateCollege Admission for Narayana Institute, Christ University, SRM University⭐⭐⭐
DIGILOCKER_CLASS_X_PASSING_CERTIFICATEClass X Passing CertificateSchool Verification, College Admission for NIIT, Techno India, Amity University⭐⭐⭐
DIGILOCKER_CLASS_XII_MARKSHEETClass XII MarksheetCollege Admission, Job Application for Infosys, Wipro, Indian Army, Flipkart⭐⭐⭐
DIGILOCKER_CLASS_XII_PASSING_CERTIFICATEClass XII Passing CertificateCollege Admission for BITS Pilani, Manipal University, Lovely Professional University⭐⭐⭐
DIGILOCKER_DEGREE_MARKSHEETDegree MarksheetHigher Education, Job Application for TCS, Infosys, Google, Cognizant⭐⭐
DIGILOCKER_DEGREE_CERTIFICATEDegree CertificateHigher Education, Job Application for Capgemini, Accenture, IBM⭐⭐
DIGILOCKER_PROVISIONAL_DEGREE_CERTIFICATEProvisional Degree CertificateJob Application, Further Studies for Mindtree, Infosys, Hexaware⭐⭐
DIGILOCKER_PENSION_COMMUTATION_PAYMENT_ORDERPension Commutation Payment OrderPension Verification for LIC, PNB MetLife, HDFC Pension⭐⭐⭐
DIGILOCKER_PENSION_CERTIFICATEPension CertificatePension Claims for EPFO, LIC Pension Funds⭐⭐⭐
DIGILOCKER_ELIGIBILITY_CERTIFICATEEligibility CertificateScholarship Application for Vidya Lakshmi, Tata Trusts, SBI Education Loan⭐⭐⭐
DIGILOCKER_MIGRATION_CERTIFICATEMigration CertificateSchool/College Transfer for DU, Mumbai University, Pune University⭐⭐⭐
DIGILOCKER_ADMIT_CARDAdmit CardExam Verification for CBSE, SSC, UPSC⭐⭐⭐
DIGILOCKER_UNIVERSITY_TRANSCRIPTUniversity TranscriptHigher Studies Abroad, Employment Verification for WES, IQAS, Narsee Monjee Institute⭐⭐
DIGILOCKER_DIPLOMA_CERTIFICATEDiploma CertificateJob Application, Further Studies for L&T, Siemens, Blue Star⭐⭐
DIGILOCKER_DEGREE_DIPLOMA_MARKSHEETDiploma MarksheetJob Application, Higher Studies for Indian Institute of Technology (IIT), National Institute of Technology (NIT)⭐⭐
DIGILOCKER_SKILL_CERTIFICATESkill CertificateJob Application, Skill Verification for National Skill Development Corporation (NSDC), UrbanClap, Tata Strive⭐⭐⭐
DIGILOCKER_COURSE_COMPLETION_CERTIFICATECourse Completion CertificateCourse Verification for Udemy, Coursera, LinkedIn Learning⭐⭐⭐
DIGILOCKER_EQUIVALENCE_CERTIFICATEEquivalence CertificateQualification Verification for Ministry of Education, Narsee Monjee Institute of Management Studies (NMIMS), University Grants Commission (UGC)⭐⭐⭐
DIGILOCKER_CLASS_XII_LEAVING_CERTIFICATEClass XII Leaving CertificateCollege Transfer, Admission for Delhi University, Symbiosis, Amity⭐⭐⭐
DIGILOCKER_CLASS_X_MERIT_CERTIFICATEClass X Merit CertificateMerit-Based Scholarship for Central Government Scholarships, Vidya Lakshmi, SBI Education Loans⭐⭐⭐
DIGILOCKER_CLASS_XII_COMPARTMENT_MARKSHEETClass XII Compartment MarksheetRe-Examination Verification for CBSE, NCERT, National Institute of Open Schooling (NIOS)⭐⭐
DIGILOCKER_PROVISIONAL_CERTIFICATEProvisional CertificateFurther Studies, Job Application for Tata Consultancy Services, HCL Technologies, Infosys⭐⭐⭐
DIGILOCKER_PASSING_CERTIFICATEPassing CertificateQualification Verification for Accenture, IBM, Cognizant⭐⭐⭐
DIGILOCKER_SCHOOL_LEAVING_CERTIFICATESchool Leaving CertificateSchool Transfer for CBSE, ICSE, Kendriya Vidyalaya Sangathan⭐⭐⭐

Brief Explanation of the Payload Sent to callback_url

The payload represents a structured response containing details about the successful retrieval of user documents via the uistream callback. Below is a breakdown of its key components:


High-Level Information

KeyValue (Masked)
initialDecentroTxnId**************6813
statusSUCCESS
messageAll documents have been fetched successfully.
responseKeysuccess_uistream_documents_fetch

Document Details in data

  1. EAADHAAR: Contains Aadhaar-related information retrieved from Digilocker.
    Transaction Details:
KeyValue (Masked)
decentroTxnId**************B73
statusSUCCESS
responseCodeS00000
messageE-Aadhaar information received successfully from Digilocker
  • Aadhaar Details:
KeyValue (Masked)
aadhaarUid********2661
proofOfIdentityContains details such as DOB (DD-MM-YYYY), gender (M), and name.
proofOfAddressIncludes address fields like house number, pincode, and locality.
  • Document Media: Base64-encoded versions of the Aadhaar image, PDF, and XML.
  1. ISSUED_FILES: Lists additional retrieved documents.

    • Items:
    Document NameDocument TypeIssuer
    Aadhaar CardADHARUIDAI
    PAN Verification RecordPANCRIncome Tax Department
  2. PAN: Contains details about the user's PAN card.
    PAN Details:

KeyValue
idNumberBDABJ1234J
userNameJohn Doe
userDateOfBirthDD-MM-YYYY
userGenderMALE
documentVerifiedOnDD-MM-YYYY
documentStatusActive
  • Document Media: Base64-encoded file (masked).

Full Payload Sample (Happy Scenario)

{
    "initialDecentroTxnId": "**************6813",
    "status": "SUCCESS",
    "message": "All documents have been fetched successfully.",
    "responseKey": "success_uistream_documents_fetch",
    "data": {
        "EAADHAAR": {
            "decentroTxnId": "**************B73",
            "status": "SUCCESS",
            "responseCode": "S00000",
            "message": "E-Aadhaar information received successfully from Digilocker",
            "data": {
                "aadhaarReferenceNumber": "",
                "aadhaarUid": "********1234",
                "proofOfIdentity": {
                    "dob": "DD-MM-YYYY",
                    "hashedEmail": "",
                    "gender": "M",
                    "hashedMobileNumber": "",
                    "name": "**** ****"
                },
                "proofOfAddress": {
                    "careOf": "S/O **** ****",
                    "country": "India",
                    "district": "******",
                    "house": "***",
                    "landmark": "Beside ****",
                    "locality": "*********",
                    "pincode": "******",
                    "postOffice": "********",
                    "state": "**********",
                    "street": "**** Main, ********** Road",
                    "subDistrict": "",
                    "vtc": "******"
                },
                "image": "BASE64",
                "pdf": "BASE64",
                "xml": "BASE64"
            },
            "responseKey": "success_eaadhaar_download"
        },
        "ISSUED_FILES": {
            "items": [
                {
                    "name": "Aadhaar Card",
                    "type": "file",
                    "size": "",
                    "date": "**-**-2024",
                    "parent": "",
                    "mime": [
                        "application/json",
                        "application/xml",
                        "application/pdf"
                    ],
                    "uri": "in.gov.uidai-ADHAR-************",
                    "doctype": "ADHAR",
                    "description": "Aadhaar Card",
                    "issuerid": "in.gov.uidai",
                    "issuer": "Unique Identification Authority of India (UIDAI)"
                },
                {
                    "name": "PAN Verification Record",
                    "type": "file",
                    "size": "",
                    "date": "**-**-2024",
                    "parent": "",
                    "mime": [
                        "application/json",
                        "application/xml",
                        "application/pdf"
                    ],
                    "uri": "in.gov.pan-PANCR-************",
                    "doctype": "PANCR",
                    "description": "PAN Verification Record",
                    "issuerid": "in.gov.pan",
                    "issuer": "Income Tax Department"
                }
            ]
        },
        "PAN": {
            "documentIssuer": "Income Tax Department",
            "documentName": "PAN Verification Record",
            "documentType": "PANCR",
            "idNumber": "**********6J",
            "userName": "**** ****",
            "userDateOfBirth": "**-**-1998",
            "userGender": "MALE",
            "documentVerifiedOn": "**-**-2024",
            "documentStatus": "Active",
            "documentBase64": "BASE64"
        }
    }
}

Exhaustive List of Response Keys for Callbacks

NoResponse KeyDescription
1success_uistream_documents_fetchA full callback has been sent.
2success_uistream_partial_documents_fetchA partial callback has been sent without poller initiation. This happens when either the poller configuration is turned off by the merchant, or if the documents failed due to a validation error. For instance, if the PAN Pull step failed due to a name or DOB mismatch, the poller is NOT initiated.
3success_uistream_partial_fetch_with_pollerA partial callback has been sent with poller initiation. This happens when two conditions are true. First, the poller configuration should be turned on by the merchant. This is NOT turned on by default. Second, the error received from the DigiLocker source should be an intermittent fluctuation or a downtime.
4success_uistream_pollerA partial callback containing only the PAN document’s data points that is received once the poller has successfully downloaded the EPAN document.
5error_uistream_poller_retries_exhaustedA callback that simply informs the merchant that the poller retries have been exhausted.
6event_uistream_session_initiatedAn event callback sent when the session is initiated.
7event_uistream_session_terminationAn event callback sent when the session is terminated.
8event_uistream_session_timeoutAn event callback sent when the session is timed out. Currently, this happens after 300 seconds of non-completion. Please note: Non-completion does not indicate non-activity. This is a configurable value.

Case 1: success_uistream_documents_fetch

When does this happen:

A full callback has been sent.

{
    "initialDecentroTxnId": "**************6813",
    "status": "SUCCESS",
    "message": "All documents have been fetched successfully.",
    "responseKey": "success_uistream_documents_fetch",
    "data": {
        "EAADHAAR": {
            "decentroTxnId": "**************B73",
            "status": "SUCCESS",
            "responseCode": "S00000",
            "message": "E-Aadhaar information received successfully from Digilocker",
            "data": {
                "aadhaarReferenceNumber": "",
                "aadhaarUid": "********1234",
                "proofOfIdentity": {
                    "dob": "DD-MM-YYYY",
                    "hashedEmail": "",
                    "gender": "M",
                    "hashedMobileNumber": "",
                    "name": "**** ****"
                },
                "proofOfAddress": {
                    "careOf": "S/O **** ****",
                    "country": "India",
                    "district": "******",
                    "house": "***",
                    "landmark": "Beside ****",
                    "locality": "*********",
                    "pincode": "******",
                    "postOffice": "********",
                    "state": "**********",
                    "street": "**** Main, ********** Road",
                    "subDistrict": "",
                    "vtc": "******"
                },
                "image": "BASE64",
                "pdf": "BASE64",
                "xml": "BASE64"
            },
            "responseKey": "success_eaadhaar_download"
        },
        "ISSUED_FILES": {
            "items": [
                {
                    "name": "Aadhaar Card",
                    "type": "file",
                    "size": "",
                    "date": "**-**-2024",
                    "parent": "",
                    "mime": [
                        "application/json",
                        "application/xml",
                        "application/pdf"
                    ],
                    "uri": "in.gov.uidai-ADHAR-************",
                    "doctype": "ADHAR",
                    "description": "Aadhaar Card",
                    "issuerid": "in.gov.uidai",
                    "issuer": "Unique Identification Authority of India (UIDAI)"
                },
                {
                    "name": "PAN Verification Record",
                    "type": "file",
                    "size": "",
                    "date": "**-**-2024",
                    "parent": "",
                    "mime": [
                        "application/json",
                        "application/xml",
                        "application/pdf"
                    ],
                    "uri": "in.gov.pan-PANCR-************",
                    "doctype": "PANCR",
                    "description": "PAN Verification Record",
                    "issuerid": "in.gov.pan",
                    "issuer": "Income Tax Department"
                }
            ]
        },
        "PAN": {
            "documentIssuer": "Income Tax Department",
            "documentName": "PAN Verification Record",
            "documentType": "PANCR",
            "idNumber": "**********6J",
            "userName": "**** ****",
            "userDateOfBirth": "**-**-1998",
            "userGender": "MALE",
            "documentVerifiedOn": "**-**-2024",
            "documentStatus": "Active",
            "documentBase64": "BASE64"
        }
    }
}

Case 2: success_uistream_partial_documents_fetch

When does this happen:

A partial callback has been sent without poller initiation. This happens when either the poller configuration is turned off by the merchant, or if the documents failed due to a validation error.

For instance, if the PAN Pull step failed due to a name or DOB mismatch, the poller is NOT initiated.

{
    "initialDecentroTxnId": "**************6813",
    "status": "SUCCESS",
    "message": "Some documents have been fetched successfully.",
    "responseKey": "success_uistream_partial_documents_fetch",
    "data": {
        "EAADHAAR": {
            "decentroTxnId": "**************B73",
            "status": "SUCCESS",
            "responseCode": "S00000",
            "message": "E-Aadhaar information received successfully from Digilocker",
            "data": {
                "aadhaarReferenceNumber": "",
                "aadhaarUid": "********1234",
                "proofOfIdentity": {
                    "dob": "DD-MM-YYYY",
                    "hashedEmail": "",
                    "gender": "M",
                    "hashedMobileNumber": "",
                    "name": "**** ****"
                },
                "proofOfAddress": {
                    "careOf": "S/O **** ****",
                    "country": "India",
                    "district": "******",
                    "house": "***",
                    "landmark": "Beside ****",
                    "locality": "*********",
                    "pincode": "******",
                    "postOffice": "********",
                    "state": "**********",
                    "street": "**** Main, ********** Road",
                    "subDistrict": "",
                    "vtc": "******"
                },
                "image": "BASE64",
                "pdf": "BASE64",
                "xml": "BASE64"
            },
            "responseKey": "success_eaadhaar_download"
        },
        "ISSUED_FILES": {
            "items": [
                {
                    "name": "Aadhaar Card",
                    "type": "file",
                    "size": "",
                    "date": "**-**-2024",
                    "parent": "",
                    "mime": [
                        "application/json",
                        "application/xml",
                        "application/pdf"
                    ],
                    "uri": "in.gov.uidai-ADHAR-************",
                    "doctype": "ADHAR",
                    "description": "Aadhaar Card",
                    "issuerid": "in.gov.uidai",
                    "issuer": "Unique Identification Authority of India (UIDAI)"
                },
                {
                    "name": "PAN Verification Record",
                    "type": "file",
                    "size": "",
                    "date": "**-**-2024",
                    "parent": "",
                    "mime": [
                        "application/json",
                        "application/xml",
                        "application/pdf"
                    ],
                    "uri": "in.gov.pan-PANCR-************",
                    "doctype": "PANCR",
                    "description": "PAN Verification Record",
                    "issuerid": "in.gov.pan",
                    "issuer": "Income Tax Department"
                }
            ]
        },
        "PAN": {
		"message": "An error occurred during PAN retrieval. Reason: <ERROR MESSAGE>"
        }
    }
}

<ERROR_MESSAGE> can be one of the following:

  1. The full name does not match the PAN data.
  2. The mobile number is not linked with Aadhaar.
  3. The PAN DOB does not match the Aadhaar data.
  4. The PAN provided is invalid.

Case 3: success_uistream_partial_fetch_with_poller

When does this happen:

A partial callback has been sent with poller initiation.

This happens when two conditions are true. First, the poller configuration should be turned on by the merchant. This is NOT turned on by default. Second, the error received from the DigiLocker source should be an intermittent fluctuation or a downtime.

Case 3A: Document Base64 received, but data points failed

{
    "initialDecentroTxnId": "**************6813",
    "status": "SUCCESS",
    "message": "Some documents have been fetched successfully.",
    "responseKey": "success_uistream_partial_fetch_with_poller",
    "data": {
        "EAADHAAR": {
            "decentroTxnId": "**************B73",
            "status": "SUCCESS",
            "responseCode": "S00000",
            "message": "E-Aadhaar information received successfully from Digilocker",
            "data": {
                "aadhaarReferenceNumber": "",
                "aadhaarUid": "********1234",
                "proofOfIdentity": {
                    "dob": "DD-MM-YYYY",
                    "hashedEmail": "",
                    "gender": "M",
                    "hashedMobileNumber": "",
                    "name": "**** ****"
                },
                "proofOfAddress": {
                    "careOf": "S/O **** ****",
                    "country": "India",
                    "district": "******",
                    "house": "***",
                    "landmark": "Beside ****",
                    "locality": "*********",
                    "pincode": "******",
                    "postOffice": "********",
                    "state": "**********",
                    "street": "**** Main, ********** Road",
                    "subDistrict": "",
                    "vtc": "******"
                },
                "image": "BASE64",
                "pdf": "BASE64",
                "xml": "BASE64"
            },
            "responseKey": "success_eaadhaar_download"
        },
        "ISSUED_FILES": {
            "items": [
                {
                    "name": "Aadhaar Card",
                    "type": "file",
                    "size": "",
                    "date": "**-**-2024",
                    "parent": "",
                    "mime": [
                        "application/json",
                        "application/xml",
                        "application/pdf"
                    ],
                    "uri": "in.gov.uidai-ADHAR-************",
                    "doctype": "ADHAR",
                    "description": "Aadhaar Card",
                    "issuerid": "in.gov.uidai",
                    "issuer": "Unique Identification Authority of India (UIDAI)"
                },
                {
                    "name": "PAN Verification Record",
                    "type": "file",
                    "size": "",
                    "date": "**-**-2024",
                    "parent": "",
                    "mime": [
                        "application/json",
                        "application/xml",
                        "application/pdf"
                    ],
                    "uri": "in.gov.pan-PANCR-************",
                    "doctype": "PANCR",
                    "description": "PAN Verification Record",
                    "issuerid": "in.gov.pan",
                    "issuer": "Income Tax Department"
                }
            ]
        },
        "PAN": {
            "documentIssuer": "Income Tax Department",
            "documentName": "PAN Verification Record",
            "documentType": "PANCR",
            "documentBase64": "BASE64",
            "message": "Poller has been initiated to retrieve missing data points.",
        }
    }
}

Case 3B: Document data points received, but document base 64 download failed

{
    "initialDecentroTxnId": "**************6813",
    "status": "SUCCESS",
    "message": "Some documents have been fetched successfully.",
    "responseKey": "success_uistream_partial_fetch_with_poller",
    "data": {
        "EAADHAAR": {
            "decentroTxnId": "**************B73",
            "status": "SUCCESS",
            "responseCode": "S00000",
            "message": "E-Aadhaar information received successfully from Digilocker",
            "data": {
                "aadhaarReferenceNumber": "",
                "aadhaarUid": "********1234",
                "proofOfIdentity": {
                    "dob": "DD-MM-YYYY",
                    "hashedEmail": "",
                    "gender": "M",
                    "hashedMobileNumber": "",
                    "name": "**** ****"
                },
                "proofOfAddress": {
                    "careOf": "S/O **** ****",
                    "country": "India",
                    "district": "******",
                    "house": "***",
                    "landmark": "Beside ****",
                    "locality": "*********",
                    "pincode": "******",
                    "postOffice": "********",
                    "state": "**********",
                    "street": "**** Main, ********** Road",
                    "subDistrict": "",
                    "vtc": "******"
                },
                "image": "BASE64",
                "pdf": "BASE64",
                "xml": "BASE64"
            },
            "responseKey": "success_eaadhaar_download"
        },
        "ISSUED_FILES": {
            "items": [
                {
                    "name": "Aadhaar Card",
                    "type": "file",
                    "size": "",
                    "date": "**-**-2024",
                    "parent": "",
                    "mime": [
                        "application/json",
                        "application/xml",
                        "application/pdf"
                    ],
                    "uri": "in.gov.uidai-ADHAR-************",
                    "doctype": "ADHAR",
                    "description": "Aadhaar Card",
                    "issuerid": "in.gov.uidai",
                    "issuer": "Unique Identification Authority of India (UIDAI)"
                },
                {
                    "name": "PAN Verification Record",
                    "type": "file",
                    "size": "",
                    "date": "**-**-2024",
                    "parent": "",
                    "mime": [
                        "application/json",
                        "application/xml",
                        "application/pdf"
                    ],
                    "uri": "in.gov.pan-PANCR-************",
                    "doctype": "PANCR",
                    "description": "PAN Verification Record",
                    "issuerid": "in.gov.pan",
                    "issuer": "Income Tax Department"
                }
            ]
        },
        "PAN": {
            "documentIssuer": "Income Tax Department",
            "documentName": "PAN Verification Record",
            "documentType": "PANCR",
            "idNumber": "**********6J",
            "userName": "**** ****",
            "userDateOfBirth": "**-**-1998",
            "userGender": "MALE",
            "documentVerifiedOn": "**-**-2024",
            "documentStatus": "Active",
            "message": "Poller has been initiated to retrieve missing data points.",
        }
    }
}

Case 3C: Both document data points and document base 64 download failed

{
    "initialDecentroTxnId": "**************6813",
    "status": "SUCCESS",
    "message": "Some documents have been fetched successfully.",
    "responseKey": "success_uistream_partial_fetch_with_poller",
    "data": {
        "EAADHAAR": {
            "decentroTxnId": "**************B73",
            "status": "SUCCESS",
            "responseCode": "S00000",
            "message": "E-Aadhaar information received successfully from Digilocker",
            "data": {
                "aadhaarReferenceNumber": "",
                "aadhaarUid": "********1234",
                "proofOfIdentity": {
                    "dob": "DD-MM-YYYY",
                    "hashedEmail": "",
                    "gender": "M",
                    "hashedMobileNumber": "",
                    "name": "**** ****"
                },
                "proofOfAddress": {
                    "careOf": "S/O **** ****",
                    "country": "India",
                    "district": "******",
                    "house": "***",
                    "landmark": "Beside ****",
                    "locality": "*********",
                    "pincode": "******",
                    "postOffice": "********",
                    "state": "**********",
                    "street": "**** Main, ********** Road",
                    "subDistrict": "",
                    "vtc": "******"
                },
                "image": "BASE64",
                "pdf": "BASE64",
                "xml": "BASE64"
            },
            "responseKey": "success_eaadhaar_download"
        },
        "ISSUED_FILES": {
            "items": [
                {
                    "name": "Aadhaar Card",
                    "type": "file",
                    "size": "",
                    "date": "**-**-2024",
                    "parent": "",
                    "mime": [
                        "application/json",
                        "application/xml",
                        "application/pdf"
                    ],
                    "uri": "in.gov.uidai-ADHAR-************",
                    "doctype": "ADHAR",
                    "description": "Aadhaar Card",
                    "issuerid": "in.gov.uidai",
                    "issuer": "Unique Identification Authority of India (UIDAI)"
                },
                {
                    "name": "PAN Verification Record",
                    "type": "file",
                    "size": "",
                    "date": "**-**-2024",
                    "parent": "",
                    "mime": [
                        "application/json",
                        "application/xml",
                        "application/pdf"
                    ],
                    "uri": "in.gov.pan-PANCR-************",
                    "doctype": "PANCR",
                    "description": "PAN Verification Record",
                    "issuerid": "in.gov.pan",
                    "issuer": "Income Tax Department"
                }
            ]
        },
        "PAN": {
            "documentIssuer": "Income Tax Department",
            "documentName": "PAN Verification Record",
            "documentType": "PANCR",
            "message": "Poller has been initiated to retrieve missing data points.",
        }
    }
}

Case 4: success_uistream_poller

When does this happen:

A partial callback containing only the PAN document’s data points that is received once the poller has successfully downloaded the EPAN document.

NOTE: Regardless of Case 3A, 3B or 3C, you can always expect to get all data points when the response key is success_uistream_poller

{
    "initialDecentroTxnId": "**************6813",
    "status": "SUCCESS",
    "message": "Poller has fetched missing data points successfully.",
    "responseKey": "success_uistream_poller",
    "data": {
        "PAN": {
            "documentIssuer": "Income Tax Department",
            "documentName": "PAN Verification Record",
            "documentType": "PANCR",
            "idNumber": "**********6J",
            "userName": "**** ****",
            "userDateOfBirth": "**-**-1998",
            "userGender": "MALE",
            "documentVerifiedOn": "**-**-2024",
            "documentStatus": "Active",
            "documentBase64": "BASE64"
        }
    }
}

Case 5: error_uistream_poller_retries_exhausted

When does this happen:

A callback that simply informs the merchant that the poller retries have been exhausted.

{
    "initialDecentroTxnId": "**************6813",
    "status": "SUCCESS",
    "message": "UIStream Poller retries exhausted after 3600 seconds.",
    "responseKey": "error_uistream_poller_retries_exhausted",
    "data": null
}

Case 6: event_uistream_session_initiated

When does this happen:

An event callback sent when the session is initiated.

{
  "initialDecentroTxnId": "4D77AF65ACD34E1DBF288DD00A2C0EC1",
  "status": "SUCCESS",
  "message": "The Digilocker session has been initiated.",
  "responseKey": "event_uistream_session_initiated",
  "data": null
}

Case 7: event_uistream_session_termination

When does this happen:

An event callback sent when the session is terminated.

{
  "initialDecentroTxnId": "DD18D0F32EA64814A1A615DC3C646CB4",
  "status": "FAILURE",
  "message": "The Digilocker session has been terminated.",
  "responseKey": "error_uistream_session_termination",
  "data": null
}

Case 8: event_uistream_session_timeout

When does this happen:

An event callback sent when the session is timed out.

Currently, this happens after 300 seconds of non-completion. Please note: Non-completion does not indicate non-activity.

This is a configurable value.

{
  "initialDecentroTxnId": "4D77AF65ACD34E1DBF288DD00A2C0EC1",
  "status": "SUCCESS",
  "message": "The user has been stuck in the DigiLocker page for more than 300 seconds and has been timed out.",
  "responseKey": "event_uistream_session_timeout",
  "data": null
}