Skip to main content
VU Identity Link lets you verify user identities remotely by sending a single-use link that guides the end user through document capture and optional liveness detection. This guide walks you through the complete integration flow from authentication to reading verification results. One verification is one link. You create it, you share it, and the person opens it in the browser they already have — nothing to install on their side, no SDK to ship on yours. Inside that session they photograph their identity document and, in the FULL FLOW type, complete a liveness challenge. VU reads the document with OCR, compares the live face against the photo printed on it, checks both captures for spoofing, and hands you back one consolidated result. What the person never does is send you a photo of their ID over a messaging app. The captures travel inside the link’s own session, and the record they produce lives exactly as long as the two expiration windows configured on your account. After that the API answers 410 for the record and 404 for its images.
The API is a paid feature. Only Premium and Pro can obtain a token — on Basic, POST /oauth/token answers 401 invalid_client. Verification quota, expiration windows, branding and location precision all vary by plan. See Plans.
1

Authenticate your backend

Obtain a Bearer token using your clientId and clientSecret via POST /oauth/token. The token is valid for 3600 seconds.
2

Create a verification link

Call POST /links with the desired flow type (FULL FLOW or ID ONLY) and optional metadata. You receive a linkUrl to share with the user.
3

Share the linkUrl

Deliver the link to your user through email, WhatsApp, SMS, or embed it as a QR code. The link is single-use and expires based on your company configuration.
4

User completes the flow

The user opens the link on their mobile device, captures the front and back of their identity document, and optionally completes a liveness challenge for biometric verification.
5

Receive a webhook or poll for status

VU sends webhook events for every step of the process. Alternatively, poll GET /verifications/{id}/status for lightweight status checks.
6

Read extracted data

Once the verification reaches success, call GET /verifications/{id} to retrieve OCR-extracted fields such as name, document number, birth date, nationality, and geolocation.

Integration paths

Authentication

Get your OAuth2 Bearer token and learn where to find your credentials.

Links

Create, share, and manage single-use verification links.

KYC Results

Query verification status and read extracted document data.

Liveness

Understand anti-spoofing biometric checks in the FULL FLOW.

Webhooks

Receive real-time server notifications for every verification step.

Errors

Full reference of HTTP status codes and how to resolve them.

Base URL and versioning

All API requests use the following base URL:
The current stable version is v2.3.2. Breaking changes are announced in the changelog with at least 30 days of advance notice.

Adaptive flow

From version 2.2.0, a FULL FLOW link can opt into adaptive flow with the adaptiveFlow field. When the customer has verified before, the link resolves to a selfie-only branch and skips the document capture. The effective branch is exposed as method (FACE or DOCUMENT) on the status endpoint. Adaptive flow needs externalUserId to look up the previous verification. If you do not know it at link creation, the user can supply their email mid-flow through PATCH /verifications/identify. See Links.

Next steps

Last modified on August 30, 2026