Biometric Check
Biometric
Biometric Check
Validate a face image against previously approved KYC sessions — in the gu1 KYC API for identity verification flows, with examples for biometric use cases.
POST
Biometric Check
Overview
The Biometric service is a Gu1 verification that checks whether a face image corresponds to a person who has already completed an approved KYC validation in your organization. You send a single face image and the entity to check (byentityId or externalEntityId). The API compares that face against the biometric data stored in previous approved session-based validations for that entity. If the face matches one of those approved sessions, the response indicates a match and returns the related KYC validation IDs.
How it worksThe service looks up approved KYC sessions (created via session-based validation) for the given entity. It compares the face you send with the biometric information already stored from those approved sessions. No new hosted session is started—this is a one-off check against existing data.
Prerequisites
For this endpoint to work, your organization must have session-based KYC validation set up:- KYC Validation integration enabled: The integration used for session-based validation (e.g. “Gu1 KYC” / validation by session) must be enabled for your organization (e.g. in Marketplace / Integrations).
- Credentials configured: The API key (and webhook secret) for that session validation integration must be set in your organization’s KYC settings. The Biometric endpoint uses the same credentials as session-based validation to perform the check.
NOT_ENABLED or NOT_CONFIGURED).
The Biometric service is a Gu1 service. All verification runs on our infrastructure; no third-party provider names are exposed in responses or errors.
Request
Endpoint
Content-Type
You can send the request in either format:multipart/form-data: use form fieldsuserImageoruser_image(file or base64) and optionalentityId,externalEntityId.application/json: body withuser_image(base64 string) and optionalentityId,externalEntityId.
entityId or externalEntityId so the API knows which entity to check against.
Headers
X-Organization-Id.
Body parameters
Face image as base64 (with or without
data:image/...;base64, prefix). For multipart, use the field name userImage or user_image and send a file or a base64 string. Formats: JPEG, PNG, WebP, TIFF. Max 5MB.UUID of the person entity in Gu1. Either
entityId or externalEntityId is required.Your own identifier for the entity (external ID). If you do not send
entityId, the API resolves the entity by organization + externalId. Either entityId or externalEntityId is required.Response
Success (200 OK)
| Field | Type | Description |
|---|---|---|
match | boolean | true if the face matched at least one KYC validation that is approved in your account for this entity (see note below). |
approvedSessionIds | string[] | Session IDs from the verification service that were considered approved matches. |
matchedKycValidationIds | string[] | IDs of the KYC validations in your account that correspond to those sessions and have status approved in our database. |
faceSearch | object | Summary: status, totalMatches, approvedMatchesCount, requestId (for support). |
Example:
Example request
Error Responses
| Code | HTTP | Meaning |
|---|---|---|
NOT_CONFIGURED | 403 | Session-based KYC validation credentials are not set in organization KYC settings. |
NOT_ENABLED | 403 | Session-based KYC validation integration is not enabled for this organization. |
INVALID_REQUEST | 400 | Missing or invalid body (e.g. missing user_image, or neither entityId nor externalEntityId). |
NOT_FOUND | 404 | No entity found for the given externalEntityId in this organization. |
UNAUTHORIZED | 401 | Invalid or missing authentication. |
VERIFICATION_FAILED | 500 | Verification could not be completed; retry or contact support. |
Relation to session-based KYC
- Session-based validation (
POST /api/kyc/validations): Creates a KYC session, gives the user a hosted URL, and stores the result (including biometric data) when they complete the flow. Those sessions are what the Biometric endpoint checks against. - Biometric (
POST /api/kyc/biometric): Sends one face image and checks if it matches any already approved session for that entity. Use it when you need to re-verify the same person (e.g. at login or for a new action) without starting a new session.
Next steps
Create KYC Validation
Start a session-based verification
Face Match (Document + Selfie)
Compare two images in one call