> 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/introduction.md).

# Introduction

This documentation is for developers integrating with the OneKYC platform and for users of the admin panel. It covers the product, the integration guide, and the API reference. For a detailed overview of platform capabilities, see [Product overview](/one-kyc/introduction/product-overview.md).

**Documentation contents:**

* **Introduction** — product capabilities and target use cases.
* **Quick start** — a step-by-step guide to creating a verification link and running your first KYC session.
* **Tenant API** — server-side integration reference: [Authentication](/one-kyc/api/authentication.md), [Sessions](/one-kyc/api/sessions.md), [Applicants](/one-kyc/api/applicants.md), [Documents and media](/one-kyc/api/documents-and-media.md), [Verification links](/one-kyc/api/verification-links.md), [Webhooks](/one-kyc/api/webhooks.md), [Metrics](/one-kyc/api/metrics.md), [Audit](/one-kyc/api/audit.md), [API reference (OpenAPI)](/one-kyc/api/api-reference.md).
* **KYB API** — business verification: [KYB overview](/one-kyc/kyb.md), [Quick start](/one-kyc/kyb/quick-start.md), [KYB API reference](/one-kyc/kyb/api-reference.md), [KYB webhooks](/one-kyc/kyb/webhooks.md).
* **Admin panel** — manage the dashboard, sessions, applicants, verification flows, review, API keys, webhooks, verification links, team, audit, and settings.

> **Note.** The OneKYC Tenant API is in beta. Endpoints, data formats, and API versions may change. Track documentation updates.

## Frequently asked questions

### Where does verification run — on the client side or the OneKYC side?

Verification runs **on the OneKYC side**. Integration is reduced to creating a verification link via the API and delivering it to the end user (by email, SMS, QR code, etc.). The user opens the link, lands on the OneKYC verification page, and completes every check defined by the flow. Results are returned to the client through webhooks or API requests.

### Can the verification UI be embedded into our own interface?

The recommended approach is a **redirect** to the OneKYC verification page or opening it in a **new browser window**. iframe embedding has technical limitations (camera access, fullscreen mode). The OneKYC UI is responsive and works on both desktop and mobile devices.

### How does the cross-device flow work?

A user can start verification on a desktop computer (for filling out forms) and continue on a mobile device (for capturing documents and selfies). When you create a link, a QR code is generated; after scanning it, the user continues the same session on the mobile device.

**The QR code is valid for 5 minutes** and is single-use: once scanned, the token is invalidated. If the QR code expires, refresh the page to generate a new one.

### Which document types are supported?

OneKYC supports passports, ID cards, and driver's licences from most countries. The current list is available through the Tenant API: `GET /tenant/v1/kyc/documents/supported`. The flow configuration determines which document types are accepted for a given verification scenario.

### Can the verification flow be customised?

Yes. Flows are configured through the **Flow Editor** in the admin panel. You can add and remove steps (document upload, selfie, liveness check, OTP confirmation, AML screening, manual review), reorder them, and adjust their parameters. Changes take effect for new sessions after you publish the updated flow version.

### How do I receive verification results?

Two options are available:

1. **Webhooks** (recommended) — OneKYC sends event notifications to your URL in real time (for example, `verification.approved`, `verification.declined`).
2. **API polling** — query the verification status periodically through the `/tenant/v1/kyc/applicants/{applicant_id}/verification` endpoint.

### How long does verification take?

* **Automatic verification** (no manual review) — 30–60 seconds (document upload, selfie, automated checks).
* **With manual review** — depends on reviewer queue load (from a few minutes to several hours).
* **With AML screening** — adds 5–15 seconds.

### What should I do if a user fails verification?

The recommended action depends on the rejection reason (the `rejection_reason` field in the API response):

* **Low image quality** — ask the user to retry by issuing a new verification link.
* **Expired document** — notify the user and request a valid document.
* **Face mismatch** — possible fraud signal; consider manual review or rejection.
* **AML hit** — the decision rests with you, in line with your internal risk-management procedures.

### How do I test the integration?

1. Create an API key with the `kyc_test_` prefix in the admin panel.
2. Use test keys in your development and staging environments.
3. For webhook testing, use ngrok or a similar tool for local development.
4. Sessions created with test keys are not billed.

### Can user data be deleted (GDPR)?

Yes. Use the `DELETE /tenant/v1/kyc/applicants/{applicant_id}` endpoint. All related data (documents, selfies, verification results) is removed in line with GDPR requirements. The operation is irreversible.

### How is billing calculated?

Billing is based on the number of successfully completed verifications. Test keys (`kyc_test_*`) are not billed. Pricing details are available in the admin panel or from your account manager.

***

To get started, head to [Product overview](/one-kyc/introduction/product-overview.md) or [Quick start](/one-kyc/introduction/quick-start.md).
