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
  • Screening tiers
  • Basic watchlist screening
  • Enhanced AML screening
  • Running standalone checks
  • Single check
  • Multiple checks at once
  • Available standalone check types
  • Check results
  • Managing hits
  • Dismiss as false positive
  • Re-run a check
  • Continuous monitoring
  • Monitoring history
  • Monitoring triggers
  • PDF reports
  • GDPR redaction
  • Webhooks
  • Checks for a session or identity
  • Related
Core Concepts

Screening & Reports

Was this page helpful?
Previous

Lists

Next
Built with

Verifa provides screening capabilities for sanctions, PEP (Politically Exposed Persons), adverse media, and other watchlist checks. Screening can run as part of a verification workflow or as standalone API calls against existing identities.

Screening tiers

Basic watchlist screening

Included in all plans. Screens against built-in sanctions lists:

  • OFAC SDN — U.S. Office of Foreign Assets Control
  • EU Sanctions — European Union consolidated list
  • UN Sanctions — United Nations Security Council
  • UK Sanctions — HM Treasury

Basic screening is auto-injected into every workflow and cannot be disabled. Uses trigram similarity matching with a default threshold of 0.6.

Enhanced AML screening

Available on Professional and Enterprise plans. Screens against 6,000+ global watchlists including:

  • Government sanctions lists (200+ countries)
  • PEP databases (current and former)
  • Adverse media sources
  • Law enforcement watchlists
  • Regulatory enforcement actions

Enhanced screening supports continuous monitoring — Verifa automatically re-screens identities when watchlists are updated and on a regular schedule. New matches trigger a screening.monitoring.new_hits webhook.

Running standalone checks

Screen a person independently of a verification session:

Single check

$curl -X POST https://api.withverifa.com/api/v1/checks \
> -H "X-API-Key: vk_live_your_key_here" \
> -H "Content-Type: application/json" \
> -d '{
> "check_type": "sanction",
> "external_ref": "user_abc123",
> "name_first": "Jane",
> "name_last": "Doe",
> "birthdate": "1997-06-15"
> }'

Multiple checks at once

$curl -X POST https://api.withverifa.com/api/v1/checks/full \
> -H "X-API-Key: vk_live_your_key_here" \
> -H "Content-Type: application/json" \
> -d '{
> "check_types": ["sanction", "pep", "adverse_media"],
> "external_ref": "user_abc123",
> "name_first": "Jane",
> "name_last": "Doe",
> "birthdate": "1997-06-15",
> "email": "jane@example.com",
> "phone": "+15551234567"
> }'

Available standalone check types

TypeDescription
sanctionSanctions list screening
pepPolitically Exposed Persons
adverse_mediaAdverse media mentions
warningWarning list screening
email_riskBasic email risk analysis
email_risk_enhancedEmail deliverability, breach history, fraud scoring
phone_risk_enhancedSIM swap, porting, VoIP detection
address_validationAddress standardization and deliverability
ip_riskIP address risk analysis

Check results

$curl https://api.withverifa.com/api/v1/checks/schk_abc123 \
> -H "X-API-Key: vk_live_your_key_here"
1{
2 "id": "schk_abc123",
3 "check_type": "aml_screening",
4 "status": "completed",
5 "has_match": true,
6 "hit_count": 2,
7 "match_summary": {
8 "sanctions": 0,
9 "pep": 1,
10 "adverse_media": 1
11 },
12 "monitoring_enabled": true,
13 "hits": [
14 {
15 "id": "screenhit_abc123",
16 "hit_type": "pep",
17 "name_similarity": 0.92,
18 "dob_match": true,
19 "combined_score": 0.89,
20 "is_false_positive": false
21 }
22 ]
23}

The providers field on screening responses (and inside verification_check.details.providers) uses Verifa’s sanitized labels — e.g. "aml_screening", "address_verification", "email_risk". Verifa never returns raw upstream vendor names in API responses.

Managing hits

Dismiss as false positive

$curl -X POST https://api.withverifa.com/api/v1/checks/schk_abc123/dismiss-matches \
> -H "X-API-Key: vk_live_your_key_here" \
> -H "Content-Type: application/json" \
> -d '{
> "hit_ids": ["screenhit_abc123"],
> "reason": "Different person — confirmed by date of birth mismatch."
> }'

Dismissed hits are excluded from future monitoring alerts.

Re-run a check

Force re-screening (bypasses cache):

$curl -X POST https://api.withverifa.com/api/v1/checks/schk_abc123/re-run \
> -H "X-API-Key: vk_live_your_key_here"

Continuous monitoring

Enable ongoing monitoring for an identity’s screening check:

$# Monitoring is enabled by default for enhanced AML checks.
$# To pause:
$curl -X POST https://api.withverifa.com/api/v1/checks/schk_abc123/pause-monitoring \
> -H "X-API-Key: vk_live_your_key_here"
$
$# To resume:
$curl -X POST https://api.withverifa.com/api/v1/checks/schk_abc123/resume-monitoring \
> -H "X-API-Key: vk_live_your_key_here"

Monitoring history

View the audit trail of monitoring runs:

$curl https://api.withverifa.com/api/v1/checks/schk_abc123/history \
> -H "X-API-Key: vk_live_your_key_here"
1{
2 "data": [
3 {
4 "id": "monrun_abc123",
5 "trigger": "scheduled",
6 "status": "completed",
7 "previous_hit_count": 1,
8 "new_hit_count": 0,
9 "total_hit_count": 1,
10 "started_at": "2026-03-01T00:00:00Z",
11 "completed_at": "2026-03-01T00:00:12Z"
12 }
13 ]
14}

Monitoring triggers

TriggerDescription
scheduledRegular periodic re-screening.
watchlist_changeA monitored watchlist was updated with new entries.
on_demandManual re-run via API.
ca_webhookProvider webhook notification of new data.

PDF reports

Generate a PDF report for a screening check:

$curl https://api.withverifa.com/api/v1/checks/schk_abc123/report.pdf \
> -H "X-API-Key: vk_live_your_key_here" \
> -o screening_report.pdf

GDPR redaction

Redact PII from a screening check:

$curl -X POST https://api.withverifa.com/api/v1/checks/schk_abc123/redact \
> -H "X-API-Key: vk_live_your_key_here"

Webhooks

EventWhen
screening.completedA screening check finished processing.
screening.monitoring.new_hitsContinuous monitoring found new matches.
screening.monitoring.clearContinuous monitoring run completed with no new hits.
check.completedAny standalone check completed.
check.matchedA standalone check found matches.

Checks for a session or identity

$# All checks for a session
$curl https://api.withverifa.com/api/v1/sessions/session_abc123/checks \
> -H "X-API-Key: vk_live_your_key_here"
$
$# All checks for an identity
$curl https://api.withverifa.com/api/v1/identities/identity_abc123/checks \
> -H "X-API-Key: vk_live_your_key_here"

Related

  • Verifications & Checks — All check types including screening
  • Lists — Custom allow/block/flag lists for matching
  • Identities — How screening links to identity records