Skip to main content
IdFace

IdFace generates a unique identifier from a selfie. The user does not type or declare an identifier in any other way — identity is the output of the call, not the input. On a successful match, the response returns a stable, opaque person_id that uniquely identifies the user across processes.

What it does

From the captured selfie, IdFace generates a stable, opaque biometric identifier (person_id) that uniquely represents that face. The user does not declare any identifier — identity is the output of the call, not the input. On every successful match, the response returns the same person_id, allowing the same user to be recognized in future processes.

Inputs

The selfie is captured by the SDK or the Web journey. For headless API integration, the image is sent as imagebase64 in the body of POST /v1/process with flow=idface. Do not include subject.code — IdFace returns the person_id in the response.

SDK required for quality capture

To ensure the image sent via API meets biometric requirements, use the Unico SDK for your platform or follow the Capture Standard. IdFace does not accept arbitrary images without capture quality control.

Possible responses

idFace.resultMeaning
FOUNDIdentity confirmed. person_id is returned and populated.
NOT_FOUNDIdentity not confirmed. person_id will be absent.

Response example

{
"id": "1c1fc38b-7e98-4f9a-a04d-7a4a8b29d2c1",
"status": 3,
"idFace": {
"person_id": "a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890",
"result": "FOUND"
}
}

person_id is a stable, opaque identifier — the same user will always resolve to the same value. Store it alongside your user record to recognize the same person on subsequent IdFace calls.

Availability

SurfaceSupported
SDK (Android, iOS, Flutter)
Web (iFrame, Redirect)
API (headless, no SDK)

Use cases that use this capability