Screening & Reports

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}

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"