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

โœ… Success & Error Responses

  1. success_uistream_documents_fetch

    • Message: All documents have been fetched successfully.
    • Sample Body:
    {
        "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"
            }
        }
    }
    
  2. success_uistream_partial_documents_fetch

    • Message: Some documents have been fetched successfully.
    • Sample Body:
      {
          "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": "The source issuer is intermittently down. Poller has started successfully. Please expect further callbacks."
              }
          }
      }
      
  3. error_uistream_session_termination

    • Message: The Digilocker session has been terminated.
    • Sample Body:
      {
        "initialDecentroTxnId": "BC52FB9C74E042838060BF3215AEF18D",
        "status": "FAILURE",
        "message": "The Digilocker session has been terminated.",
        "responseKey": "error_uistream_session_termination",
        "data": null
      }
      

  4. error_uistream_initiate_session

    • Message: An error occurred while trying to start the Digilocker session.
    • Sample Body:
    {
      "initialDecentroTxnId": "BC52FB9C74E042838060BF3215AEF18D",
      "status": "FAILURE",
      "message": "An error occurred while trying to start the Digilocker session.",
      "responseKey": "error_uistream_initiate_session",
      "data": null
    }
    
  5. error_uistream_digilocker_data_fetch

    • Message: An error occurred while trying to fetch Digilocker data.
    • Sample Body:
    {
      "initialDecentroTxnId": "BC52FB9C74E042838060BF3215AEF18D",
      "status": "FAILURE",
      "message": "An error occurred while trying to fetch Digilocker data.",
      "responseKey": "error_uistream_digilocker_data_fetch",
      "data": null
    }
    

  6. error_uistream_digilocker_timeout

    • Message: An error occurred while trying to fetch file parameters.
    • Sample Body:
    {
      "initialDecentroTxnId": "BC52FB9C74E042838060BF3215AEF18D",
      "status": "FAILURE",
      "message": "The user has been stuck in the DigiLocker page for more than 300 seconds and has been timed out.",
      "responseKey": "error_uistream_digilocker_timeout",
      "data": null
    }
    

  7. error_uistream_digilocker_file_params

    • Message: The user has been stuck in the DigiLocker page for more than 300 seconds and has been timed out.
    • Sample Body:
    {
      "initialDecentroTxnId": "BC52FB9C74E042838060BF3215AEF18D",
      "status": "FAILURE",
      "message": "The user has been stuck in the DigiLocker page for more than 300 seconds and has been timed out.",
      "responseKey": "error_uistream_digilocker_file_params",
      "data": null
    }
    


๐Ÿš€ Session and URL Events

  1. uistream_url_generated_successfully

    • Message: UIStream URL has been generated successfully.
    • Sample Body:
      {
        "uistreamID": "XXXXXX",
        "status": "SUCCESS",
        "message": "UIStream URL has been generated successfully",
        "responseKey": "uistream_url_generation_successful"
      }
      
  2. uistream_digilocker_initiation_successful

    • Message: DigiLocker Session has been initiated.
    • Sample Body:
      {
        "uistreamID": "XXXXXX",
        "status": "SUCCESS",
        "message": "DigiLocker Session has been initiated",
        "responseKey": "uistream_digilocker_initiation_successful"
      }
      

