Aadhaar XML

Aadhaar, being a ubiquitous document that everyone possesses, can be used to identify customers using a simple 3-step process by connecting with UIDAI. Businesses can use this to onboard customers seamlessly without having to ask for the document or having to verify the same using an offline process.

📘

Note

This feature will work well for a customer ONLY if the mobile number linked to Aadhaar is active and is with the customer or someone close to them.

Now embed offline eKYC Aadhaar flow to verify consumers on your application using a simple flow.

  • Initiate Session: This API allows the platform to initiate a session to get the captcha before passing the Aadhaar number of the customer
  • Generate OTP: This API allows the platform to pass the Aadhaar number to generate OTP to the linked mobile number
  • Validate OTP: This API allows the platform to pass the OTP to Decentro to fetch the customer's Aadhaar information from UIDAI

If the customer or the platform wishes to restart the session, a new captcha can be generated using the Reload Captcha API.

Offline eKYC will help you validate the below data of consumers on successful OTP validation at UIDAI.

  • Reference number
  • Resident’s name
  • Gender
  • Photo
  • Date of Birth
  • The mobile number in hashed form
  • Email in hashed form

When fetched, the eKYC data is encrypted with a shared phrase provided by the Aadhaar number holder.

📘

Note

As per the compliances by UIDAI on sharing and storage of Aadhaar number is not allowed.

Service Providers shall not share, publish or display either Share Code or XML file or its contents with anyone else. Any non-compliance of these actions shall invite actions under Sections 17 and 25 of The Aadhaar (Authentication) Regulation, 2016, Sections 4 and 6 of The Aadhaar (Sharing of Information) Regulation, 2016 and Sections 29(2), 29 (3), and 37 of The Aadhaar Act, 2016.

Consent should be mandatorily stored at the company end to proceed with verification.

Initiate Session

This API is to initiate a session with UIDAI to fetch Captcha generated for verification. Try Initiate Session API.

curl --location --request POST 'https://in.staging.decentro.tech/v2/kyc/aadhaar_connect' \
--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": "ABCD0001",
    "consent": true,
    "purpose": "Aadhaar verification"
}'
{
  "decentroTxnId": "DECXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "status": "SUCCESS",
  "responseCode": "S00000",
  "message": "Session Created Successfully",
  "data": {
    "captchaImage": "<base_64_string>"
  }
}

Reload Captcha

This API can be used in case the user needs to reload captcha or an invalid captcha is entered.

curl --location --request POST 'https://in.staging.decentro.tech/v2/kyc/aadhaar_connect/captcha/reload' \
--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": "ABCD0001",
    "consent": true,
    "purpose": "Aadhaar Verification",
    "initiation_transaction_id": "D009XXXXXXXXXXXXXXXXXX"
}'
{
  "decentroTxnId": "DECXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "status": "SUCCESS",
  "responseCode": "S00000",
  "message": "Captcha image generated successfully.",
  "data": {
    "captchaImage": "<base_64_string>"
  }
}

Generate OTP

This API will generate OTP via UIDAI to Aadhaar registered mobile number.

📘

The OTP to the customer's mobile number will be triggered by UIDAI and not by Decentro.

curl --location --request POST 'https://in.staging.decentro.tech/v2/kyc/aadhaar_connect/otp' \
--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": "ABCD0001",
    "consent": true,
    "purpose": "Aadhaar Verification",
    "initiation_transaction_id": "D009XXXXXXXXXXXXXXXXXX",
    "aadhaar_number": "3243XXXXXXXX",
    "captcha":"xxxxx"
}'
{
  "decentroTxnId": "DECXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "status": "SUCCESS",
  "responseCode": "S00000",
  "message": "OTP sent to your Registered Mobile number. Check your mobile."
}

Validate OTP

This API will validate the OTP entered by the customer to authenticate with UIDAI. Once successfully validated, the platform will have the below details as available with UIDAI.

  • Reference number
  • Full name
  • Address
  • Gender
  • Photo
  • Date of Birth
  • Post Office
  • Mobile number in hashed form
  • Email in hashed form
curl --location --request POST 'https://in.staging.decentro.tech/v2/kyc/aadhaar_connect/otp/validate' \
--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": "ABCD0001",
    "consent": true,
    "purpose": "Aadhaar Verification",
    "initiation_transaction_id": "D009XXXXXXXXXXXXXXXXXX",
    "otp": "XXXXXX"
}'
{
  "decentroTxnId": "DECXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "status": "SUCCESS",
  "responseCode": "S00000",
  "message": "Aadhaar data retrieved successfully.",
  "data": {
    "aadhaarReferenceNumber": "882920211123XXXXXXXXX",
    "proofOfIdentity": {
      "dob": "DD-MM-YYYY",
      "hashedEmail": "hashed-email",
      "gender": "M",
      "hashedMobileNumber": "hashed-number",
      "name": "Name of candidate"
    },
    "proofOfAddress": {
      "careOf": "S/O: name of father",
      "country": "India",
      "district": "Visakhapatnam",
      "house": "door number",
      "landmark": "",
      "locality": "location",
      "pincode": "XXXXXX",
      "postOffice": "City PO",
      "state": "Karnataka",
      "street": "street name",
      "subDistrict": "Bangalore (urban)",
      "vtc": "Bangalore (Urban)"
    },
    "image": "base-64 string"
  }
}

Did this page help you?