> For the complete documentation index, see [llms.txt](https://finext.gitbook.io/one-kyc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://finext.gitbook.io/one-kyc/admin/verification-links.md).

# 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](/one-kyc/admin/flows.md#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):

<mark style="color:green;">`POST`</mark> `undefined/v1/kyc/verification-links`

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

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:

<mark style="color:blue;">`GET`</mark> `undefined/v1/kyc/verification-links/{id}/qr`

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