Verifa is a programmable identity verification platform. You define verification workflows, your users complete them through a capture experience, and Verifa returns structured results with extracted data, biometric scores, and fraud signals.
Verifa is built around five core concepts:
Session — A verification request. Your server creates a session via the
API, and receives a capture_url to send the user to.
Capture — The user-facing experience. Verifa handles document scanning, selfie collection, liveness detection, and consent — either through the hosted web capture or a mobile SDK.
Workflow — A directed graph of verification steps. The workflow engine executes checks in sequence — OCR extraction, face matching, age verification, watchlist screening, fraud scoring — and routes to a terminal outcome.
Result — The structured output of a completed workflow. Contains extracted PII, biometric scores, check outcomes, and a final decision (approved, rejected, or needs review).
Review Case — When a session requires human judgment, Verifa creates a review case in the queue. Reviewers can approve, reject, or escalate cases through the dashboard or API.
Your server sends a POST /api/v1/sessions request with an optional
external_ref (your user ID), country code, and workflow selection. Verifa
returns a session object with a capture_url.
Redirect (or embed) the user at the capture_url. The capture flow guides them
through:
The session status transitions from pending to capturing as the user
progresses.
Once the user completes capture, the session moves to processing and the
workflow engine takes over. A typical workflow executes:
Each step produces an independent result. If a step fails, the workflow routes based on your configured graph — to a rejection terminal, a review queue, or an alternative check path.
Verifa delivers results through two channels:
session.approved or session.declined event is sent to
your configured endpoint in real time.GET /api/v1/sessions/{id} to check the session
status, then GET /api/v1/sessions/{id}/result for the full result.The result contains:
If the workflow routes to needs_review, a review case is created. Your team
can:
The final decision updates the session result and fires a webhook.
When a session completes with an external_ref, Verifa upserts a persistent
Identity record. Identities aggregate all verification sessions for a single
person, enabling:
Verifa provides two fully isolated environments:
Sandbox sessions return simulated results that you can control through the capture UI or API. API keys, webhooks, and workflows are scoped to their environment — sandbox data never mixes with production.