Skip to navigation

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"
{
"id": "schk_abc123",
"check_type": "aml_screening",
"status": "completed",
"has_match": true,
"hit_count": 2,
"match_summary": {
"sanctions": 0,
"pep": 1,
"adverse_media": 1
},
"monitoring_enabled": true,
"hits": [
{
"id": "screenhit_abc123",
"hit_type": "pep",
"name_similarity": 0.92,
"dob_match": true,
"combined_score": 0.89,
"is_false_positive": false
}
]
}

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"
{
"data": [
{
"id": "monrun_abc123",
"trigger": "scheduled",
"status": "completed",
"previous_hit_count": 1,
"new_hit_count": 0,
"total_hit_count": 1,
"started_at": "2026-03-01T00:00:00Z",
"completed_at": "2026-03-01T00:00:12Z"
}
]
}

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"