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
      • POSTTest webhook delivery
      • GETList webhook endpoints
      • POSTCreate webhook endpoint
      • GETList available webhook event types
      • GETRetrieve webhook endpoint
      • DELDelete webhook endpoint
      • PATCHUpdate webhook endpoint
      • POSTRotate webhook signing secret
      • POSTClone webhook endpoint
      • GETList webhook deliveries
      • POSTRetry a failed webhook delivery
API ReferenceWebhooks

List available webhook event types

GET
https://devapi.withverifa.com/api/v1/webhooks/endpoints/event-types
GET
/api/v1/webhooks/endpoints/event-types
$curl https://devapi.withverifa.com/api/v1/webhooks/endpoints/event-types \
> -H "X-API-Key: <apiKey>"
1{
2 "data": [
3 {
4 "event": "session.approved",
5 "description": "string"
6 }
7 ]
8}
Returns all event types that can be subscribed to. Includes session events (e.g. `session.approved`, `session.declined`, `session.resubmission-required`), identity events (`identity.created`, `identity.updated`, `identity.flagged`, `identity.archived`, `identity.restored`, `identity.tag-added`, `identity.tag-removed`), and consortium events (`consortium.match_found`, `consortium.match_resolved`). The `session.resubmission-required` event fires when a session is auto-rejected because the submitted ID photos were too blurry or low-quality for OCR processing. The applicant must create a new session with the same `external_ref` and resubmit clearer photos. ### `consortium.match_found` payload Fires when the consortium executor finds a cross-org match for a session at workflow time. Both involved organizations receive the event. Payload fields: ```json { "event": "consortium.match_found", "consortium_id": "cgrp_abc123", "matched_session_id": "ses_def456", "primary_session_id": "ses_abc123", "similarity": 0.94, "ghost_student_score": 78, "ghost_student_tier": "high", "is_sandbox": false } ``` - `similarity` is a rounded float (face-embedding cosine similarity). - `ghost_student_tier` is one of `low`, `medium`, `high`, `critical`. ### `identity.flagged` payload Fires when an identity is flagged for review. As of Wave 4 (audit H41) the payload **no longer includes** `flagged_by` or `flag_reason` — those fields contained reviewer email and free-text PII. Use `GET /identities/{identity_id}` to fetch them if your subscriber has the right scopes. The new `has_reason` boolean lets you tell whether a reason was recorded without exposing its contents. ```json { "event": "identity.flagged", "identity_id": "idn_abc123", "session_id": "ses_def456", "has_reason": true, "is_sandbox": false } ```
Was this page helpful?
Previous

Retrieve webhook endpoint

Next
Built with

Returns all event types that can be subscribed to. Includes session events (e.g. session.approved, session.declined, session.resubmission-required), identity events (identity.created, identity.updated, identity.flagged, identity.archived, identity.restored, identity.tag-added, identity.tag-removed), and consortium events (consortium.match_found, consortium.match_resolved).

The session.resubmission-required event fires when a session is auto-rejected because the submitted ID photos were too blurry or low-quality for OCR processing. The applicant must create a new session with the same external_ref and resubmit clearer photos.

consortium.match_found payload

Fires when the consortium executor finds a cross-org match for a session at workflow time. Both involved organizations receive the event. Payload fields:

1{
2 "event": "consortium.match_found",
3 "consortium_id": "cgrp_abc123",
4 "matched_session_id": "ses_def456",
5 "primary_session_id": "ses_abc123",
6 "similarity": 0.94,
7 "ghost_student_score": 78,
8 "ghost_student_tier": "high",
9 "is_sandbox": false
10}
  • similarity is a rounded float (face-embedding cosine similarity).
  • ghost_student_tier is one of low, medium, high, critical.

identity.flagged payload

Fires when an identity is flagged for review. As of Wave 4 (audit H41) the payload no longer includes flagged_by or flag_reason — those fields contained reviewer email and free-text PII. Use GET /identities/{identity_id} to fetch them if your subscriber has the right scopes. The new has_reason boolean lets you tell whether a reason was recorded without exposing its contents.

1{
2 "event": "identity.flagged",
3 "identity_id": "idn_abc123",
4 "session_id": "ses_def456",
5 "has_reason": true,
6 "is_sandbox": false
7}

Authentication

X-API-Keystring

Organization API key. Keys are prefixed with vk_live_ (production) or vk_sandbox_ (sandbox).

Headers

Verifa-VersiondateOptional

API version date string (e.g. 2026-02-01). If omitted, the version pinned to your API key is used.

Response

List of event types.
datalist of objects

Errors

401
Unauthorized Error