canonical: https://jentic.com/apis/ndhm.gov.in/ndhm-healthid

# Ndhm Health ID Service

Jentic publishes the only available OpenAPI specification for Health ID Service, keeping it validated and agent-ready. The Health ID Service is the ABHA (formerly Health ID) issuance and lifecycle API of India's National Digital Health Mission, allowing citizens to register a unique health identifier using either Aadhaar or a mobile number. The 73 endpoints cover OTP-based registration, KYC verification, profile updates, password management, ABHA card generation in PDF, PNG, and SVG formats, QR code retrieval, and integrated programme tagging. It is the citizen-facing identity layer underneath the NDHM Consent Manager and Gateway.

## For AI agents

Register and manage ABHA (Health ID) accounts for Indian citizens, including Aadhaar and mobile OTP flows, KYC, profile updates, and ABHA card retrieval.

## Scope

Does not store clinical records, issue consent artefacts, or process payments - use for ABHA Health ID lifecycle and KYC only.

## Capabilities

- Generate and verify Aadhaar OTP for ABHA registration via `/v1/account/aadhaar/generateOTP` and verifyOTP
- Generate and verify mobile OTP for ABHA registration without Aadhaar
- Retrieve account profile, change passwords, and delete accounts under `/v1/account/profile`
- Issue ABHA cards in PDF, PNG, and SVG formats from `/v1/account/getCard`, getPngCard, getSvgCard
- Get the account QR code via `/v1/account/qrCode` for offline verification
- Look up benefits and integrated programmes linked to a Health ID

## Use cases

### Citizen ABHA Registration with Mobile Number

A health-tech app onboards a new user by capturing their mobile number, requesting a mobile OTP via the Health ID Service, verifying it, and creating a Health ID with basic demographic details. The service issues the ABHA card in PNG or PDF that the citizen can save to their wallet. End-to-end registration takes a few minutes when the OTP delivery is reliable.

Example prompt: GET `/v1/account/change/passwd/generateMobileOTP` for the user's mobile, then complete the registration flow and call GET `/v1/account/getPngCard` to retrieve the ABHA card PNG.

### Aadhaar-Based KYC for Health ID

Hospitals and insurers running KYC on a patient generate an Aadhaar OTP through the Health ID Service, verify it against the citizen's mobile-linked Aadhaar, and complete demographic verification. This satisfies the NDHM e-KYC requirement and is the prerequisite for issuing care contexts under the patient's ABHA id in downstream Consent Manager flows.

Example prompt: POST `/v1/account/aadhaar/generateOTP` with the patient's Aadhaar number, then POST `/v1/account/aadhaar/verifyOTP` with the OTP to complete e-KYC.

### ABHA Card Self-Service Retrieval

Citizens lose or replace their ABHA card frequently, and apps offer a one-tap retrieval. The Health ID Service returns the card in PDF for printing, PNG for in-app display, or SVG for crisp rendering. The QR code endpoint provides an offline-scannable artefact for clinic intake desks that do not have internet access.

Example prompt: GET `/v1/account/getSvgCard` for the authenticated Health ID and embed the SVG in the user's profile screen.

### Agent-Driven Health ID Lifecycle

An AI assistant inside a hospital intake workflow can use Jentic to discover and chain Health ID Service operations - register, verify, fetch card - without hard-coding the OTP-and-callback choreography. The agent retrieves the operation schema at runtime, so it adapts when the ABHA service evolves to v2.

