Mobile Verify OTP
curl --request POST \
--url https://api.eka.care/abdm/na/v1/registration/aadhaar/mobile/verify \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"otp": "<string>",
"txn_id": "<string>"
}
'import requests
url = "https://api.eka.care/abdm/na/v1/registration/aadhaar/mobile/verify"
payload = {
"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({otp: '<string>', txn_id: '<string>'})
};
fetch('https://api.eka.care/abdm/na/v1/registration/aadhaar/mobile/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/mobile/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([
'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/mobile/verify"
payload := strings.NewReader("{\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/mobile/verify")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\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/mobile/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 \"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,
"first_name": "<string>",
"kyc_verified": true,
"last_name": "<string>",
"middle_name": "<string>",
"mobile": "<string>",
"month_of_birth": 123,
"pincode": "<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>"
}
}Aadhaar
Mobile Verify OTP
This API operates on a skip logic basis. If the mobile number provided in the second step differs from the one linked to the Aadhaar, this API will be used to verify the new mobile number.
POST
/
abdm
/
na
/
v1
/
registration
/
aadhaar
/
mobile
/
verify
Mobile Verify OTP
curl --request POST \
--url https://api.eka.care/abdm/na/v1/registration/aadhaar/mobile/verify \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"otp": "<string>",
"txn_id": "<string>"
}
'import requests
url = "https://api.eka.care/abdm/na/v1/registration/aadhaar/mobile/verify"
payload = {
"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({otp: '<string>', txn_id: '<string>'})
};
fetch('https://api.eka.care/abdm/na/v1/registration/aadhaar/mobile/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/mobile/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([
'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/mobile/verify"
payload := strings.NewReader("{\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/mobile/verify")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\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/mobile/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 \"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,
"first_name": "<string>",
"kyc_verified": true,
"last_name": "<string>",
"middle_name": "<string>",
"mobile": "<string>",
"month_of_birth": 123,
"pincode": "<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
Query Parameters
OID is used to Identify the user.
Body
application/json
Response
OK
Abha profiles of the user.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Refresh token of the user, issued by abdm
Available options:
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?
⌘I

