Skip to main content
The LumiID hosted widget is a pre-built identity verification flow you embed inside your application using an HTML <iframe> or a mobile WebView. It handles every step of the process — document capture, liveness checks, and verification results — so you don’t have to build those screens yourself. All you need is a Widget ID from the LumiID dashboard. You configure the widget’s branding, supported countries, document types, and verification steps once, and the hosted URL does the rest.
Your Widget ID is safe to use in frontend code. Never expose your Secret API key on the client — keep it on your backend server only.

Getting Your Widget ID

1

Open My SDKs → Create Widget

Log in to the LumiID dashboard and navigate to My SDKs, then click Create Widget.
2

Configure your widget

Set your brand, the countries you want to support, the document types to accept, and the verification steps to include.
3

Save and copy the widget_id

Save your widget. Copy the generated widget_id from the dashboard — you’ll need it in the next step.
4

Build the hosted URL

Replace WIDGET_ID in the URL below with your actual widget_id:

Web Integration

The simplest way to embed the widget on a web page is with a plain <iframe>. Include allow="camera; microphone" so the browser can prompt for camera access during liveness checks.

JavaScript SDK Configuration

SDK Methods

Call LumiID.prefetch('wgt_...') after page load to pre-fetch the widget configuration. This makes the first open() appear instant for users.

Mobile Integration

Load the hosted URL inside a mobile WebView. Your WebView must grant camera permissions — liveness checks require live camera access. The widget sends events through platform-specific bridges. Implement the bridge for your platform to receive verification results.
Requirements: Swift 5, WKWebViewAdd NSCameraUsageDescription to your Info.plist. Without it, iOS denies camera access.

Widget Events

The widget sends events through supported platform bridges. Every event includes an event field and a ts field (Unix timestamp in milliseconds).
Use verification_complete as your primary signal to close a WebView or redirect a user — not verification_result. The complete event fires after the user has acknowledged the result screen.

Quick Reference