Skip to main content

Submit the face auth capture PID

Polls for the face capture the patient completes in the ABHA app after scanning the QR code for the txnId from Face auth init.

POST/pmjay/sbxhcx/abdmproxy/abha/biometric/capture/pid

Business purpose

The face capture happens on the patient's phone, out of the hospital system's sight. This call is how the hospital learns that it has finished. It is the step between showing the QR code and verifying.

When to use

Call it repeatedly after showing the QR code, until the capture is complete. There is no callback.

Preconditions

  • A txnId from Face auth init.
  • The patient has scanned the QR code.
  • The ABDM session token, a fresh REQUEST-ID and TIMESTAMP, sent to the ABDM proxy host.

Postconditions

It answers PENDING until the patient finishes, then COMPLETE. Then call Face auth verify.

Common mistakes

  • Waiting for a callback instead of polling.
  • Calling Face auth verify before this answers COMPLETE.
  • Sending it to the fingerprint host.

Best practices

  • Poll while the QR code is on screen, and stop when the answer is COMPLETE.
  • Show the desk that the capture is pending, so the patient is not asked to scan twice.

Related scenario

The desk has shown the QR code for a discharge face authentication. It polls this endpoint with the txnId and gets PENDING while the patient completes the scan in the ABHA app. The next poll answers COMPLETE, and the desk calls Face auth verify.

Specification

Chapter Biometric authentication of the NHCX integration specification.

Headers

REQUEST-IDstringRequired

REQUEST-ID is a fresh UUID that you generate for every call. Sending the same one twice is the mistake to avoid; generate it, do not copy it from an example.

TIMESTAMPstringRequired

TIMESTAMP is the current time in UTC, ISO 8601 with milliseconds and a trailing Z, as in 2026-09-04T06:15:51.975Z. A clock that has drifted will be refused, so take the time from the system rather than constructing it by hand. How to produce it in each language is at the end of this chapter.

Body

txnIdstring

Responses

200

Answers PENDING with Awaiting PID capture until the patient finishes, then COMPLETE with PID capture successful.

statusstring
messagestring