Discover Link On Init
curl --request POST \
--url https://api.eka.care/abdm/v1/care-contexts/discover/link/on-init \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"request_id": "<string>",
"txn_id": "<string>",
"error": {
"code": 123,
"message": "<string>"
},
"otp_expiry": "<string>",
"ref_num": "<string>"
}
'import requests
url = "https://api.eka.care/abdm/v1/care-contexts/discover/link/on-init"
payload = {
"request_id": "<string>",
"txn_id": "<string>",
"error": {
"code": 123,
"message": "<string>"
},
"otp_expiry": "<string>",
"ref_num": "<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({
request_id: '<string>',
txn_id: '<string>',
error: {code: 123, message: '<string>'},
otp_expiry: '<string>',
ref_num: '<string>'
})
};
fetch('https://api.eka.care/abdm/v1/care-contexts/discover/link/on-init', 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/v1/care-contexts/discover/link/on-init",
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([
'request_id' => '<string>',
'txn_id' => '<string>',
'error' => [
'code' => 123,
'message' => '<string>'
],
'otp_expiry' => '<string>',
'ref_num' => '<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/v1/care-contexts/discover/link/on-init"
payload := strings.NewReader("{\n \"request_id\": \"<string>\",\n \"txn_id\": \"<string>\",\n \"error\": {\n \"code\": 123,\n \"message\": \"<string>\"\n },\n \"otp_expiry\": \"<string>\",\n \"ref_num\": \"<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/v1/care-contexts/discover/link/on-init")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"request_id\": \"<string>\",\n \"txn_id\": \"<string>\",\n \"error\": {\n \"code\": 123,\n \"message\": \"<string>\"\n },\n \"otp_expiry\": \"<string>\",\n \"ref_num\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eka.care/abdm/v1/care-contexts/discover/link/on-init")
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 \"request_id\": \"<string>\",\n \"txn_id\": \"<string>\",\n \"error\": {\n \"code\": 123,\n \"message\": \"<string>\"\n },\n \"otp_expiry\": \"<string>\",\n \"ref_num\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"error": "<string>",
"source_error": {
"code": "<string>",
"message": "<string>"
}
}{
"code": 123,
"error": "<string>",
"source_error": {
"code": "<string>",
"message": "<string>"
}
}HIP
Discover Link On Init
This API is used by HIP to initiate the linking of unlinked health records (care contexts). HIP must send an OTP and provide details such as OTP expiry and other related information.
POST
/
abdm
/
v1
/
care-contexts
/
discover
/
link
/
on-init
Discover Link On Init
curl --request POST \
--url https://api.eka.care/abdm/v1/care-contexts/discover/link/on-init \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"request_id": "<string>",
"txn_id": "<string>",
"error": {
"code": 123,
"message": "<string>"
},
"otp_expiry": "<string>",
"ref_num": "<string>"
}
'import requests
url = "https://api.eka.care/abdm/v1/care-contexts/discover/link/on-init"
payload = {
"request_id": "<string>",
"txn_id": "<string>",
"error": {
"code": 123,
"message": "<string>"
},
"otp_expiry": "<string>",
"ref_num": "<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({
request_id: '<string>',
txn_id: '<string>',
error: {code: 123, message: '<string>'},
otp_expiry: '<string>',
ref_num: '<string>'
})
};
fetch('https://api.eka.care/abdm/v1/care-contexts/discover/link/on-init', 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/v1/care-contexts/discover/link/on-init",
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([
'request_id' => '<string>',
'txn_id' => '<string>',
'error' => [
'code' => 123,
'message' => '<string>'
],
'otp_expiry' => '<string>',
'ref_num' => '<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/v1/care-contexts/discover/link/on-init"
payload := strings.NewReader("{\n \"request_id\": \"<string>\",\n \"txn_id\": \"<string>\",\n \"error\": {\n \"code\": 123,\n \"message\": \"<string>\"\n },\n \"otp_expiry\": \"<string>\",\n \"ref_num\": \"<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/v1/care-contexts/discover/link/on-init")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"request_id\": \"<string>\",\n \"txn_id\": \"<string>\",\n \"error\": {\n \"code\": 123,\n \"message\": \"<string>\"\n },\n \"otp_expiry\": \"<string>\",\n \"ref_num\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eka.care/abdm/v1/care-contexts/discover/link/on-init")
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 \"request_id\": \"<string>\",\n \"txn_id\": \"<string>\",\n \"error\": {\n \"code\": 123,\n \"message\": \"<string>\"\n },\n \"otp_expiry\": \"<string>\",\n \"ref_num\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"error": "<string>",
"source_error": {
"code": "<string>",
"message": "<string>"
}
}{
"code": 123,
"error": "<string>",
"source_error": {
"code": "<string>",
"message": "<string>"
}
}Call this API in response to the Link Initiation webhook, after you have generated and sent the OTP to the patient. Use the
request_id and txn_id from the webhook payload when constructing your response.Authorizations
The API requires a Bearer token (JWT) for authentication.
Headers
Eka User ID (OID)
Partner User ID
Partner HIP ID
Body
application/json
Request ID that is received in the webhook call.
Transaction ID received in the webhook call.
Error details, if any occurred during the process.
Show child attributes
Show child attributes
Expiry time of the OTP sent for linking care contexts.
patient reference number.
Response
No Content
Was this page helpful?
⌘I

