Onboarder Documentation
OAuth 2.0 identity verification platform. Users verify once, use everywhere.
How Onboarder Works
Setup Platform
Configure verification flows
Integrate OAuth
Add "Sign in with Onboarder"
User Verifies
Hosted verification UI
Get Data
Receive verified user info
Why Onboarder?
OAuth 2.0 First
Standard OAuth integration. Users verify once, sign in everywhere. No custom verification flows to build.
Hosted Verification UI
Fully managed signup, login, and verification pages. Email, phone, biometric enrollment (face/voice), document verification - all handled.
Configurable Verification Flows
Define what verifications users need per use case. Banking needs passport? E-commerce just email? You decide.
Sandbox & Production Environments
Test for free in sandbox with test data. Move to production when ready with real biometric verification system.
Quick Example
Here's how to add "Sign in with Onboarder" to your app:
// 1. Redirect user to OAuth authorizationconst authUrl = new URL('https://api.onboarder.com/api/v1/oauth/authorize');authUrl.searchParams.append('client_id', 'plt_sandbox_your_id');authUrl.searchParams.append('flow_id', 'flow_your_flow_id'); // Defines required verificationsauthUrl.searchParams.append('redirect_uri', 'https://yourapp.com/callback');authUrl.searchParams.append('response_type', 'code');authUrl.searchParams.append('state', 'random_csrf_token');
window.location.href = authUrl.toString();
// 2. User completes verification on Onboarder's hosted UI// (email, phone, document upload, liveness check - all handled)
// 3. User returns to your callback with authorization codeconst code = new URLSearchParams(window.location.search).get('code');
// 4. Exchange code for access token (backend)const tokenResponse = await fetch('https://api.onboarder.com/api/v1/oauth/token', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ grant_type: 'authorization_code', code, client_id: process.env.CLIENT_ID, client_secret: process.env.CLIENT_SECRET, redirect_uri: 'https://yourapp.com/callback' })});
const { access_token } = await tokenResponse.json();
// 5. Get verified user dataconst userInfo = await fetch('https://api.onboarder.com/api/v1/oauth/userinfo', { headers: { 'Authorization': `Bearer ${access_token}` }});
const user = await userInfo.json();// user contains: email, name, phone, verifications, etc.Core Concepts
Platforms
Your integration settings. Each platform gets a client_id,client_secret, and can have multiple verification flows.
Verification Flows
Define what users must verify. Each flow has a flow_id and specifies required fields (email, phone, name) and verifications (document, liveness, etc.)
Sandbox vs Production
Sandbox uses test data (free, unlimited). Production uses real biometric verification providers (usage-based pricing).
OAuth 2.0
Standard authorization code flow. Hosted signup/login pages handle all verification. You just exchange codes for tokens.
Ready to integrate?
Follow our quickstart guide to add "Sign in with Onboarder" to your app in minutes.