curl --request POST \
--url https://api.eka.care/abdm/na/v1/registration/aadhaar/verify \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"mobile": "<string>",
"otp": "<string>",
"txn_id": "<string>"
}
'import requests
url = "https://api.eka.care/abdm/na/v1/registration/aadhaar/verify"
payload = {
"mobile": "<string>",
"otp": "<string>",
"txn_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({mobile: '<string>', otp: '<string>', txn_id: '<string>'})
};
fetch('https://api.eka.care/abdm/na/v1/registration/aadhaar/verify', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.eka.care/abdm/na/v1/registration/aadhaar/verify",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'mobile' => '<string>',
'otp' => '<string>',
'txn_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.eka.care/abdm/na/v1/registration/aadhaar/verify"
payload := strings.NewReader("{\n \"mobile\": \"<string>\",\n \"otp\": \"<string>\",\n \"txn_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.eka.care/abdm/na/v1/registration/aadhaar/verify")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"mobile\": \"<string>\",\n \"otp\": \"<string>\",\n \"txn_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eka.care/abdm/na/v1/registration/aadhaar/verify")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"mobile\": \"<string>\",\n \"otp\": \"<string>\",\n \"txn_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"abha_profiles": [
{
"abha_address": "<string>",
"kyc_verified": "<string>",
"name": "<string>"
}
],
"eka": {
"min_token": "<string>",
"oid": "<string>",
"uuid": "<string>"
},
"hint": "<string>",
"profile": {
"abha_address": "<string>",
"abha_addresses": [
"<string>"
],
"abha_number": "<string>",
"address": "<string>",
"day_of_birth": 123,
"district_code": "<string>",
"district_name": "<string>",
"first_name": "<string>",
"full_name": "<string>",
"kyc_verified": true,
"last_name": "<string>",
"middle_name": "<string>",
"mobile": "<string>",
"month_of_birth": 123,
"pincode": "<string>",
"profile_photo": "<string>",
"state_code": "<string>",
"state_name": "<string>",
"sub_district_code": "<string>",
"sub_district_name": "<string>",
"town_code": "<string>",
"town_name": "<string>",
"village_code": "<string>",
"village_name": "<string>",
"ward_code": "<string>",
"ward_name": "<string>",
"year_of_birth": 123
},
"refresh_token": "<string>",
"token": "<string>",
"txn_id": "<string>"
}{
"code": 123,
"error": "<string>",
"source_error": {
"code": "<string>",
"message": "<string>"
}
}{
"code": 123,
"error": "<string>",
"source_error": {
"code": "<string>",
"message": "<string>"
}
}Verify OTP
This endpoint is used to verify Aadhaar otp generated for registration using Aadhaar.
curl --request POST \
--url https://api.eka.care/abdm/na/v1/registration/aadhaar/verify \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"mobile": "<string>",
"otp": "<string>",
"txn_id": "<string>"
}
'import requests
url = "https://api.eka.care/abdm/na/v1/registration/aadhaar/verify"
payload = {
"mobile": "<string>",
"otp": "<string>",
"txn_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({mobile: '<string>', otp: '<string>', txn_id: '<string>'})
};
fetch('https://api.eka.care/abdm/na/v1/registration/aadhaar/verify', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.eka.care/abdm/na/v1/registration/aadhaar/verify",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'mobile' => '<string>',
'otp' => '<string>',
'txn_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.eka.care/abdm/na/v1/registration/aadhaar/verify"
payload := strings.NewReader("{\n \"mobile\": \"<string>\",\n \"otp\": \"<string>\",\n \"txn_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.eka.care/abdm/na/v1/registration/aadhaar/verify")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"mobile\": \"<string>\",\n \"otp\": \"<string>\",\n \"txn_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eka.care/abdm/na/v1/registration/aadhaar/verify")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"mobile\": \"<string>\",\n \"otp\": \"<string>\",\n \"txn_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"abha_profiles": [
{
"abha_address": "<string>",
"kyc_verified": "<string>",
"name": "<string>"
}
],
"eka": {
"min_token": "<string>",
"oid": "<string>",
"uuid": "<string>"
},
"hint": "<string>",
"profile": {
"abha_address": "<string>",
"abha_addresses": [
"<string>"
],
"abha_number": "<string>",
"address": "<string>",
"day_of_birth": 123,
"district_code": "<string>",
"district_name": "<string>",
"first_name": "<string>",
"full_name": "<string>",
"kyc_verified": true,
"last_name": "<string>",
"middle_name": "<string>",
"mobile": "<string>",
"month_of_birth": 123,
"pincode": "<string>",
"profile_photo": "<string>",
"state_code": "<string>",
"state_name": "<string>",
"sub_district_code": "<string>",
"sub_district_name": "<string>",
"town_code": "<string>",
"town_name": "<string>",
"village_code": "<string>",
"village_name": "<string>",
"ward_code": "<string>",
"ward_name": "<string>",
"year_of_birth": 123
},
"refresh_token": "<string>",
"token": "<string>",
"txn_id": "<string>"
}{
"code": 123,
"error": "<string>",
"source_error": {
"code": "<string>",
"message": "<string>"
}
}{
"code": 123,
"error": "<string>",
"source_error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
The API requires a Bearer token (JWT) for authentication.
Headers
Eka User ID (OID)
Partner User ID
Partner HIP ID
Body
10 digit mobile number to be linked with ABHA, this mobile number can be different from the mobile number linked with the Aadhaar. ABHA Created will be linked with this mobile number.
OTP received on the mobile number.
Transaction ID received in the previous api response.
Response
OK
Abha profiles of the user.
Show child attributes
Show child attributes
Eka IDs, will be present if SkipState is abha_end
Show child attributes
Show child attributes
Hint for the mobile number
Show child attributes
Show child attributes
Refresh token of the user, issued by abdm
abha_end, confirm_mobile_otp, abha_select, abha_create Abha token of the user, issued by abdm
Transaction ID required for the next API call.
Was this page helpful?

