Registration via Aadhaar OTP

Applicable ToHMIS / LMIS (PVT)Government Health App
Using Aadhar OTPMandatoryMandatory

Functionality Overview

ABHA Number can be created by authenticating with Aadhaar. Those who have their Aadhaar number linked with their mobile number can use this method to generate their ABHA number. Consent must be explained & collected from the user prior to performing Aadhaar OTP authentication. Once the user is successfully authenticated, the system will generate 14 digit ABHA number.

Following are the steps to create a ABHA Number via Aadhaar OTP authentication:

  1. The User should input their Aadhaar number.
  2. The system must check if this is a valid Aadhaar number using the verhoeff algorithm. The last digit of Aadhaar is the checksum digit.
  3. The ABHA number APIs will make a request to UIDAI to send an OTP to the Aadhaar linked mobile number.
  4. Once the OTP is verified, the system returns the complete profile data along with 14-digit ABHA Number.
  5. The User is asked to input their mobile number.
    • System checks whether the user’s mobile number is matching with Aadhaar-linked mobile number. If it matches, then it will automatically link with ABHA number.
    • If the mobile number does not match with Aadhaar-linked mobile, an OTP is triggered to verify the submitted the mobile number.
  6. The Aadhaar number provided by the user must not be stored by the HMIS / LMIS system to ensure it is compliant with Aadhaar related regulations.

Sample User experience

sample user experienece sample user experienece

ABHA OTP Test Cases

S.NoFunctionalityTest CaseSteps To Be Executed
1.1Mandatory Create ABHA Option (CRT_ABHA_101)The system must provide an option to create ABHA through Aadhaar OTP
1.2Mandatory Consent collection (CRT_ABHA_102)The system must display the consent language/ disclaimer language and collect user’s consent as per the ABDM published consent.1. Read consent language. 2. Agree to the consent language (through ‘I agree’ checkbox or any other form of signature)
Optional Consent collection should be multilingual (CRT_ABHA_103)The system should be able to provide the consent in languages other than English also1. Read consent language. 2. Agree to the consent language (through ‘I agree’ checkbox or any other form of signature)
1.3Mandatory Aadhaar collection and Error Message (CRT_ABHA_104)System must allow the user to enter Aadhaar Number and the system will display an error message for invalid Aadhaar NumberEnter Aadhaar number
1.4Mandatory Aadhaar OTP Collection (CRT_ABHA_105)User receives Aadhaar OTP and System must allow the user to enter Aadhaar OTP1. Receive OTP on mobile number registered with Aadhaar. 2. Enter Aadhaar OTP
1.5Mandatory Resend OTP (CRT_ABHA_106)System may activate the Resend OTP button atleast 2 times after 60 seconds1. Click on Resend OTP Button. 2. Receive OTP on mobile
1.6Mandatory OTP based Aadhaar Authentication (CRT_ABHA_107)System must verify the OTPClick on verify button(For Resend and Send). It is recommended that verify button be auto enabled
1.7Optional Communication Mobile Number (CRT_ABHA_108)1. If communication mobile number is same as Aadhaar linked mobile number then it should directly go to ABHA creation screen. 2. Alternatively, Integrators may also prompt for OTP again from the user and then post verification of OTP user can go to ABHA creation screen.System will check entered mobile is same as Aadhaar linked mobile number. If returns true then user will directed to ABHA creation screen.
1.8Mandatory Mobile Number Verification (CRT_ABHA_109)If communication mobile number is not same as Aadhaar linked mobile number then system must ask for the OTP to verify comuncation mobile number.System must verify the mobile number. 1. System must send OTP on mobile number. 2. User enters the OTP and clicks on verify. 3. In case of incorrect OTP
Mandatoryfor Private /Government(Suggested for integrators program using demo auth). Suggested ABHA Address (CRT_ABHA_112)The system should allow the user to select the ABHA address giving atleast 3 available suggestions1. Governemnt integrator may use the default ABHA address. 2. System should have a provision for private integrators to proceed with the suggested ABHA and to create a new ABHA address.
1.9Mandatory Display of ABHA Number (CRT_ABHA_113)System must display the created ABHA Number1. System shows the 14-digit ABHA number and ABHA address generated
1.10Mandatory for Private. View and Download ABHA details (If integrators is generating ABHA card) (CRT_ABHA_114)System must have a provision to View / Download ABHA card1. System should show the user their ABHA Card. 2. ABHA Card should be generated by API and should contain: a. ABHA Number (Mandatory). b. User Photo-Optional. c. ABHA QR code. d. date of birth and gender. e. ABHA Address
1.11Mandatory & Optional Either of the test cases CRT_ABHA_114 or CRT_ABHA_115 is mandatory for Governement Optional for Private. View and Download ABHA details. (If integrators is not generating ABHA card) (CRT_ABHA_115)If Integrator is not generating ABHA card.1. If Integrator is not generating ABHA card then They print the mentioned information on their own card. a. ABHA Number (Mandatory). b. ABHA Address

