Verify OTP
curl --request POST \
--url https://api.eka.care/abdm/na/v1/profile/login/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/profile/login/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/profile/login/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/profile/login/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/profile/login/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/profile/login/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/profile/login/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,
"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
},
"txn_id": "<string>"
}{
"code": 123,
"error": "<string>",
"source_error": {
"code": "<string>",
"message": "<string>"
}
}{
"code": 123,
"error": "<string>",
"source_error": {
"code": "<string>",
"message": "<string>"
}
}Login
Verify OTP
Verifies the login OTP. If logging in via ABHA address, this endpoint also completes the login process.
POST
/
abdm
/
na
/
v1
/
profile
/
login
/
verify
Verify OTP
curl --request POST \
--url https://api.eka.care/abdm/na/v1/profile/login/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/profile/login/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/profile/login/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/profile/login/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/profile/login/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/profile/login/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/profile/login/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,
"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
},
"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
application/json
Response
OK
Abha profiles of the user.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Profile of the user
Show child attributes
Show child attributes
Determines the next page navigation based on the skip state
Available options:
abha_select, abha_end, abha_create Transaction ID for the next api call.
Was this page helpful?
⌘I

