Verification links
The Verification links section creates, manages, and tracks the links that users open to start verification. A verification link is the primary way to initiate a verification session for an end user.
Creating a link
To create a new verification link, click "Create link" and set the following parameters:
- Flow — the verification flow used when a session is created via the link.
- Expiry — the time interval during which the link stays active. After it expires, the link becomes invalid.
- External user ID (optional) — the user identifier in your system (
external_user_id) used to bind the session to a specific applicant. - Locale (optional) — language settings for the verification UI.
- Redirect URL (optional) — the address the user is redirected to after verification finishes (for example,
https://myapp.com/dashboard).
After creation, the system generates:
- Link URL — the full address with a token to share with the user.
- Short code — used as an alternative entry point if needed.
You can deliver the generated link to the user through any convenient channel: email, SMS, or your application's user portal.
Redirect URL
The redirect_url parameter sets the address the user is redirected to after verification finishes. The completion-screen behaviour (a click-through button or an automatic redirect) is configured in the flow settings — see Flows — redirect settings.
If redirect_url is not set, the completion screen is shown without redirect controls.
Creating links via API
Verification links can be created programmatically through the Tenant API, which lets you wire link issuance into your application's business processes (for example, from a CRM):
ApiKeyAuthAuthorization<token>HMAC-SHA256 Credential=<key_id>, Signature=<hex_signature>. SignedHeaders=x-timestamp is optional. Requires X-Timestamp header.
X-Timestamp*stringUnix timestamp (seconds, max 5 min drift)
Link options (flow_id required)
application/json- body
expires_in?integerseconds
external_reference?stringexternal_user_id?stringflow_id?stringlocale?stringmetadata?prefilled?redirect_url?stringutm_campaign?stringutm_medium?stringutm_source?stringCreated or reused link
application/json- response
data?success?booleancurl -X POST 'https://example.com/tenant/v1/kyc/verification-links' \ -H 'X-Timestamp: string' \ -H 'Content-Type: application/json' \ -d '{}'{ "success": true, "data": { "created_at": "string", "delivery_eligible": true, "expires_at": "string", "external_reference": "string", "external_user_id": "string", "flow_id": "string", "id": "string", "link_url": "string", "locale": "string", "qr_code_url": "string", "redirect_url": "string", "reuse_reason": "external_reference", "reused": true, "session_id": "string", "session_resumable": true, "session_status": "string", "short_url": "string", "status": "string", "url": "string", "verification_link": "string", "verification_url": "string" }}Link list
The link registry shows the following data:
| Field | Description |
|---|---|
| ID | The unique link identifier |
| Flow | The flow bound to the link |
| Status | Active, used, or revoked |
| Expiry | Date and time when the link expires |
| Created at | Date and time the link was generated |
The detail view shows the full URL, usage information (date, device — when available), and the bound session.
Revoking a link
To invalidate a link (issued by mistake, verification cancelled, conditions changed):
- Find the link in the list.
- Click "Revoke".
- Confirm the action.
After revocation, opening the link does not create a session — the user sees a notice that the link is invalid.
QR code
A QR code can be generated for every active link. QR codes help when the user wants to continue verification on a mobile device. Scanning the code with the smartphone camera takes the user to the verification UI.
QR-code generation is available both in the admin panel and through the Tenant API:
ApiKeyAuthAuthorization<token>HMAC-SHA256 Credential=<key_id>, Signature=<hex_signature>. SignedHeaders=x-timestamp is optional. Requires X-Timestamp header.
id*stringLink UUID
size?integerQR size in pixels (1-1024, default 256)
X-Timestamp*stringUnix timestamp (seconds, max 5 min drift)
PNG image
response?unknownimage/pngcurl -X GET 'https://example.com/tenant/v1/kyc/verification-links/string/qr' \ -H 'X-Timestamp: string'nullAdditional admin-panel actions
Besides the standard actions (create, revoke, QR), the admin panel provides:
- Duplicate link — creates a copy of an existing link with the same parameters (flow, expiry, locale) but a new token. Useful for re-sending to the same users with a fresh expiry.
- Bulk actions — perform actions (for example, revocation) on a set of links at once: select rows in the table and pick an action from the context menu.
- Send link via email / SMS — send the link directly to the applicant from the admin panel through the chosen channel. No need to copy the URL and craft a message manually. The available channel depends on tenant settings (a configured SMS provider, corporate SMTP).