Login via Face Auth (QR) - verify
Completes login through the face-auth QR / ABHA-app flow.
First call Face auth - generate transaction ID (init), then poll Face auth - capture PID / track status until COMPLETE. Then send the same txnId here. Returns the user X-token (token).
Endpoint: POST /abha/api/v3.1/profile/login/verify
Flow: Login - Face Auth QR (v3.1) - step 3 of 3
- Previous: Face auth - capture PID / track status
- Next: none (last call of this flow)
Headers (plus Authorization: Bearer <gateway token>):
| Header | Required | Description |
|---|---|---|
| REQUEST-ID | yes | Unique UUID for every request. |
| TIMESTAMP | yes | Current UTC timestamp in ISO-8601 format. |
Request body for this use case:
| Field | Value / Type | Required | Description |
|---|---|---|---|
scope |
["ABHA-login", "Aadhaar-face-login-verify"] |
yes | Scope that selects this use case. Send exactly the values listed for this API. |
authData |
object | yes | Authentication payload for this use case. |
authData.authMethods |
["face_auth"] |
yes | Authentication method used in this step. |
authData.face_login |
object | yes | Face login block (v3.1). |
authData.face_login.txnId |
string | yes | Transaction ID returned by the previous step of this flow. |
authData.face_login.aadhaar |
string | yes | Aadhaar number, RSA-encrypted. |
Note: This API is only in the Postman collection (v3.1).
Responses
200Success: Positive flow
authResultstringmessagestringtokenstringexpiresInintegerrefreshTokenstringrefreshExpiresInintegeraccountsobject[]accounts.ABHANumberstringaccounts.preferredAbhaAddressstringaccounts.namestringaccounts.statusstringaccounts.profilePhotostring401Unauthorized (invalid / expired gateway token, X-token or benefit access): Invalid Credentials (generic)
codestringdescriptionstringmessagestring404Not Found: User Not Found; Resource Not Found
errorobjecterror.codestringerror.messagestring