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
  • 2026-05-21 — MCP server
  • New endpoints
  • New audit-log query
  • New scope
  • New rate-limit bucket
  • Dashboard
  • 2026-04-17 — Pre-launch hardening release
  • New endpoints
  • Webhook changes
  • Behavior changes
  • Operational
  • Internal hardening (not customer-visible)
  • 2026-01-01 (current)
  • Non-breaking changes
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • Upcoming
  • Related

Changelog

Was this page helpful?
Previous

API Reference

Next
Built with

Verifa uses date-based API versioning. Breaking changes are released as new dated versions. Non-breaking changes (new fields, new endpoints, new webhook events) ship continuously and are available on all versions.

See Versioning for how to pin your API version.

2026-05-21 — MCP server

Verifa now speaks the Model Context Protocol at https://api.withverifa.com/mcp. AI agents (Claude Code, Cursor, Claude Desktop, the Anthropic API MCP connector) can call 45 structured tools against your account without LLM-generated cURL. See the MCP Server integration guide for the full surface.

New endpoints

  • POST /mcp — Streamable HTTP MCP transport. Bearer-authenticated by existing API keys. Supports ?toolsets=… filter and ?read_only=true flag at connect time.
  • GET /.well-known/oauth-protected-resource — RFC 9728 protected resource metadata. Currently advertises Bearer-only (empty authorization_servers list); future OAuth support will populate it.

New audit-log query

  • GET /api/v1/events?action_prefix=mcp — action_prefix is a new query param on the events endpoint; matches action LIKE 'prefix.%' so callers can scope to one source. Pair with mcp to surface only MCP tool calls. Both the model layer and dashboard “MCP only” filter use it.

New scope

  • redact:write — required for the five destructive MCP tools (redact session / identity / bulk / blocklist-entry / link-revoke) and the matching REST GDPR Art. 17 endpoints. Never granted by default, never available on publishable keys; manage on a per-key basis in the dashboard’s Developers → API Keys page.

New rate-limit bucket

  • MCP requests get a 120 requests / minute per API key bucket separate from the REST quota — a runaway agent on one key cannot starve the REST budget your integration depends on. Destructive MCP operations are throttled by a second bucket on top: 5 ops / hour per key.

Dashboard

  • New Integrations → AI / MCP page (URL builder + per-client config snippets).
  • Audit log gains an MCP only filter button.
  • API-key edit modal: new Destructive scope group with danger styling + a warning callout when enabled.

2026-04-17 — Pre-launch hardening release

New endpoints

  • DELETE /api/v1/screening-subjects/{subject_id}/data — GDPR Art. 17 erasure for a screening subject
  • DELETE /api/v1/me/account — Permanent erasure of the authenticated dashboard user’s account (Art. 17)
  • GET /api/v1/sessions/{session_id}/export — GDPR Art. 15 data subject access export
  • GET /api/v1/identities/{identity_id}/export — Same, aggregated across every session linked to an identity
  • POST /api/v1/auth/refresh — Refresh the dashboard session cookie

Webhook changes

  • Signature format: outbound webhooks now use Stripe-style X-Verifa-Signature: t=<unix_ts>,v1=<hex_hmac>. Update your verifier per the new tutorial. Legacy bare-hex format remains accepted during a deprecation window so in-flight deliveries continue to verify.
  • Per-endpoint signing secret is now the source of truth (the whsec_* returned at endpoint creation/rotation). The legacy org-level webhook secret is the fallback only.
  • New event: consortium.match_found — fired when face matching detects the same identity across orgs in the Verifa Network.
  • identity.flagged payload: removed flagged_by and flag_reason (privacy hardening); added has_reason: bool.

Behavior changes

  • Cross-environment isolation: live API keys can no longer read sandbox sessions/identities/workflows and vice versa. Requests with mismatched env return 404. If you were using a live key against sandbox IDs by mistake, you’ll start seeing 404s.
  • X-Request-Id header is echoed on every API response. Pass X-Request-Id on inbound requests to correlate logs end-to-end.
  • Vendor name scrubbing: verification_check.details.providers now uses sanitized labels (e.g. "aml_screening") instead of raw vendor names like "complyadvantage". The session verifications API never returns vendor names directly anymore.
  • Field length limits: request bodies for sessions, cases, identities, screening enforce maxLength on string fields, maxItems on lists, and a 16 KB cap on metadata dicts. Oversized inputs return 422 Validation Error.

