National Health Authority

Command Palette

Search for a command to run...

Biometric Authentication APIs

Use sandbox biometric authentication APIs to init, verify, and refresh ABHA biometric sessions.

Use these APIs to start and verify a biometric ABHA authentication flow.

Replace the PID block with a value from a certified biometric device.

POST Biometric Auth Init

POSThttps://apisbx.abdm.gov.in/hcx/abha/biometric/auth/init

Start a biometric ABHA authentication transaction.

Headers

HeaderValueNotes
accept*/*The source sets this header.
Content-Typeapplication/jsonSend a JSON body.
Authorization$TOKENUse a bearer token.
processPreauth|DischargeSet the claim process.
payerid123@hcxSet the payer participant ID.

Request body

POST Biometric Auth Init request
{
  "scope": [
    "abha-login",
    "aadhaar-bio-verify"
  ],
  "loginHint": "abha-number",
  "loginId": "91-XXXX-XXXX-0302",
  "otpSystem": "aadhaar",
  "authMode": "FINGERPRINT"
}

cURL

Start biometric authentication
curl -X POST "https://apisbx.abdm.gov.in/hcx/abha/biometric/auth/init" \
  -H "accept: */*" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -H "process: Preauth|Discharge" \
  -H "payerid: 123@hcx" \
  -d '
{
  "scope": [
    "abha-login",
    "aadhaar-bio-verify"
  ],
  "loginHint": "abha-number",
  "loginId": "91-XXXX-XXXX-0302",
  "otpSystem": "aadhaar",
  "authMode": "FINGERPRINT"
}
  '

POST Biometric Auth Verify

POSThttps://apisbx.abdm.gov.in/hcx/abha/biometric/auth/verify

Verify a biometric ABHA authentication transaction.

Headers

HeaderValueNotes
accept*/*The source sets this header.
Content-Typeapplication/jsonSend a JSON body.
Authorization$TOKENUse a bearer token.
processPreauth|DischargeSet the claim process.
payerid123@hcxSet the payer participant ID.

Request body

POST Biometric Auth Verify request
{
  "scope": [
    "abha-login",
    "aadhaar-bio-verify"
  ],
  "authData": {
    "authMethods": [
      "bio"
    ],
    "bio": {
      "txnId": "d21b3db9-1111-2222-3333-8f75e7f86b9f",
      "fingerPrintAuthPid": "PID_BLOCK"
    },
    "face": {
      "txnId": "d21b3db9-1111-2222-3333-8f75e7f86b9f",
      "faceAuthPid": "PID_BLOCK"
    },
    "iris": {
      "txnId": "d21b3db9-1111-2222-3333-8f75e7f86b9f",
      "irisAuthPid": "PID_BLOCK"
    },
    "otp": {
      "txnId": "d21b3db9-1111-2222-3333-8f75e7f86b9f",
      "otpValue": "123456"
    }
  },
  "authMode": "FINGERPRINT"
}

cURL

Verify biometric authentication
curl -X POST "https://apisbx.abdm.gov.in/hcx/abha/biometric/auth/verify" \
  -H "accept: */*" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -H "process: Preauth|Discharge" \
  -H "payerid: 123@hcx" \
  -d '
{
  "scope": [
    "abha-login",
    "aadhaar-bio-verify"
  ],
  "authData": {
    "authMethods": [
      "bio"
    ],
    "bio": {
      "txnId": "d21b3db9-1111-2222-3333-8f75e7f86b9f",
      "fingerPrintAuthPid": "PID_BLOCK"
    },
    "face": {
      "txnId": "d21b3db9-1111-2222-3333-8f75e7f86b9f",
      "faceAuthPid": "PID_BLOCK"
    },
    "iris": {
      "txnId": "d21b3db9-1111-2222-3333-8f75e7f86b9f",
      "irisAuthPid": "PID_BLOCK"
    },
    "otp": {
      "txnId": "d21b3db9-1111-2222-3333-8f75e7f86b9f",
      "otpValue": "123456"
    }
  },
  "authMode": "FINGERPRINT"
}
  '

GET Refresh Token

GEThttps://apisbx.abdm.gov.in/hcx/abha/biometric/auth/refresh/token

Refresh an ABHA biometric authentication token.

The source disables the TIMESTAMP and REQUEST-ID headers for this request.

Headers

HeaderValueNotes
R-token$REFRESH_TOKENUse the refresh token.
Authorization$TOKENUse a bearer token.
payerid123@hcxSet the payer participant ID.
processPreauth|DischargeSet the claim process.

cURL

Refresh a biometric token
curl -X GET "https://apisbx.abdm.gov.in/hcx/abha/biometric/auth/refresh/token" \
  -H "R-token: $REFRESH_TOKEN" \
  -H "Authorization: Bearer $TOKEN" \
  -H "payerid: 123@hcx" \
  -H "process: Preauth|Discharge"

Sources

  • biometric-authentication-postman.md (NHCX sandbox portal)