Re-authenticate a verified person by face
Matches a live selfie against the reference enrolled when the person was verified, and answers in the same call. A liveness failure and a face that does not match are both 200 responses with authenticated: false. A hosted verification session token is also accepted in place of a key.
An unknown reference, a business, and a person who is not enrolled all answer the same 404 not_enrolled, so references cannot be probed.
Sandbox. Outside production the comparison is simulated and free. The outcome is authenticated unless sandboxOutcome pins another, or the externalUserId contains no_match, nomatch or mismatch (no match) or bio_error or bioerror (error).
Billing. Production attempts are charged per attempt. A no_match is charged, because the check ran. An attempt that fails with 502 is refunded.
Error codes
A missing or unknown key answers 401, where error is a short sentence rather than a code.
Accepts a publishable (pk_) or secret (sk_) key.
Authentication
Request
The mediaId of a live selfie uploaded through the upload endpoint with type selfie.
The liveness result reported by the capture. Required in effect: without it, or without a mode, the attempt answers liveness_failed.
Pins the simulated outcome outside production: authenticated, no_match or error, or live to run the real comparison on a development key. Ignored on live keys.
Response
The attempt ran. Read authenticated for the outcome.
authenticated, no_match when the faces did not match, or liveness_failed when the liveness result did not pass.
A single-use proof token, present only when authenticated is true. Your backend redeems it within 30 minutes to trust a result that came from a browser or app.