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/amlScreen an individual against sanctions, PEP, and adverse media databases.
Request Body
| Parameter | Type | Description |
|---|---|---|
userIdrequired | string | Your internal user identifier |
fullNamerequired | string | Full legal name of the individual |
dateOfBirth | string | Date of birth (YYYY-MM-DD) for improved matching accuracy |
nationality | string | ISO 3166-1 alpha-2 country code |
documentNumber | string | ID or passport number for additional matching |
matchThreshold | number | Fuzzy match threshold 0.0–1.0 (default: 0.85) |
lists | string[] | 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/batchScreen multiple individuals in a single request (up to 100 per batch).
Request Body
| Parameter | Type | Description |
|---|---|---|
subjectsrequired | array | Array of screening subjects (same fields as single check) |
callbackUrl | string | Webhook 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/:idRetrieve 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/:userIdList all AML screening results for a specific user.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
page | number | Page number (default: 1) |
limit | number | Items 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
| Parameter | Type | Description |
|---|---|---|
LOW | risk | No matches found across all checked lists |
MEDIUM | risk | Partial or low-confidence matches found — review recommended |
HIGH | risk | Strong match against sanctions, PEP, or law enforcement lists |
Webhook Events
| Parameter | Type | Description |
|---|---|---|
aml.clear | event | AML screening completed with no matches |
aml.flagged | event | AML screening found one or more matches |
aml.batch_complete | event | Batch screening completed |