API Information Request Response

Sequence Diagram for V1&V2 API

Same mobile Number as linked With Aadhaar Flow

%%{init:{"fontSize": "1.0rem", "sequence":{"showSequenceNumbers":true}}}%% sequenceDiagram title ABHA Creation using Aadhar OTP actor User participant HIU/HIP/PHR Note left of ABHA: Share RSA Encrypted Aadhaar number HIU/HIP/PHR->>ABHA: (POST: /v2/registration/aadhaar/generateOtp) ABHA->>UIDAI: Aadhaar number UIDAI->>UIDAI:Verify Aadhaar number UIDAI->>ABHA: Response 200 ABHA->>HIU/HIP/PHR: Response 200 (transaction ID, last 4 digit mobile number) UIDAI->>User: OTP Note right of HIU/HIP/PHR:Receive OTP Note left of ABHA: Share OTP, transaction ID HIU/HIP/PHR->>ABHA: (POST: /v2/registration/aadhaar/verifyOTP) ABHA->>UIDAI: UIDAI->>UIDAI:Verify OTP UIDAI->>ABHA: ABHA->>HIU/HIP/PHR: Response 200 (user details,transaction ID) Note left of ABHA: Share mobile number, transaction ID HIU/HIP/PHR->>ABHA: (POST: /v2/registration/aadhaar/checkAndGenerateMobileOTP) ABHA->>HIU/HIP/PHR: Response 200 (mobileLinked,transaction ID) Note over HIU/HIP/PHR,UIDAI: mobileLinked : true (mobile number linked with Aadhaar) Note left of ABHA: transaction ID HIU/HIP/PHR->>ABHA: (POST: /v2/registration/aadhaar/createHealthIdByAdhaar) Note right of HIU/HIP/PHR: ABHA number created ABHA->>HIU/HIP/PHR: Response 200 (user account details)

Mobile Number different than one linked With Aadhaar Flow

%%{init:{"fontSize": "1.0rem", "sequence":{"showSequenceNumbers":true}}}%% sequenceDiagram title ABHA Creation using Aadhar OTP actor User participant HIU/HIP/PHR Note left of ABHA: Share RSA Encrypted Aadhaar number HIU/HIP/PHR->>ABHA: (POST: /v2/registration/aadhaar/generateOtp) ABHA->>UIDAI: Aadhaar number UIDAI->>UIDAI:Verify Aadhaar number UIDAI->>ABHA: Response 200 ABHA->>HIU/HIP/PHR: Response 200 (transaction ID, last 4 digit mobile number) UIDAI->>User: OTP Note right of HIU/HIP/PHR:Receive OTP Note left of ABHA: Share OTP, transaction ID HIU/HIP/PHR->>ABHA: (POST: /v2/registration/aadhaar/verifyOTP) ABHA->>UIDAI: UIDAI->>UIDAI:Verify OTP UIDAI->>ABHA: ABHA->>HIU/HIP/PHR: Response 200 (user details,transaction ID) Note left of ABHA: Share mobile number, transaction ID HIU/HIP/PHR->>ABHA: (POST: /v2/registration/aadhaar/checkAndGenerateMobileOTP) ABHA->>HIU/HIP/PHR: Response 200 (mobileLinked,transaction ID) Note over HIU/HIP/PHR,UIDAI: mobileLinked : false (mobile number not linked with Aadhaar) Note right of HIU/HIP/PHR: sends OTP ABHA->>User: OTP Note left of ABHA: Share OTP, transaction ID HIU/HIP/PHR->>ABHA: (POST: /v2/registration/aadhaar/verifyMobileOTP) ABHA->>HIU/HIP/PHR: Response 200 (transaction ID) Note left of ABHA: Share transaction ID HIU/HIP/PHR->>ABHA: (POST: /v2/registration/aadhaar/createHealthIdByAdhaar) ABHA->>HIU/HIP/PHR: ABHA number created

