Create an applicant via the Onfido API (POST to the applicants endpoint) with the user's first name, last name, and email; store the returned applicant_id.
Generate an SDK token by calling the SDK token endpoint with the applicant_id and the referrer (web) or bundle_id (mobile) of your app.
Integrate the Onfido Web SDK or mobile SDK using the SDK token; configure the steps array to include 'document' and 'face' (with the variant set to 'video' or 'photo' as required).
After the user completes capture in the SDK, create a check via the checks endpoint referencing the applicant_id with report_names including 'document' and 'facial_similarity_photo' or 'facial_similarity_video'.
Register a webhook in the Onfido dashboard and listen for the check.completed event; on receipt, retrieve the check to read individual report results and sub-results.
Map the report result ('clear', 'consider', 'unidentified') and any breakdown flags to your onboarding decision logic.
Known gotchas
SDK tokens are short-lived (default 90 minutes); generate them immediately before launching the SDK flow.
The 'facial_similarity_video' report requires liveness and takes longer to complete than the photo variant; set user expectations accordingly.
Onfido periodically renames or reorganizes report types; confirm current report_names against the latest documentation before going to production.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp