Aadhaar eKYC V2 — Send OTP
Send an OTP for Aadhaar verification — no captcha required. Just provide the Aadhaar number to trigger the OTP to the linked mobile.
curl -X POST "https://production.deepvue.tech/v2/ekyc/aadhaar/generate-otp?aadhaar_number=example_string&consent=example_string&purpose=example_string" \
-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/generate-otp?aadhaar_number=example_string&consent=example_string&purpose=example_string"
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/generate-otp?aadhaar_number=example_string&consent=example_string&purpose=example_string", {
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/generate-otp?aadhaar_number=example_string&consent=example_string&purpose=example_string", 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/generate-otp?aadhaar_number=example_string&consent=example_string&purpose=example_string')
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": 1738332826135,
"transaction_id": "12815fb81c084fb7a35eedc0ef1c5a84",
"sub_code": "SUCCESS",
"message": "OTP sent to your Registered Mobile number. Check your mobile.",
"reference_id": "29756208"
}
{
"code": 400,
"timestamp": 1738243998047,
"transaction_id": "629c6d3bcfd24e39a76c088768a4649e",
"sub_code": "INVALID_INPUT",
"message": "Invalid UID. Please enter valid UID"
}
{
"code": 400,
"timestamp": 1738330985917,
"transaction_id": "75900dda9b664c2795012a882da2db6f",
"sub_code": "AADHAAR_MOBILE_NOT_LINKED",
"message": "Aadhaar number does not have mobile number",
"reference_id": "29755962"
}
{
"detail": "Invalid client_id or client_secret, access Denied"
}
{
"detail": "Not authenticated"
}
{
"code": 409,
"timestamp": 1738332826135,
"transaction_id": "b51a55adbaaf4938a0f2f49e48d23071",
"sub_code": "VERIFICATION_PENDING",
"message": "Otp already generated for this aadhaar, please try after some time.",
"reference_id": ""
}
{
"code": 422,
"timestamp": 1738330985917,
"transaction_id": "76b3bccdcbd04aefab6f9662787a37aa",
"sub_code": "INVALID_INPUT",
"message": "Invalid Aadhaar Number Pattern."
}
{
"code": 500,
"timestamp": 1738332826135,
"transaction_id": "b718d89b03e74e6d9b33d8cce2785714",
"sub_code": "SOURCE_FAILURE",
"message": "Authorised source is temporarily unavailable, please try again shortly."
}
/v2/ekyc/aadhaar/generate-otp
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
Responses
OTP generation requests for the same Aadhaar within a certain timeframe may trigger a conflict response. The system validates Aadhaar format and mobile linking status before processing. UIDAI service unavailability may cause temporary failures.
Per UIDAI regulations, service providers cannot share, publish, or display Aadhaar numbers, share codes, or XML contents with third parties. Non-compliance invites penalties under the Aadhaar Act and related regulations. You must store customer consent documentation before proceeding with verification.
Last updated 4 weeks ago
Built with Documentation.AI