Aadhaar eKYC V2 — Verify OTP & Get Data
Verify the OTP and retrieve Aadhaar details with an auto-generated PDF. Includes name, address, DOB, photo, and masked Aadhaar number.
curl -X POST "https://production.deepvue.tech/v2/ekyc/aadhaar/verify-otp?otp=123456&reference_id=ref_a73af0b7accc4c3fbaa3dd2dc2cab550&consent=Y&purpose=lending&mobile_number=9999988888&generate_pdf=false" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-H "client-id: YOUR_API_KEY"
import requests
import json
url = "https://production.deepvue.tech/v2/ekyc/aadhaar/verify-otp?otp=123456&reference_id=ref_a73af0b7accc4c3fbaa3dd2dc2cab550&consent=Y&purpose=lending&mobile_number=9999988888&generate_pdf=false"
headers = {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY",
"client-id": "YOUR_API_KEY"
}
response = requests.post(url, headers=headers)
print(response.json())
const response = await fetch("https://production.deepvue.tech/v2/ekyc/aadhaar/verify-otp?otp=123456&reference_id=ref_a73af0b7accc4c3fbaa3dd2dc2cab550&consent=Y&purpose=lending&mobile_number=9999988888&generate_pdf=false", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY",
"client-id": "YOUR_API_KEY"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("POST", "https://production.deepvue.tech/v2/ekyc/aadhaar/verify-otp?otp=123456&reference_id=ref_a73af0b7accc4c3fbaa3dd2dc2cab550&consent=Y&purpose=lending&mobile_number=9999988888&generate_pdf=false", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-api-key", "YOUR_API_KEY")
req.Header.Set("client-id", "YOUR_API_KEY")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://production.deepvue.tech/v2/ekyc/aadhaar/verify-otp?otp=123456&reference_id=ref_a73af0b7accc4c3fbaa3dd2dc2cab550&consent=Y&purpose=lending&mobile_number=9999988888&generate_pdf=false')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['x-api-key'] = 'YOUR_API_KEY'
request['client-id'] = 'YOUR_API_KEY'
response = http.request(request)
puts response.body
{
"code": 200,
"timestamp": 1738243999577,
"transaction_id": "f6efc218742a405c8dd65cf19c13b878",
"sub_code": "SUCCESS",
"message": "Aadhaar eKYC Successful",
"data": {
"address": {
"careOf": "S/O H. Nue Mahammed",
"country": "India",
"district": "Bangalore",
"house": "NO. 6",
"landmark": "",
"locality": "MTS LAYOUT J X NAGAR 51TH PHASE",
"pin": "561118",
"postOffice": "J P Nagar",
"state": "Karnataka",
"street": "19TH MAIN",
"subDistrict": "",
"vtc": "Bangalore"
},
"dateOfBirth": "28-06-1999",
"email": "e2afb1d691d72a535b501053e6291abdb51c05cccc7c08b4439ab3e",
"gender": "M",
"generatedAt": "1738304139979",
"maskedNumber": "xxxx-xxxx-8091",
"name": "RAHUL KUMAR SHARMA",
"phone": "ad0e19163c4ff90313ce2b1457ea0687fbfbf0f344566e50bed07f60ae064",
"photo": "rWHcAdajJoopFSYqnjNVXYebkngc0U",
"aadhaar_linked_mobile_match": "Yes/No",
"document_pdf": "YqnjNVXYebkngc0U"
}
}
{
"code": 400,
"timestamp": 1738243998047,
"transaction_id": "c9a8b14d68374fd5ae688195cb54372d",
"sub_code": "INVALID_INPUT",
"message": "Invalid Session Id"
}
{
"code": 400,
"timestamp": 1738332826135,
"transaction_id": "0dfc7b5dd30747d2872bc813c8d2c85e",
"sub_code": "INVALID_REFERENCE_ID",
"message": "Invalid reference_id"
}
{
"detail": "Not authenticated"
}
{
"detail": "Invalid client_id or client_secret, access Denied"
}
{
"detail": "Not a valid token"
}
{
"code": 502,
"timestamp": 1738332826135,
"transaction_id": "bde330b8a5124b94b26d82dacdd7e6a3",
"sub_code": "INVALID_SESSION",
"message": "Session expired, please generate a new OTP"
}
{
"code": 500,
"timestamp": 1738332826135,
"transaction_id": "b718d89b03e74e6d9b33d8cce2785714",
"sub_code": "SOURCE_FAILURE",
"message": "Authorised source is temporarily unavailable, please try again shortly."
}
/v2/ekyc/aadhaar/verify-otp
Target server for requests. Edit to use your own host.
The CLIENT_SECRET provided to you. This header parameter is required for authentication purposes.
The CLIENT_ID provided to you. This header parameter is required for authentication purposes.
Request Preview
Response
Response will appear here after sending the request
Authentication
API Key for authentication. The CLIENT_SECRET provided to you. This header parameter is required for authentication purposes.
API Key for authentication. The CLIENT_ID provided to you. This header parameter is required for authentication purposes.
Query Parameters
123456ref_a73af0b7accc4c3fbaa3dd2dc2cab550Ylending9999988888falseResponses
UIDAI regulations strictly prohibit sharing, publishing, or displaying share codes, XML files, or their contents with unauthorized parties. Non-compliance invokes penalties under The Aadhaar (Authentication) Regulation, 2016, The Aadhaar (Sharing of Information) Regulation, 2016, and The Aadhaar Act, 2016.
Customer consent must be mandatorily stored at your end before proceeding with verification.