๐Ÿ‘€ DigiLocker Page Events

  1. uistream_digilocker_login_viewed

    • Message: UIStream DigiLocker Login Page has been viewed.
    • Sample Body:
      {
        "uistreamID": "XXXXXX",
        "status": "SUCCESS",
        "message": "UIStream DigiLocker Login Page has been viewed",
        "responseKey": "uistream_digilocker_login_viewed"
      }
      
  2. uistream_digilocker_otp_viewed

    • Message: UIStream DigiLocker OTP Page has been viewed.
    • Sample Body:
      {
        "uistreamID": "XXXXXX",
        "status": "SUCCESS",
        "message": "UIStream DigiLocker OTP Page has been viewed",
        "responseKey": "uistream_digilocker_otp_viewed"
      }
      
  3. uistream_digilocker_pin_viewed

    • Message: UIStream DigiLocker PIN Page has been viewed.
    • Sample Body:
      {
        "uistreamID": "XXXXXX",
        "status": "SUCCESS",
        "message": "UIStream DigiLocker PIN Page has been viewed",
        "responseKey": "uistream_digilocker_pin_viewed"
      }
      
  4. uistream_digilocker_consent_page_viewed

    • Message: UIStream DigiLocker Consent Page has been viewed.
    • Sample Body:
      {
        "uistreamID": "XXXXXX",
        "status": "SUCCESS",
        "message": "UIStream DigiLocker Consent Page has been viewed",
        "responseKey": "uistream_digilocker_consent_page_viewed"
      }
      
  5. uistream_digilocker_consent_accepted

    • Message: UIStream DigiLocker Consent has been accepted.
    • Sample Body:
      {
        "uistreamID": "XXXXXX",
        "status": "SUCCESS",
        "message": "UIStream DigiLocker Consent has been accepted",
        "responseKey": "uistream_digilocker_consent_accepted"
      }
      
  6. uistream_digilocker_consent_denied

    • Message: UIStream DigiLocker Consent has been denied.
    • Sample Body:
      {
        "uistreamID": "XXXXXX",
        "status": "SUCCESS",
        "message": "UIStream DigiLocker Consent has been denied",
        "responseKey": "uistream_digilocker_consent_denied"
      }
      

๐Ÿ‡ฎ๐Ÿ‡ณ MeriPehchaan Events

  1. uistream_meripehchaan_initiation_successful

    • Message: UIStream MeriPehchaan Login Page has been viewed.
    • Sample Body:
      {
        "uistreamID": "XXXXXX",
        "status": "SUCCESS",
        "message": "UIStream MeriPehchaan Login Page has been viewed",
        "responseKey": "uistream_meripehchaan_login_viewed"
      }
      
  2. uistream_meripehchaan_login_viewed

    • Message: UIStream MeriPehchaan Login Page has been viewed.
    • Sample Body:
      {
        "uistreamID": "XXXXXX",
        "status": "SUCCESS",
        "message": "UIStream MeriPehchaan Login Page has been viewed",
        "responseKey": "uistream_meripehchaan_login_viewed"
      }
      
  3. uistream_meripehchaan_otp_viewed

    • Message: UIStream DigiLocker OTP Page has been viewed. (Possible mismatch; should say MeriPehchaan)
    • Sample Body:
      {
        "uistreamID": "XXXXXX",
        "status": "SUCCESS",
        "message": "UIStream DigiLocker OTP Page has been viewed",
        "responseKey": "uistream_meripehchaan_otp_viewed"
      }
      
  4. uistream_meripehchaan_consent_page_viewed

    • Message: UIStream MeriPehchaan Login Page has been viewed. (Possible mismatch; may need correction)
    • Sample Body:
      {
        "uistreamID": "XXXXXX",
        "status": "SUCCESS",
        "message": "UIStream MeriPehchaan Login Page has been viewed",
        "responseKey": "uistream_meripehchaan_login_viewed"
      }
      
  5. uistream_meripehchaan_consent_accepted

    • Message: UIStream MeriPehchaan Consent has been accepted.
    • Sample Body:
      {
        "uistreamID": "XXXXXX",
        "status": "SUCCESS",
        "message": "UIStream MeriPehchaan Consent has been accepted",
        "responseKey": "uistream_meripehchaan_consent_accepted"
      }
      
  6. uistream_meripehchaan_consent_denied

    • Message: UIStream MeriPehchaan Consent has been denied.
    • Sample Body:
      {
        "uistreamID": "XXXXXX",
        "status": "SUCCESS",
        "message": "UIStream MeriPehchaan Consent has been denied",
        "responseKey": "uistream_meripehchaan_consent_denied"
      }