Skip to Content
KnowaKYC
Admin panel

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.

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.

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):

POST
/v1/kyc/verification-links

Authorization

ApiKeyAuth
headerAuthorization<token>

HMAC-SHA256 Credential=<key_id>, Signature=<hex_signature>. SignedHeaders=x-timestamp is optional. Requires X-Timestamp header.

Header Parameters

X-Timestamp*string

Unix timestamp (seconds, max 5 min drift)

Request Body

Link options (flow_id required)

application/json
  1. body
expires_in?integer

seconds

external_reference?string
external_user_id?string
flow_id?string
locale?string
metadata?
prefilled?
redirect_url?string
utm_campaign?string
utm_medium?string
utm_source?string

Response Body

Created or reused link

application/json
  1. response
data?
success?boolean
Example Request
curl -X POST 'https://example.com/tenant/v1/kyc/verification-links' \  -H 'X-Timestamp: string' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "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"  }}

The link registry shows the following data:

FieldDescription
IDThe unique link identifier
FlowThe flow bound to the link
StatusActive, used, or revoked
ExpiryDate and time when the link expires
Created atDate and time the link was generated

The detail view shows the full URL, usage information (date, device — when available), and the bound session.

To invalidate a link (issued by mistake, verification cancelled, conditions changed):

  1. Find the link in the list.
  2. Click "Revoke".
  3. 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:

GET
/v1/kyc/verification-links/{id}/qr

Authorization

ApiKeyAuth
headerAuthorization<token>

HMAC-SHA256 Credential=<key_id>, Signature=<hex_signature>. SignedHeaders=x-timestamp is optional. Requires X-Timestamp header.

Path Parameters

id*string

Link UUID

Query Parameters

size?integer

QR size in pixels (1-1024, default 256)

Header Parameters

X-Timestamp*string

Unix timestamp (seconds, max 5 min drift)

Response Body

PNG image

response?unknownimage/png
Example Request
curl -X GET 'https://example.com/tenant/v1/kyc/verification-links/string/qr' \  -H 'X-Timestamp: string'
Example Response
null

Additional 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).

On this page