/abdm/nhcx/v1 and takes the common authentication and headers. X-Hip-Id selects the facility the claim is raised from.
The Claim Journey
A claim is the case every call after setup hangs off. Create one per hospitalisation and keep itsclaim_id against your admission.
1
Find the payer and the policy
Search Payers gives the
participant_code used as payer_id. Then Search Policies by member ID, ABHA number or mobile number. Try the member ID first when the patient has a PMJAY card.If no policy comes back, call Discover Policy and poll Policy Discovery Status until status is found.2
Check eligibility
Check Eligibility says whether the policy is in force and returns the wallet balance. The payer rejects pre-auths above the wallet balance, so show it.
3
Pick procedures from the catalogue
Browse the policy’s catalogue with List Specialities, List Procedures and Get Procedure. If the catalogue is empty, call Refresh Plan.
4
Create the claim
Create Claim with the
policy_id and the chosen procedures. It returns the claim_id and asks the payer which documents and questionnaires each procedure needs. That answer arrives on the coverage_eligibility row of Get Claim Requests and drives the pre-auth form.5
Authenticate the beneficiary
Send a consent questionnaire on the submit, or capture biometrics with Init Biometric Auth and Verify Biometric Auth, then pass the
user_token with auth_type: biometric. Cyclic procedures such as dialysis and chemotherapy need a biometric capture on every treatment visit.6
Submit the pre-auth
Submit Pre-auth with the treating doctor, diagnosis, documents and answers. Use the same API with a different
request_type to answer a payer query, resubmit after a rejection or ask for an enhancement. Cancel Pre-auth withdraws it.7
Submit the claim
After discharge, Submit Claim with the discharge details, itemized billing and mandatory documents. Each billed line gets its own verdict.
8
Track payment and disputes
Get Claim Payments lists the payer’s payment notices. A rejected claim, or one settled with more than 20% deducted, can be appealed once with Reprocess Claim. Get Claim tells you which in
review_path.Every Submit Is Asynchronous
A2xx on a submit means the request reached the payer, not that it was approved. Each submit returns a request_id with status: "request.initiated":
request_id:
Poll every 5 to 10 seconds for the first minute, then back off. Some procedures take the payer hours to decide.
Get Claim Requests lists every exchange on a claim. Build your screens from it rather than from the claim’s
status alone: it shows which request is pending, queried or failed.
Errors
Conventions
- Enums are open. Compare values case-insensitively and show unknown values as they are.
- Flags before caps. In Get Procedure, read a cap such as a quantity or cycle limit only when its flag is set.
- Dates are
YYYY-MM-DD. Date-times are RFC 3339 with the+05:30offset. - Documents are sent inline as base64
content. Read them back with Get Claim Request Document.

