Skip to main content
GET
List Claims

Authorizations

Authorization
string
header
required

The API requires a Bearer token (JWT) for authentication.

Headers

X-Pt-Id
string

Eka User ID (OID)

X-Partner-Pt-Id
string

Partner User ID

X-Hip-Id
string

Partner HIP ID

Query Parameters

scope
enum<string>

facility (default) lists every claim of the calling facility

Available options:
facility,
beneficiary
beneficiary_id
integer

Lists one beneficiary's claims. Implies scope=beneficiary

Required range: x >= 0
limit
integer
offset
integer

Response

OK

admission_date
null | string<date-time>
admission_type
string
archived_at
null | string<date-time>

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.

beneficiary
object
case_number
string
catalog_md5
string
claim_id
integer
Required range: x >= 0
claim_ref
string
copay_amount
number

The payer-declared patient-liable amount (ClaimResponse.total[copayment]).

copay_required
boolean

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.

created_at
string<date-time>
deduction_pct
null | number

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.

discharge_date
null | string<date-time>
discharge_type
string
drafts
string[]

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.

max_queries_reached
boolean
payer_code
string
policy_id
integer

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.

Required range: x >= 0
preauth_case_no
string
preauth_due_by
null | string<date-time>

CreatedAt + 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.

preauth_overdue
boolean

True when PreAuthDueBy has passed and no pre-auth has been submitted — the claim is a candidate for the next ArchiveOverdueRegistrations sweep.

preauth_ref
string
product_id
string
provider_hfr
string
query_count
integer

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.

registration_details
any

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.

review_path
string

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).

status
string
updated_at
string<date-time>