Example prompt: Search Jentic for 'register an ABHA account by mobile OTP', load the schema for the OTP generation endpoint, and execute it for the patient mobile number.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/account/aadhaar/generateOTP` | Generate Aadhaar OTP for KYC |
| POST | `/v1/account/aadhaar/verifyOTP` | Verify Aadhaar OTP |
| GET | `/v1/account/change/passwd/generateMobileOTP` | Generate mobile OTP for registration |
| GET | `/v1/account/profile` | Get Health ID profile |
| POST | `/v1/account/profile` | Update Health ID profile |
| GET | `/v1/account/getCard` | Get ABHA card as PDF |
| GET | `/v1/account/getPngCard` | Get ABHA card as PNG |
| GET | `/v1/account/qrCode` | Get ABHA QR code |

## Key resources

- **Account Registration** — Aadhaar and mobile OTP-based ABHA registration
- **Account Profile** — Read, update, and delete Health ID profile data
- **Authentication** — Password and OTP-based login flows
- **ABHA Card** — Generate ABHA card in PDF, PNG, and SVG
- **QR Code** — Issue scannable QR code for offline verification
- **Benefits and Programmes** — Look up integrated programmes linked to a Health ID

## Why Jentic

- **Setup:** Wiring the NDHM Health ID service by hand means driving the Aadhaar OTP generate-and-verify sequence, carrying the X-Token KYC value alongside the participant access token, and pointing calls at the sandbox host yourself. Through Jentic you install once, import the Health ID Service from the API Directory, store the access token once, and your agent calls it.
- **Permission scoping:** The Health ID operations pass the account, OTP, and profile details inside the request body rather than as a resource id in the URL path, so you limit the agent to the operations it needs, such as OTP verification or reading the account profile and card. Because you choose that set, profile updates are excluded unless you add them.
- **Credential handling:** Your ABHA participant access token and Aadhaar KYC token are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'register an ABHA account by mobile OTP' or 'download an ABHA card', and Jentic returns the matching Health ID Service operation with its request schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Health Data Consent Manager** — Uses the ABHA id issued by the Health ID Service as the patient identifier for consent
- **NDHM Gateway** — Routes consent and data flows that reference the Health ID issued here
- **NDHM HIP Specifications** — HIP endpoints that link care contexts under a citizen's ABHA id

## FAQ

### Why is there no official OpenAPI spec for Health ID Service?

The National Health Authority publishes ABHA APIs as portal documentation rather than a machine-readable OpenAPI file. Jentic generates and maintains this spec so that AI agents and developers can call Health ID Service via structured tooling. It is validated against the published ABHA 1.0 specification and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Health ID Service use?

The OpenAPI spec does not declare a top-level security scheme; ABHA endpoints require a bearer access token issued via the participant onboarding flow plus, for Aadhaar paths, an X-Token header carrying the OTP-derived KYC token. Through Jentic these credentials are stored encrypted in the vault and injected at execution time.

### Can I create an ABHA account with this API?

Yes. Use the mobile flow with GET `/v1/account/change/passwd/generateMobileOTP` and the registration verify endpoints, or the Aadhaar flow with POST `/v1/account/aadhaar/generateOTP` followed by `/v1/account/aadhaar/verifyOTP.` After verification the service issues a Health ID and returns it in the response.

### What are the rate limits for the Health ID Service?

OTP endpoints are throttled per Aadhaar number and per mobile number by the National Health Authority; the OpenAPI does not list explicit numeric limits. Expect 429 responses on rapid retries and back off; for production access, request quota uplift through the NHA participant agreement.

### How do I retrieve an ABHA card through Jentic?

Run pip install jentic, then search for 'get ABHA card PNG', load the schema for GET `/v1/account/getPngCard`, and execute it with the authenticated Health ID. Jentic returns the binary PNG response ready for display.

### Does the Health ID Service handle clinical records?

No. The Health ID Service only manages the citizen identity, KYC, and ABHA card lifecycle. Clinical record exchange flows through the NDHM Gateway and Consent Manager APIs.

### Can I limit what my agent is allowed to do with the Health ID Service API?

Yes. Because Jentic One is self-hosted, you decide which Health ID Service operations your agent may call, so you can grant read-only access such as OTP verification, reading the account profile, and fetching the ABHA card while leaving everything else out. Since the account, OTP, and profile details travel in the request body rather than a resource id in the URL, you scope by operation, and write actions like updating the profile at POST `/v1/account/profile` stay excluded unless you explicitly add them. Your ABHA participant access token and Aadhaar KYC token are held encrypted by your own instance and injected at execution time, never reaching the agent's prompt or logs.
