Skip to main content
A verification link is a single-use URL that launches the VU Identity Link experience on the end user’s device. You create the link on your backend, share it through any channel, and then monitor the associated verification lifecycle through webhooks or polling. VU Identity Link supports two flow types: Call POST /links with the flow type and optional configuration fields.

Request body

Response

Adaptive flow

Introduced in version 2.2.0, adaptive flow lets a customer who has verified before re-verify with a selfie alone, skipping the document capture. adaptiveFlow is a tri-state field on POST /links:
Omitting the field and sending false are not the same thing. false is an explicit override that guarantees the full document flow.
adaptiveFlow requires externalUserId to have any effect. Without that identifier there is no way to look up the previous verification, and the link silently runs the full flow.
If you do not know the externalUserId at link creation, the user can supply it mid-flow through the public PATCH /verifications/identify endpoint. See Identify a user mid-flow. The branch actually resolved for a verification is exposed as method on GET /verifications/{id}/status?include=operationGuid, with values FACE (adaptive branch) or DOCUMENT (full flow). The linkUrl can be delivered through any channel:
  • Email: Embed the URL in a verification email template.
  • WhatsApp / SMS: Send the URL as a text message with a short explanation.
  • QR code: Generate a QR code from linkUrl for in-person or kiosk scenarios.
  • In-app: Deep-link into a mobile app that opens the URL in a web view.
Links are single-use. Once a user opens the link and begins the flow, it cannot be reused by another person. If the user abandons the flow, create a new link.
Returns an array of objects with the same shape as GET /links/{id}.
gateRules is read-only. Each rule carries id, reason, and a match block with formFactor, platform, and osVersionMax.

Company configuration

Two company settings directly affect the links you create: Read and update both through GET /users/me/company and PATCH /users/me/company. When a link expires before use, any attempt to open it returns an error and you must create a new link.

Code examples

Next steps

  • Query verification results after the user completes the flow in the KYC Results guide.
  • Receive real-time notifications by setting up Webhooks.
  • Understand biometric checks in the Liveness guide.
Last modified on August 28, 2026