Incode WebSDK 2.0 Reference

The Incode Web SDK embeds identity verification — document capture, selfie liveness, phone/email OTP, eKYC, eKYB, and more — into any web application. It ships as web components, manager APIs, and a plug-and-play <incode-flow> element.

This wiki is for developers integrating with Incode's Platform using the Web SDK.

📘

This guide is specific to Web SDK 2.0. If you are still using 1.x, you can find documentation here. Contact your Incode Representative for upgrade information and check if you are a candidate for this upgrade.

Full rollout to all clients still TBD.

Start here

If you want to… Go to
Get a working flow in 5 minutes Getting Started
See every module the SDK exposes Individual Modules
Use the all-in-one component IncodeFlow Component
Build fully custom UI Headless Mode
Customize colors and typography Theming & Styling
Reference for the public API API Reference
Solve a specific problem Troubleshooting

How the SDK fits together

Browser

Your backend

createSession()

Path 3 — Headless

subscribe

createPhoneManager
createSelfieManager
createIdCaptureManager ...

Your UI
any framework

Path 2 — Orchestrator

ready / step state

createOrchestratedFlowManager

<incode-phone>
<incode-selfie>
<incode-id> ...

Path 1 — Drop-in

<incode-flow>
one element, full UI

API key + Configuration ID
(server-side only)

setup&(apiURL, token&)

Three integration paths, same SDK underneath. Pick the one that matches how much UI control you need:

Three-package architecture

The SDK is split across three npm packages. Most integrations only need to depend on two of them:


Your app

@incodetech/web
L2 — UI components, CSS

@incodetech/core
L1 — managers, state machines, types

@incodetech/infra
L0 — internal browser/WASM bridge

Framework integration

Every Incode UI module ships as a standard Web Component — usable from vanilla HTML, React (with or without React 19's native custom-element support), Angular (CUSTOM_ELEMENTS_SCHEMA), and Vue 3 (compilerOptions.isCustomElement). The set-up is small but framework-specific.

What the SDK can do

Browser support

The SDK targets modern evergreen browsers — Chrome, Firefox, Safari, and Edge. The build emits ES2021 and uses getUserMedia, MediaRecorder, fetch, and WebAssembly; any browser that supports those (roughly Chrome ≥ 90, Firefox ≥ 88, Safari ≥ 14, Edge ≥ 90) should work. Mobile Safari has additional quirks worth knowing about — see Troubleshooting → Mobile Safari.

HTTPS required for camera access in production. localhost is exempt during development.

Need help?