For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
  • Getting Started
    • Introduction
    • How Verifa Works
    • Quickstart
    • Choosing an Integration Method
  • Use Cases
    • KYC Onboarding
    • Age Verification
    • AML Compliance
    • Fraud Prevention
    • Marketplace Trust & Safety
  • Core Concepts
    • Overview
    • Sessions
    • Verifications & Checks
    • Workflows
    • Identities
    • Cases
    • Screening & Reports
    • Lists
  • Integration Guides
    • Overview
    • JavaScript SDK
    • Web Capture Flow
    • API-Only Integration
    • Mobile SDK
    • Webhooks Guide
    • MCP Server
    • Migrating from Persona
  • API Details
    • Overview
    • Authentication
    • Pagination
    • Rate Limiting
    • Versioning
    • Errors
    • Webhooks
    • Idempotency
    • Key Inflection
    • Data Access
    • Data Retention
  • Tutorials
    • Creating Your First Verification Session
    • Creating a Workflow
    • Receiving Webhooks & Validating Signatures
    • Handling Webhook Events
    • Custom Document Types & AI Extraction
  • Best Practices
    • Testing
    • Preventing Duplicates
    • Fraud Signals
    • Changelog
  • API Reference
On this page
  • How it works
  • Environments
  • Quick start
  • 1. Create a session
  • 2. Redirect the user
  • 3. Retrieve the result
  • Next steps
  • Related
Getting Started

Introduction

Was this page helpful?

How Verifa Works

Next
Built with

Verifa is a KYC identity verification platform that lets you verify your users’ identities through document capture, biometric matching, and watchlist screening.

How it works

  1. Create a session — Your server calls POST /api/v1/sessions to create a verification session.
  2. Redirect the user — Send the user to the capture_url returned in the response. Verifa handles the camera capture UI, document scanning, and selfie collection.
  3. Get the result — Once the user completes the flow, Verifa processes the documents and delivers results via webhook or API polling.

Environments

Verifa uses a single API URL — https://api.withverifa.com. Your API key determines the environment:

  • Production — vk_live_* keys
  • Sandbox — vk_sandbox_* keys

Sandbox sessions return simulated results without processing real documents. Use sandbox to build and test your integration before going live.

Quick start

1. Create a session

$curl -X POST https://api.withverifa.com/api/v1/sessions \
> -H "X-API-Key: vk_live_your_key_here" \
> -H "Content-Type: application/json" \
> -d '{
> "external_ref": "user_abc123",
> "country": "US"
> }'

Response:

1{
2 "id": "session_abc123",
3 "status": "pending",
4 "capture_url": "https://api.withverifa.com/capture/session_abc123?token=...",
5 "is_sandbox": false,
6 "created_at": "2026-02-01T12:00:00Z",
7 "expires_at": "2026-02-01T12:20:00Z"
8}

2. Redirect the user

Send the user to capture_url. They will photograph their ID and take a selfie. The session token expires after 20 minutes.

3. Retrieve the result

After receiving a session.approved or session.declined webhook (or after polling the session status), fetch the full result:

$curl https://api.withverifa.com/api/v1/sessions/session_abc123/result \
> -H "X-API-Key: vk_live_your_key_here"

Response:

1{
2 "session_id": "session_abc123",
3 "status": "approved",
4 "is_sandbox": false,
5 "face_match_passed": true,
6 "face_match_score": 0.94,
7 "age_check_passed": true,
8 "extracted_age": 28,
9 "extracted_data": {
10 "first_name": "Jane",
11 "last_name": "Doe",
12 "date_of_birth": "1997-06-15",
13 "document_type": "drivers_license",
14 "document_issuing_state": "CA"
15 },
16 "processing_mode": "auto",
17 "country_used": "US",
18 "created_at": "2026-02-01T12:05:00Z"
19}

Next steps

  • Quickstart — Create your first session in 5 minutes
  • How Verifa Works — Architecture and verification flow
  • Choosing an Integration Method — Pick the right approach for your use case

Related

  • Authentication — API key setup and scopes
  • Webhooks — Real-time event notifications
  • Errors — Error handling reference