Creates an on-demand screening check or risk report against the specified check type.
AML checks (sanction, pep, adverse_media, warning) screen a person against
global watchlists including OFAC/SDN, EU/UN/UK sanctions, and PEP databases. Requires
name_first and name_last; optionally include birthdate for higher-accuracy matching.
PEP checks return a pep_risk_tier (critical/high/medium/low) and pep_recommended_action.
Risk checks (email_risk, phone_risk, ip_risk) run basic fraud signal analysis
using internal providers.
Enhanced checks (email_risk_enhanced, phone_risk_enhanced, address_validation, ssn_verification)
use premium third-party providers for deeper analysis. These require
the corresponding feature to be enabled on your plan.
Use POST /checks/full to run multiple check types in a single request.
Organization API key. Keys are prefixed with vk_live_ (production) or
vk_sandbox_ (sandbox).
API version date string (e.g. 2026-02-01). If omitted, the version
pinned to your API key is used.
Unique key for idempotent requests. Cached for 24 hours. Sending the
same key with different parameters returns 422.
The type of check to run. AML types require name_first/name_last.
Risk types require the relevant input field (email, phone, or ip_address).
Enhanced types require plan-level feature enablement.
Subject’s date of birth (ISO 8601). Improves AML match accuracy.
Two-letter country code (ISO 3166-1 alpha-2).
Required for email_risk and email_risk_enhanced checks.
Required for phone_risk and phone_risk_enhanced checks. E.164 format.
Required for ip_risk checks. IPv4 or IPv6.
Required for address_validation checks.
Social Security Number. Required for ssn_verification checks. Accepts dashed (123-45-6789) or undashed format. US only. Stored encrypted; never returned in responses.
Enable continuous monitoring (AML check types only, requires Professional+ plan).
The type of check. Categories:
sanction, pep, adverse_media, warning — screen against global sanctions, PEP, and adverse-media watchlistsemail_risk, phone_risk, ip_risk — lightweight risk scoringemail_risk_enhanced, phone_risk_enhanced, address_validation, ssn_verification — deep provider-backed analysisCheck status. pending = still processing, clear = no matches/low risk,
hit = matches found or high risk, error = provider failure.
Number of screening hits found (AML checks) or 0/1 for risk checks.
Sanitized provider category for the check (e.g.,
aml_screening, email_risk, phone_risk, address_verification).
Raw vendor identifiers are scrubbed at the API boundary — the
underlying vendor name is never exposed to API clients.
Whether ongoing monitoring is enabled for this check (AML only).
Whether this check was created in sandbox mode (uses test data).
PEP risk classification tier. Only present for pep check type.
Recommended action based on PEP risk tier. Only present for pep check type.
When check data was redacted (GDPR). Only present if redacted.
Provider result data. Structure varies by check type:
{match_count, highest_score, ...}{risk_score, risk_level, deliverable, fraud_score, ...}Screening hits (matches). Only included when fetching check detail.