API Information Request Response for V1&V2

1. Generate OTP On Aadhaar Registered Mobile

BASE URL: https://healthidsbx.abdm.gov.in

BasePath : api

2. Verify OTP

BASE URL: https://healthidsbx.abdm.gov.in

BasePath : api

3. Check Aadhaar Linked Mobile

BASE URL: https://healthidsbx.abdm.gov.in

BasePath : api

4. Verify OTP

BASE URL: https://healthidsbx.abdm.gov.in

BasePath : api

Note: This step is required only if the mobile number is different from the Aadhaar linked mobile number

5. Create ABHA Number

BASE URL: https://healthidsbx.abdm.gov.in

BasePath : api

Sequence Diagram for V3 API

The sequence of APIs used via this method are shown in the diagram below:

%%{init:{"fontSize": "1.0rem", "sequence":{"showSequenceNumbers":true}}}%% sequenceDiagram title ABHA Creation using Aadhar OTP actor User participant HIU/HIP/PHR Note left of ABHA: Share encrypted Aadhaar number HIU/HIP/PHR->>ABHA: (POST: /v3/enrollment/request/otp) ABHA->>UIDAI: Aadhaar number UIDAI->>UIDAI:Verify Aadhaar number UIDAI->>ABHA: Response 200 ABHA->>HIU/HIP/PHR: Response 200 (transaction ID) UIDAI->>User:Receive OTP Note right of HIU/HIP/PHR: Forward OTP & transaction ID to verify HIU/HIP/PHR->>ABHA: (POST: /v3/enrollment/enrol/byAadhaar) ABHA->>UIDAI: Forward OTP UIDAI->>UIDAI: Verify OTP UIDAI->>ABHA: Share Aadhaar e-KYC details ABHA->>ABHA: ABHA Creation ABHA->>HIU/HIP/PHR: ABHA Number & Profile Note over HIU/HIP/PHR,UIDAI: Mobile verification and Mobile Update Note left of ABHA: Share encrypted mobile number,transaction ID HIU/HIP/PHR->>ABHA: (POST: /v3/enrollment/request/otp) ABHA->>HIU/HIP/PHR: Response 200 ABHA->>User:Receive OTP Note right of HIU/HIP/PHR: Forward Encrypted OTP & transaction ID to verify HIU/HIP/PHR->>ABHA: (POST: /v3/enrollment/auth/byAbdm) ABHA->>ABHA: OTP Verified & Mobile Number Linked ABHA->>HIU/HIP/PHR: Response 200

API Information Request Response for V3

1. Generate Aadhaar OTP on registrered mobile number

Api accepts Aadhaar Number and then sends OTP to Aadhaar linked mobile number

BASE URL: https://abhasbx.abdm.gov.in/abha/api

Refer to example “Request OTP Aadhaar based enrollment”

Note System may activate the Resend OTP button atleast 2 times after 60 seconds. The above api is also used for Resend OTP

2. Create ABHA Number using pre-verified Aadhaar & Mobile.

API creates ABHA Number using Aadhaar & Mobile which are already Registered.

BASE URL: https://abhasbx.abdm.gov.in/abha/api

Verify & Update Mobile This step is required only if the mobile number is different from the Aadhaar linked mobile number

3. Generate OTP on mobile number

Api accepts Encrypted Mobile Number and then Generates OTP to that Mobile Number

BASE URL: https://abhasbx.abdm.gov.in/abha/api

Refer to example “Request OTP for mobile verification”

4. Link mobile number

Api accepts Encrypted OTP and then link that Mobile Number

BASE URL: https://abhasbx.abdm.gov.in/abha/api

Refer to example “Request Verify Mobile”