Hiu Keys
curl --request PATCH \
--url https://api.eka.care/abdm/v1/hiu/keyset \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"nonce": "<string>",
"public_key": "<string>"
}
'import requests
url = "https://api.eka.care/abdm/v1/hiu/keyset"
payload = {
"nonce": "<string>",
"public_key": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({nonce: '<string>', public_key: '<string>'})
};
fetch('https://api.eka.care/abdm/v1/hiu/keyset', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.patch("https://api.eka.care/abdm/v1/hiu/keyset")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"nonce\": \"<string>\",\n \"public_key\": \"<string>\"\n}")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.eka.care/abdm/v1/hiu/keyset");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"nonce\": \"<string>\",\n \"public_key\": \"<string>\"\n}", false);
var response = await client.PatchAsync(request);
Console.WriteLine("{0}", response.Content);
require 'uri'
require 'net/http'
url = URI("https://api.eka.care/abdm/v1/hiu/keyset")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"nonce\": \"<string>\",\n \"public_key\": \"<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>"
}
}Consent and data flow
Update public keyset
API to update the HIU’s public keyset.
The client must generate a key pair, store the private key securely on their side, and push the public key and nonce to Eka using this API. This keyset can be updated at any time.
When requesting health data from external HIPs via ABDM, Eka shares this public key and nonce with the HIP. The client can then use their stored private key along with the public key shared by the external HIP to decrypt the health data received on the Data Push Webhook.
For details on key generation, encryption, and decryption, refer to the ABDM Encryption and Decryption Guide.
PATCH
/
abdm
/
v1
/
hiu
/
keyset
Hiu Keys
curl --request PATCH \
--url https://api.eka.care/abdm/v1/hiu/keyset \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"nonce": "<string>",
"public_key": "<string>"
}
'import requests
url = "https://api.eka.care/abdm/v1/hiu/keyset"
payload = {
"nonce": "<string>",
"public_key": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({nonce: '<string>', public_key: '<string>'})
};
fetch('https://api.eka.care/abdm/v1/hiu/keyset', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.patch("https://api.eka.care/abdm/v1/hiu/keyset")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"nonce\": \"<string>\",\n \"public_key\": \"<string>\"\n}")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.eka.care/abdm/v1/hiu/keyset");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"nonce\": \"<string>\",\n \"public_key\": \"<string>\"\n}", false);
var response = await client.PatchAsync(request);
Console.WriteLine("{0}", response.Content);
require 'uri'
require 'net/http'
url = URI("https://api.eka.care/abdm/v1/hiu/keyset")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"nonce\": \"<string>\",\n \"public_key\": \"<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>"
}
}Used in
Was this page helpful?

