identity, profile, and proof-of-address. Any remaining required processes (e.g. customerDueDiligence, enhancedDueDiligence, taxDetails) must still be completed via the REST API or the KYC Connector.
Prerequisites
- API client credentials with the scopes to create users and access the KYC Widget.
- The KYC Widget SDK is installed in your frontend. See Installation and setup.
Walkthrough
Retrieve terms of service
Before creating a user, retrieve the general Terms of Service applicable to their country of residence by calling the List terms of service endpoint withtype=general and the user’s country code.
Create the user
Once the user has accepted the Terms of Service, call Create user to register them on the platform.Response
metadata field to store your own business data (e.g. external IDs or tracking parameters).
Subscribe to the core.user.created webhook to be notified asynchronously.
Create a session
Call Create kyc session on your backend with theverify flow. Specify processes to limit which verification steps the user sees, or omit it to run all available processes.
response.session to your frontend (for example, as part of your page response or via your own API endpoint). The SDK takes that session object as a single argument.
Set up the Widget
Wire up event handlers before callingmountIframe. The Widget does not unmount itself — you must call widget.unmount() from each terminal handler.
Monitor outcomes
Thecomplete event signals submission, not approval. Final outcomes arrive asynchronously on your backend via webhooks. Subscribe to the relevant events for the processes you requested:
identity.status-changed— identity verification resultproof-of-address.status-changed— proof of address result
GET /core/kyc) at any time to check the current status of all KYC processes for a user.