How it works
1
Your backend creates a session
Call
POST /kyc/sessions with your API key and a workflow_id. The response contains a short-lived access_token.2
Your app presents the flow
Pass the
access_token to LegalTalentFlowView. The SDK loads the session and workflow, applies your branding, and walks the applicant through every step.3
The SDK hands control back
When the applicant finishes,
onComplete fires with the session. Dismiss the flow and show your own “we’re reviewing your data” screen.4
Your backend gets the decision
The outcome (
approved, rejected, manual_review) arrives through session webhooks or GET /kyc/sessions/{id}.Security model
Your API key never ships in the app. The SDK only ever sees the sessionaccess_token, which is scoped to one session, expires (ttl_days, default 7), and can only read and submit that session through the public session API.
Pass the
access_token, not the access_link. The link is for the web flow.Integration options
Drop-in UI
LegalTalentFlowView (SwiftUI / Jetpack Compose). One view, the whole flow, themed with your branding. Recommended for most integrations.Headless
LegalTalentClient exposes session, workflow, uploads and polling for teams that build their own UI.Modules
The drop-in UI module pulls in Core and Liveness; you only declare
LegalTalentUI / legaltalent-ui.
Platform support
Next steps
iOS
Install with SPM and present the flow.
Android
Install from GitHub Packages and present the flow.
Customization
Branding, dark mode, header and capture options.
Reference
Parameters, callbacks, errors and versioning.