VerifyHQ Docs

AML Screening

Screen individuals and entities against global sanctions lists, PEP (Politically Exposed Persons) databases, adverse media, and law enforcement watchlists. Covers OFAC, UN, EU, AU, ECOWAS, and UEMOA lists with daily updates.

Compliance Note
AML screening is required for regulated financial services in UEMOA and CEMAC zones. Results should be reviewed by your compliance team before making onboarding decisions.
POST/screening/aml

Screen an individual against sanctions, PEP, and adverse media databases.

Request Body

ParameterTypeDescription
userIdrequiredstringYour internal user identifier
fullNamerequiredstringFull legal name of the individual
dateOfBirthstringDate of birth (YYYY-MM-DD) for improved matching accuracy
nationalitystringISO 3166-1 alpha-2 country code
documentNumberstringID or passport number for additional matching
matchThresholdnumberFuzzy match threshold 0.0–1.0 (default: 0.85)
listsstring[]Specific lists to check: SANCTIONS, PEP, ADVERSE_MEDIA, LAW_ENFORCEMENT. Default: all.

Code Examples

curl -X POST https://api.verifyhq.com/v1/screening/aml \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "userId": "user_123",
    "fullName": "Adebayo Ogunlesi",
    "dateOfBirth": "1990-05-15",
    "nationality": "NG",
    "matchThreshold": 0.85
  }'

Response

200 OKjson
{
  "id": "aml_abc123",
  "userId": "user_123",
  "status": "CLEAR",
  "riskLevel": "LOW",
  "matchCount": 0,
  "matches": [],
  "listsChecked": ["SANCTIONS", "PEP", "ADVERSE_MEDIA", "LAW_ENFORCEMENT"],
  "checkedAt": "2026-02-18T13:00:02Z"
}
POST/screening/aml/batch

Screen multiple individuals in a single request (up to 100 per batch).

Request Body

ParameterTypeDescription
subjectsrequiredarrayArray of screening subjects (same fields as single check)
callbackUrlstringWebhook URL for results when batch processing completes
curl -X POST https://api.verifyhq.com/v1/screening/aml/batch \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "subjects": [
      { "userId": "user_1", "fullName": "Moussa Konaté", "nationality": "ML" },
      { "userId": "user_2", "fullName": "Aïcha Touré", "nationality": "SN" }
    ],
    "callbackUrl": "https://yourapp.com/webhooks/aml"
  }'

Response

202 Acceptedjson
{
  "batchId": "batch_xyz789",
  "totalSubjects": 2,
  "status": "PROCESSING",
  "createdAt": "2026-02-18T13:00:00Z"
}
GET/screening/aml/:id

Retrieve the result of a specific AML screening.

curl https://api.verifyhq.com/v1/screening/aml/aml_abc123 \
  -H "X-API-Key: your_api_key"

Response (with match)

200 OKjson
{
  "id": "aml_def456",
  "userId": "user_456",
  "status": "FLAGGED",
  "riskLevel": "HIGH",
  "matchCount": 1,
  "matches": [
    {
      "listName": "PEP",
      "matchScore": 0.92,
      "matchedName": "Adebayo O. Ogunlesi",
      "category": "POLITICALLY_EXPOSED",
      "details": "Former government official, Nigeria",
      "source": "ECOWAS PEP Database",
      "lastUpdated": "2026-01-10"
    }
  ],
  "checkedAt": "2026-02-18T13:00:02Z"
}
GET/screening/aml/user/:userId

List all AML screening results for a specific user.

Query Parameters

ParameterTypeDescription
pagenumberPage number (default: 1)
limitnumberItems per page (default: 20, max: 100)
curl "https://api.verifyhq.com/v1/screening/aml/user/user_123?page=1&limit=10" \
  -H "X-API-Key: your_api_key"

Risk Levels

ParameterTypeDescription
LOWriskNo matches found across all checked lists
MEDIUMriskPartial or low-confidence matches found — review recommended
HIGHriskStrong match against sanctions, PEP, or law enforcement lists

Webhook Events

ParameterTypeDescription
aml.cleareventAML screening completed with no matches
aml.flaggedeventAML screening found one or more matches
aml.batch_completeeventBatch screening completed