Digilocker UIStreams

Recipes
🍶
Create a simple Flask (Python) app that generates UIStream session URLs
Open Recipe
🚂
Create a simple Express.js (Node.js) app that generates UIStream session URLs
Open Recipe
Create a simple Spring Boot (Java) app that generates UIStream session URLs
Open Recipe
🛤️
Create a simple Ruby on Rails (Ruby) app that generates UIStream session URLs
Open Recipe
🎯
Create a simple ASP.NET Core (C#) app that generates UIStream session URLs
Open Recipe
🎵
Create a simple Symfony (PHP) app that generates UIStream session URLs
Open Recipe
🏎️
Create a simple FastAPI (Python) app that generates UIStream session URLs
Open Recipe
🐍
Create a simple Django (Python) app that generates UIStream session URLs
Open Recipe
🎨
Create a simple Laravel (PHP) app that generates UIStream session URLs
Open Recipe
🍸
Create a simple Gin (Go) app that generates UIStream session URLs
Open Recipe

API Endpoints

👍

Override Orchestrator Decision

You can use the force_aadhaar and the force_mobile optional boolean keys in the request body to force the end-user to a specific flow and ignore the orchestrator's decision.

👍

Multi-lingual Support

UIStreams now supports UIs in 12 Indian Languages. Just pass the language key in the request contract with any one of the following supported language codes:

  • Hindi: hi
  • Marathi: mr
  • Tamil: ta
  • Gujarati: gu
  • Punjabi: pa
  • Malayalam: ml
  • Oriya: or
  • Kannada: kn
  • Bengali: bn
  • Telugu: te
  • Assamese: as
  • Urdu: ur

📘

pan_optional Key in the DIGILOCKER UIStreams

The DIGILOCKER_AADHAAR / DIGILOCKER_AADHAAR_PAN UIStream has an optional boolean key named pan_optional. This is enabled by default and allows the user to pass through as long as atleast Aadhaar is present.

Hence, by default, whenever users deny PAN consent or do not have a PAN in their DigiLocker account, they are allowed to pass through the flow unless the pan_optional key is passed inside the additional_data object as false.

📘

enable_name_match Key in the DIGILOCKER UIStreams

The enable_name_match key, when set to true, activates a name matching step in the DIGILOCKER_AADHAAR_PAN flow. By default, an 80% match threshold is applied, which can be adjusted using the name_match_cutoff key. This ensures the user’s provided name aligns closely with the DigiLocker records before proceeding.

The Atomic UIStream API is a single RESTful API based on HTTP requests and JSON responses. All requests work on HTTPS.

The API expects a JSON request body and responds with a JSON response body. All responses maintain a strict and consistent structure.

Endpoint: https://<DECENTRO_HOST>/v2/kyc/workflows/uistream

EnvironmentHost
Stagingin.staging.decentro.tech
Productionin.decentro.tech

Please note that the API Reference has been set to use only the staging host. Hence, only staging client credentials will work on API Reference pages to test out the APIs

Note: DigiLocker has no visibility of Aadhaar linked mobile numbers in any way. In case of DigiLocker account login via mobile numbers, since DigiLocker does not process any Aadhaar data as such, so even if there are multiple Aadhaar linked DigiLocker accounts, there is no way to know such information via APIs at the moment.

Body Params
string
required

Any unique ID assigned by you for this request

boolean
required
string
required
Defaults to To perform KYC of the individual

The purpose of taking this consent from your customer. Mandatory as per regulation. (>20 characters)

string
required

The URL where the results of the UIStream will be sent. This URL must accept a POST request.

string
required
Defaults to https://decentro.tech

The URL where the user is redirected to after completion of the session.

string
required
Defaults to DIGILOCKER_AADHAAR

The ID of the UIStream.

additional_data
object

All additional data that might be used in the UIStream

boolean
Defaults to true

Optional key to skip the first screen. This is turned on by default. If you'd like the survey screen, please explicitly send this as false

boolean
Defaults to false

Optional boolean key to disable the UIStreams from opening multiple tabs

string
Defaults to en

Optional string field that expects a 2-character language code

boolean
Defaults to false

Optional boolean key to force the user to the Aadhaar login page

boolean
Defaults to false

Optional boolean key to force the user to the Mobile page

boolean
Defaults to false

Optional boolean key to clear DigiLocker cookies. Important in cases where users try to login multiple times via different login credentials

Headers
string
required

ID/identifier that is provided by Decentro to a specific client and environment. Please note, this may change based on the environment you are on.

string
required

The confidential credential provided by Decentro that is associated with the client_id

Responses

Language
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json