Add HumanPass to your app in one clean hosted flow.
Create a session, open the hosted verification page, retrieve the result, and gate your app with one recommended route family: /api/v1/sessions.
Create session
Call POST /api/v1/sessions from your app backend or trusted client surface.
Open verify
Send the user into the hosted HumanPass /verify experience instead of embedding risky custom camera code.
Retrieve result
Read session detail or finalize result through the same /api/v1/sessions family.
Gate access
Approve entry, account creation, or sensitive actions based on the returned verification status.
Skip legacy embed-first complexity.
The cleanest adoption path today is hosted verification plus /api/v1/sessions. Use the older widget-prefixed routes only for legacy compatibility, not as the main story for new app owners.
1. Add this code
Start by creating a session. This gives your app a session id and the hosted verification starting point.
const session = await fetch('/api/v1/sessions', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
widgetId: 'demo-widget',
uniquenessPolicy: 'warn'
})
}).then(res => res.json());
window.location.href = `/verify?session=${session.sessionId}`;2. Retrieve the result
After the hosted flow completes, retrieve the session result and decide whether your app should allow the action.
const detail = await fetch(`/api/v1/sessions/${sessionId}`, {
headers: { Authorization: `Bearer ${accessToken}` }
}).then(res => res.json());
if (detail.status === 'completed') {
// allow the user into your app
}What this page is for
This is the shortest honest path for app owners who want HumanPass in their product without reading the full docs first.