Operational

  • AML enhanced add-on now requires an annual billing plan with a minimum $5,000 annual contract value (per ComplyAdvantage commercial terms). Existing active addons are grandfathered.
  • SAML IdP-initiated sign-in is opt-in per organization (default off). Contact support to enable for orgs using Okta/Azure tile launch.
  • Free-plan-expired orgs now blocked at the API layer with a clear 403. Previously only the IDV quota path enforced this.

Internal hardening (not customer-visible)

  • Webhook delivery: per-endpoint atomic claim eliminates duplicate dispatches; retry storm capped to 5 attempts.
  • Vendor circuit breakers around ComplyAdvantage, MicroBilt, IPQS, TeleSign, Smarty, KYC service.
  • Sentry: PII scrubber attached to before_send so emails/SSN/phone/card numbers/JWT/API keys never reach Sentry events.
  • JSON-formatted logs (LOG_FORMAT=json) for structured log shipping.
  • New /health/full deep-dependency probe (gated by X-Metrics-Token header).

2026-01-01 (current)

Initial public API version.

  • Session lifecycle: create, retrieve, list, expire, redact
  • Document OCR extraction
  • Face match with configurable security levels
  • Workflow engine with DAG-based execution
  • Webhook delivery with HMAC-SHA256 signatures
  • Key inflection support (kebab-case, camelCase, snake_case)
  • Idempotency for POST requests
  • Sandbox environment with simulated results
  • Basic watchlist screening (OFAC, EU, UN, UK sanctions)
  • Enhanced AML screening with continuous monitoring
  • Risk assessment with 150+ fraud signals
  • Duplicate detection across sessions
  • Standalone checks API (POST /api/v1/checks, POST /api/v1/checks/full)
  • Email risk enhanced and phone risk enhanced checks
  • Address validation check
  • Custom lists API (allow/block/flag lists)
  • PDF report generation for screening checks
  • GDPR redaction endpoint for checks
  • Identity cross-reference check (identity_crossref)
  • Proof of address check (proof_of_address_check)
  • Case templates and custom fields APIs
  • SCIM 2.0 provisioning
  • API log retrieval and analytics endpoints
  • Cursor-based pagination for identity listing
  • Rate limit headers on all responses

Non-breaking changes

These changes ship continuously and are available without a version upgrade.

April 2026

Standalone Documents & AI Extraction

New top-level Documents area in the dashboard. Upload documents, classify them automatically, extract structured fields, and run verification checks. Custom document types with extraction hints. Server-side PDF preview rendering. All extraction runs on Verifa’s private infrastructure — document data is never sent to third-party services.

  • Dashboard Documents page (list, detail, and upload)
  • Automatic classification against system and custom document types
  • Structured field extraction with per-field confidence scores
  • Recency checks via document groups
  • PDF page preview with page navigation
  • GET /documents now supports standalone=true and excludes redacted documents by default
  • New GET /documents/{id}/preview endpoint for server-side page rendering
  • Example “Health Insurance Card” document type seeded for new organizations

March 2026

  • NFC chip authentication check (nfc_chip_auth)
  • Mobile SDK endpoints (/api/v1/sdk/config, /api/v1/sdk/nfc, /api/v1/sdk/attest)
  • Device attestation for iOS and Android
  • Video-based liveness detection
  • Deepfake detection signal
  • Mobile-specific fraud signals (root/jailbreak, emulator, screen recording)
  • TOTP two-factor authentication for dashboard users

February 2026

  • Case escalation workflows with SLA tracking
  • Second-reviewer support for cases
  • Org-level feature overrides
  • Data retention policies with configurable periods
  • Webhook retry improvements (exponential backoff, 7 retries)

January 2026

  • Initial release
  • Dashboard with HTMX-based UI
  • Admin portal for platform management
  • RBAC with 6 admin roles and 5 org roles
  • Sandbox mode with all features unlocked

Upcoming

We publish planned changes here before they ship.

  • Client libraries — Official Python, TypeScript, Go, and Java SDKs (auto-generated from the OpenAPI spec)
  • GraphQL-style field selection — Request only the fields you need with a fields query parameter

Related

  • Versioning — How to set and manage your API version
  • Webhooks — Subscribe to API change notifications
  • Errors — Error codes including version-related responses