National Health Authority

Command Palette

Search for a command to run...

Benefit Programs

Search, link, and delink ABHA benefit program records for approved government integrators.

Government integrators only

Use these APIs only when NHA approves your government benefit integration. Private integrators must not call benefit program APIs.

Benefit APIs map an ABHA to a government program record. They can search program status, link a record, and delink a record.

Required headers

HeaderValue
AuthorizationBearer <your-access-token>
REQUEST-IDUnique UUID for each request
TIMESTAMPCurrent UTC ISO timestamp
BENEFIT_NAMEProgram name, such as healthid api
apikeyBenefit API key issued to your program
X-tokenABHA user token, only for X-token link or delink

Restricted feature errors

The source shows ABDM-1094 Access to this feature is restricted. Contact NHA if the sandbox rejects your benefit API key.

Search benefit programs

Search by xmlUid or by ABHA number. Encrypt the identifier and send it in loginId.

POST/profile/benefit/search

Search benefit records by encrypted ABHA number.

Request
curl -X POST "https://abhasbx.abdm.gov.in/abha/api/v3/profile/benefit/search" \
  -H "Authorization: Bearer <your-access-token>" \
  -H "REQUEST-ID: <uuid>" \
  -H "TIMESTAMP: <utc-iso-timestamp>" \
  -H "BENEFIT_NAME: healthid api" \
  -H "apikey: <benefit-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "scope": ["search"],
    "loginHint": "abha-number",
    "loginId": "<encrypted-abha-number>"
  }'
Response (200)
[
  {
    "stateCode": "27",
    "benefitName": "healthid api",
    "benefitId": "2920684188558700",
    "abhaNumber": "91-5538-2552-2541",
    "status": 0
  }
]

Use the same endpoint for link and delink. Set scope to link or de-link.

Identifier options

Use X-token when the user is logged in. Otherwise send loginHint and an encrypted loginId for abha-number or xmlUid.

POST/profile/benefit/linkAndDelink

Link or delink the logged-in ABHA from a benefit record.

Request
curl -X POST "https://abhasbx.abdm.gov.in/abha/api/v3/profile/benefit/linkAndDelink" \
  -H "Authorization: Bearer <your-access-token>" \
  -H "X-token: Bearer <x-token>" \
  -H "REQUEST-ID: <uuid>" \
  -H "TIMESTAMP: <utc-iso-timestamp>" \
  -H "BENEFIT_NAME: healthid api" \
  -H "apikey: <benefit-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "scope": ["link"]
  }'
Link response (200)
{
  "benefitName": "healthid api",
  "healthId": "91-1511-8633-5718",
  "status": "Benefit record has been linked successfully"
}
Delink response (200)
{
  "benefitName": "healthid api",
  "healthId": "91-1511-8633-5718",
  "status": "Benefit record has been de-linked successfully"
}
Already linked (400)
{
  "error": {
    "code": "ABDM-1140",
    "message": "The benefit record has already been linked"
  }
}
Already delinked (400)
{
  "error": {
    "code": "ABDM-1138",
    "message": "The benefit record has already been de-linked"
  }
}

Search ABHA and Aadhaar mappings

The source includes 2 benefit mapping endpoints. Use them only when NHA grants the required scope.

Search ABHA by Aadhaar
curl -X GET "https://abhasbx.abdm.gov.in/abha/api/v3/profile/benefit/search/abhaByAadhaar" \
  -H "Authorization: Bearer <your-access-token>" \
  -H "REQUEST-ID: <uuid>" \
  -H "TIMESTAMP: <utc-iso-timestamp>" \
  -H "BENEFIT_NAME: healthid api" \
  -H "apikey: <benefit-api-key>"
Search Aadhaar by ABHA number
curl -X GET "https://abhasbx.abdm.gov.in/abha/api/v3/profile/benefit/search/aadhaarByAbha" \
  -H "Authorization: Bearer <your-access-token>" \
  -H "REQUEST-ID: <uuid>" \
  -H "TIMESTAMP: <utc-iso-timestamp>" \
  -H "BENEFIT_NAME: healthid api" \
  -H "apikey: <benefit-api-key>"

Sources

  • ABDM Proposed Simplified Milestone 1 (DOCX→MD, 2026-08)
  • M1 ABHA Postman collection