Skip to main content
The identity verification endpoint analyzes a user’s government-issued document alongside one or more selfie frames to confirm that the person submitting the document is its legitimate holder. Vouch’s AI engine compares facial geometry, checks liveness signals, and returns a match score alongside a binary identityVerified result. An identityMatchScore of 90 or above is required for the verification to pass.

Request

Content-Type: multipart/form-data
Auth: x-api-key: <your-key>
string
required
Your platform’s unique identifier for the user being verified. This value is stored and returned in the response as externalUserId so you can correlate results with your own records.
file
required
A JPEG or PNG image of the user’s government-issued ID. Maximum file size is 10 MB. Accepted document types are passport, drivers_license, national_id, and voters_card. Ensure the image is well-lit and all four corners of the document are visible.
file[]
required
One or more JPEG or PNG selfie frames of the user’s face, each up to 10 MB. Providing multiple frames from a short video improves liveness detection accuracy. At least one frame must be supplied. Submit each frame as a separate field named selfie_images.
string
A browser or device fingerprint string collected from the user’s session. When you use the Vouch browser SDK, this value is captured and attached automatically. Pass it manually here if you are calling the REST API directly.

Example Request

Response

string
Indicates the outcome of the verification attempt. Returns "success" when processing completed normally and the user passed, or "failed" when the AI engine could not confirm the user’s identity.
string
A human-readable description of the result, such as "Identity verified successfully" or "Identity verification unsuccessful".
object
Contains the full verification result for the user.

Success Response

Failed Response

Match Score Reference

Rejection Reasons

When the AI engine cannot complete or pass verification, it may surface one of the following rejection reasons:
If you are integrating on the frontend, you do not need to manage file uploads yourself. Call vouch.identity.verify(userId) to launch Vouch’s zero-click modal, which handles camera access, liveness capture, and document scanning in a single guided flow — then calls this endpoint automatically.