curl --request GET \
--url https://api.eka.care/abdm/nhcx/v1/claims \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.eka.care/abdm/nhcx/v1/claims"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.eka.care/abdm/nhcx/v1/claims', 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/nhcx/v1/claims",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.eka.care/abdm/nhcx/v1/claims"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.eka.care/abdm/nhcx/v1/claims")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eka.care/abdm/nhcx/v1/claims")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"admission_date": "2023-11-07T05:31:56Z",
"admission_type": "<string>",
"archived_at": "2023-11-07T05:31:56Z",
"beneficiary": {
"abha_number": "<string>",
"beneficiary_id": 1,
"date_of_birth": "<string>",
"gender": "<string>",
"mobile": "<string>",
"name": "<string>",
"patient_id": "<string>",
"pmjay_id": "<string>"
},
"case_number": "<string>",
"catalog_md5": "<string>",
"claim_id": 1,
"claim_ref": "<string>",
"copay_amount": 123,
"copay_required": true,
"created_at": "2023-11-07T05:31:56Z",
"deduction_pct": 123,
"discharge_date": "2023-11-07T05:31:56Z",
"discharge_type": "<string>",
"drafts": [
"<string>"
],
"max_queries_reached": true,
"payer_code": "<string>",
"policy_id": 1,
"preauth_case_no": "<string>",
"preauth_due_by": "2023-11-07T05:31:56Z",
"preauth_overdue": true,
"preauth_ref": "<string>",
"product_id": "<string>",
"provider_hfr": "<string>",
"query_count": 123,
"registration_details": "<unknown>",
"review_path": "<string>",
"status": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}
]{
"error": "<string>",
"issues": [
"<string>"
],
"updated_at": "<string>"
}{
"error": "<string>",
"issues": [
"<string>"
],
"updated_at": "<string>"
}List Claims
Lists claims with their beneficiary.
curl --request GET \
--url https://api.eka.care/abdm/nhcx/v1/claims \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.eka.care/abdm/nhcx/v1/claims"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.eka.care/abdm/nhcx/v1/claims', 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/nhcx/v1/claims",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.eka.care/abdm/nhcx/v1/claims"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.eka.care/abdm/nhcx/v1/claims")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eka.care/abdm/nhcx/v1/claims")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"admission_date": "2023-11-07T05:31:56Z",
"admission_type": "<string>",
"archived_at": "2023-11-07T05:31:56Z",
"beneficiary": {
"abha_number": "<string>",
"beneficiary_id": 1,
"date_of_birth": "<string>",
"gender": "<string>",
"mobile": "<string>",
"name": "<string>",
"patient_id": "<string>",
"pmjay_id": "<string>"
},
"case_number": "<string>",
"catalog_md5": "<string>",
"claim_id": 1,
"claim_ref": "<string>",
"copay_amount": 123,
"copay_required": true,
"created_at": "2023-11-07T05:31:56Z",
"deduction_pct": 123,
"discharge_date": "2023-11-07T05:31:56Z",
"discharge_type": "<string>",
"drafts": [
"<string>"
],
"max_queries_reached": true,
"payer_code": "<string>",
"policy_id": 1,
"preauth_case_no": "<string>",
"preauth_due_by": "2023-11-07T05:31:56Z",
"preauth_overdue": true,
"preauth_ref": "<string>",
"product_id": "<string>",
"provider_hfr": "<string>",
"query_count": 123,
"registration_details": "<unknown>",
"review_path": "<string>",
"status": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}
]{
"error": "<string>",
"issues": [
"<string>"
],
"updated_at": "<string>"
}{
"error": "<string>",
"issues": [
"<string>"
],
"updated_at": "<string>"
}Authorizations
The API requires a Bearer token (JWT) for authentication.
Headers
Eka User ID (OID)
Partner User ID
Partner HIP ID
Query Parameters
facility (default) lists every claim of the calling facility
facility, beneficiary Lists one beneficiary's claims. Implies scope=beneficiary
x >= 0Response
OK
Set when the provider archived (set aside) this claim; nil = active. Archived claims still appear in the list/detail APIs (for analytics) but are excluded from reuse.
Show child attributes
Show child attributes
x >= 0The payer-declared patient-liable amount (ClaimResponse.total[copayment]).
True when the payer has declared a patient-liable amount on this claim's latest adjudication — the signal to enable the co-payment collection flow (and its mandatory beneficiary consent form) in the UI. Derived from the payer's own response, NOT from a wallet-vs-claim comparison: the payer is authoritative on what the beneficiary owes, and its figure already accounts for scheme rules a naive balance subtraction would miss.
The payer's deduction on the final claim as a percentage of the submitted amount ((submitted − approved) / submitted × 100). Nil until an adjudicated final-claim request with both amounts exists.
Lists the stages that have a saved (unsubmitted) draft — "Preauth" and/or "Claim". Present so the resume path can go straight to GET .../requests/draft: instead of issuing speculative reads for ids that may not exist.
The policy this case was created against. Serialized so a client resuming the case can key the procedure catalogue (GET /policies/:policyId/...) off it directly, instead of re-deriving it from a redundant, failure-prone POST /policies/search on every resume.
x >= 0CreatedAt + 48h — the deadline to initiate a pre-auth after registration. Nil once a pre-auth has ever been submitted (the deadline no longer applies) or once the claim is archived.
True when PreAuthDueBy has passed and no pre-auth has been submitted — the claim is a candidate for the next ArchiveOverdueRegistrations sweep.
How many times the payer has queried this claim's pre-auth. MaxQueriesReached mirrors the UAT's stated cap of 2 — informational: NHCX controls when it stops querying, this is not a limit we enforce on submission.
The stored TC-04 registration enrichment (attendant, emergency and child document references) as captured at case creation — see models.StoredRegistration. Omitted when none was supplied. Document bytes are not inlined; the refs point to S3.
Tells the FE which post-adjudication action to offer: "crc" — rejected, or deduction strictly > 20%: the one-shot CRC appeal (POST /claims/:claimId/claim/reprocess). "cpd_review" — deduction ≤ 20% (including exactly 20%): "erroneous claim"; CPD review, NOT appealable — the reprocess endpoint will refuse it. "" — no adjudicated deduction/rejection to act on, or the one-shot appeal is already used (see the claim's reprocess request row / claim_reprocess_* status for its outcome).
Was this page helpful?

