# Welcome to Incode

Incode is an [identity verification (IDV)](https://developer.incode.com/docs/what-is-identity-verification) platform. It helps:

- **Onboard new customers** by confirming their identity exists and they are who they claim to be.
- **Authenticate returning customers** against their identity established during onboarding.

Incode combines document verification, biometric matching, liveness detection, and risk scoring. You can configure the user's journey through these verification checks according to your use case, region, and regulatory requirements. The Incode Platform provides a single ecosystem for configuring and integrating IDV, including low-code and no-code solutions. Review the [Choose Your Integration Path](#choose-your-integration-path) section below for an overview of ways to implement Incode.

***

## Key Concepts

Review these key concepts before you begin:

- **Onboarding Session**: A container for one customer's identity verification process. Every image, score, and result is tied to a unique Session ID, referred to as `interviewId` in the API. A new session is created for each verification attempt.
- **Module:&#x20;**&#x41; single step within a session. Examples include ID document capture, selfie capture, liveness check, face match, and eKYC database lookup. You choose which modules run and in what order by configuring [Workflows](https://developer.incode.com/docs/workflows) in Dashboard.
- **Score and Result:&#x20;**&#x57;hen customers complete modules, Incode returns a numerical score for each module and an overall session score. Your backend reads this score to make a decision: approve the customer, route them to manual review, or reject the attempt.

[Read the full glossary](https://developer.incode.com/docs/glossary)​ for more terms and definitions.

***

## Choose Your Integration Path

Incode supports four integration methods. Choose the one that fits your use case.

| Path                                       | Best for                                                    | Starting point                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ------------------------------------------ | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Web SDK**                                | Browser-based applications                                  | [Quick Start: Web SDK](https://developer.incode.com/docs/quickstart)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Mobile SDK** (iOS, Android, Hybrid SDKs) | Native mobile apps—higher capture quality and fraud signals | [iOS setup](https://developer.incode.com/docs/set-up-ios-environment) · [Android setup](https://developer.incode.com/docs/set-up-android-environment) · [React Native setup](https://developer.incode.com/docs/set-up-react-native-environment) · [Flutter setup](https://developer.incode.com/docs/set-up-flutter-environment) · [Xamarin setup](https://developer.incode.com/docs/set-up-xamarin-environment) · [Cordova setup](https://developer.incode.com/docs/set-up-cordova-environment) |
| **API only**                               | Backend batch processing—no SDK or frontend UI required     | [API-Only Integration](https://developer.incode.com/docs/single-onboarding)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Hosted Workflow URL** (no-code)          | Rapid deployment—Incode hosts the UI, you send users a link | [Flows and Workflows Overview](https://developer.incode.com/docs/web-integrations-flows-workflows)                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

If you're not sure which to choose, see the [full comparison of integration options by platform](https://developer.incode.com/docs/integrate-by-platform).

***

## How a Verification Session Works

Regardless of the path you choose, every Incode integration follows the same four-step sequence:

1. **Your backend creates a session.&#x20;**&#x43;all `POST /omni/start` with your API key. Incode returns a session token. Store this token; all subsequent calls for this customer's verification are scoped to it.

   → [Start session API reference](https://developer.incode.com/docs/api-onboarding-start-session)
2. **Your frontend runs the capture modules.&#x20;**&#x54;he SDK or Workflow guides your customer through the steps you have configured: ID scan, selfie, liveness check, and any others. Pass the session token to the SDK so all captured data is attached to the correct session.

   → [Onboarding process overview](https://developer.incode.com/docs/onboarding-vs-authentication)
3. **Mark the session complete.&#x20;**&#x41;fter the last module runs, call `POST /omni/finish-status` from your backend. This step is required; it signals to Incode that data collection is done and triggers final score calculation.
4. **Fetch scores and make a decision.&#x20;**&#x52;ead the verification score from the API or wait for Incode to send it to your backend via a webhook. Use the score to approve the user, route them to manual review, or reject the attempt.

   → [Session lifecycle and status reference](https://developer.incode.com/docs/onboarding-session-lifecycle)<br />→ [Webhooks overview](https://developer.incode.com/docs/webhooks-overview)

***

## What to Read Next

| Topic                                            | Link                                                                                                            | Type      |
| ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- | --------- |
| Platform concepts and terminology                | [Incode Glossary](https://developer.incode.com/docs/glossary)                                     | Concepts  |
| What identity verification is and why it matters | [What Is Identity Verification?](https://developer.incode.com/docs/what-is-identity-verification) | Concepts  |
| Build a working web integration end-to-end       | [Quick Start: Web SDK](https://developer.incode.com/docs/quickstart)                              | Tutorial  |
| Integrate by Platform                            | [Integrate by Platform](https://developer.incode.com/docs/integrate-by-platform)                  | Setup     |
| Explore all API endpoints                        | [API Reference](https://developer.incode.com/reference/introduction)                              | Reference |
| Receive results asynchronously                   | [Webhooks](https://developer.incode.com/docs/webhooks-overview)                                   | Reference |

***

<br />
