AML Screening Check
Screen clients against ComplyCube's Sanctions & Watchlists, PEP, and Adverse Media database.
Run an AML screening check
To run an AML Screening Check, you must create a check with type set to:
standard_screening_check, orextensive_screening_check
For a client of type person, you can run an AML Screening Check when the firstName and lastName are present. For a company, only the name is required.
Learn about AML Screening Checks.
Check request
clientId
string
The ID of the client associated with this check. (Required)
type
string
The type of AML screening check. Valid values include:
standard_screening_checkextensive_screening_check
(Required)
enableMonitoring
boolean
Determines whether continuous monitoring is enabled. When not provided, it defaults to false. (Optional)
The options object
options object screeningListsScope
Type: object
The scope of lists to search as part of a screening check. See the screeningListsScope below.
When this attribute is not provided, we will search all eligible lists.
screeningNameSearchMode
Type: string
The name matching technique to apply:
fuzzy: applies various linguistic, phonetic, and near-match techniques on names to find matches.precise: only matches names that are exact
When this attribute is not provided, we will use fuzzy name matching.
screeningClassification
Type: array[string]
The match classifications to include as part of a screening check. Valid values include:
pepLevel1pepLevel2pepLevel3pepLevel4watchlistSanctionsListswatchlistOtherOfficialListswatchlistWarCrimeswatchlistTerrorwatchlistOtherExclusionListswatchlistSanctionsControlAndOwnershipadverseMediaEnvironmentProductionadverseMediaSocialLabouradverseMediaCompetitiveFinancialadverseMediaRegulatoryotherListsAssociatedEntityotherListsOrganisedCrimeotherListsFinancialCrimeotherListsTaxCrimeotherListsCorruptionotherListsTrafficking
When this attribute is not provided, we will conduct a search against all eligible classifications.
The screeningListsScope object
screeningListsScope object Attribute
Description
mode
Type: string
The criteria to apply to the lists when performing a screening search. Valid values include:
inclusionexclusion
When this attribute is not provided, it will default to inclusion.
lists
Type: array[string]
The lists to include or exclude as part of the screening search.
Example requests
Simple request
curl -X POST https://api.complycube.com/v1/checks \
-H 'Authorization: <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"clientId":"CLIENT_ID",
"type": "extensive_screening_check"
}'const { ComplyCube } = require("@complycube/api");
const complycube = new ComplyCube({ apiKey: "<YOUR_API_KEY>" });
const check = await complycube.check.create("CLIENT_ID", {
type: "extensive_screening_check"
});from complycube import ComplyCubeClient
cc_api = ComplyCubeClient(api_key='<YOUR_API_KEY>')
check = cc_api.checks.create('CLIENT_ID','extensive_screening_check')use ComplyCube\ComplyCubeClient;
$ccapi = new ComplyCubeClient('<YOUR_API_KEY>');
$result = $ccapi->checks()->create('CLIENT_ID', [
'type' => 'extensive_screening_check'
]);using ComplyCube.Net;
using ComplyCube.Net.Resources.Checks;
var checkApi = new CheckApi(new ComplyCubeClient("<YOUR_API_KEY>"));
var checkRequest = new CheckRequest {
clientId = "CLIENT_ID",
type = "extensive_screening_check"
};
var check = await checkApi.CreateAsync(checkRequest);Request with optional attributes
curl -X POST https://api.complycube.com/v1/checks \
-H 'Authorization: <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"clientId":"CLIENT_ID",
"type": "extensive_screening_check",
"enableMonitoring": true,
"options":{
"screeningClassification": ["otherListsFinancialCrime"],
"screeningNameSearchMode": "precise",
"screeningListsScope": {
"mode": "inclusion",
"lists": ["Companies House (UK) Disqualified Directors"]
}
}
}'const { ComplyCube } = require("@complycube/api");
const complycube = new ComplyCube({ apiKey: "<YOUR_API_KEY>" });
const check = await complycube.check.create("CLIENT_ID", {
type: "extensive_screening_check",
enableMonitoring: true,
options: {
screeningClassification: ["otherListsFinancialCrime"],
screeningNameSearchMode: "precise",
screeningListsScope": {
mode:"inclusion",
lists: ["Companies House (UK) Disqualified Directors"]
}
}
});from complycube import ComplyCubeClient
cc_api = ComplyCubeClient(api_key='<YOUR_API_KEY>')
options = {
'screeningClassification': ['otherListsFinancialCrime'],
'screeningNameSearchMode': 'precise',
'screeningListsScope': {
'mode':'inclusion',
'lists': ['Companies House (UK) Disqualified Directors']
}}
check = cc_api.checks.create( 'CLIENT_ID',
'extensive_screening_check',
options=options)use ComplyCube\ComplyCubeClient;
$ccapi = new ComplyCubeClient('<YOUR_API_KEY>');
$check = [ 'type' => 'extensive_screening_check',
'options' => [
'screeningClassification' => ['pepLevel1'],
'screeningNameSearchMode' => 'precise',
'screeningListsScope' => [
'mode' => 'inclusion',
'lists' => ['Companies House (UK) Disqualified Directors']
]
]
];
$result = $ccapi->checks()->create('CLIENT_ID', $check);using ComplyCube.Net;
using ComplyCube.Net.Resources.Checks;
var checkApi = new CheckApi(new ComplyCubeClient("<YOUR_API_KEY>"));
var checkRequest = new CheckRequest
{
clientId = "CLIENT_ID",
type = "extensive_screening_check"
};
checkRequest.options = new CheckRequestOptions {
screeningClassification = new string[] { "pepLevel1" },
screeningNameSearchMode = "precise",
analysisCoverage = new string[] {
"consistency_analysis",
"forensic_analysis" }};
var check = await checkApi.CreateAsync(checkRequest);Result object
The result object is only returned when the status of the check is complete . It has two components - outcome and breakdown.
Outcome
The outcome attribute represents the overall check result. Returned values include:
clear: Indicates ComplyCube found no matches.attention: Indicates ComplyCube found potentials matches.
Breakdown
The breakdown comprises the following objects:
summary object
summary objectThe outcome summary of the check. For each conducted check, the returned values include:
clear: Indicates no matches were found on the corresponding database.attention: Indicates potential matches found on the corresponding database.not_processed: Returned when the corresponding database has not been checked. This is to be expected for Standard AML Screening checks, as the coverage scope is a subset of an Extensive AML Screening check as highlighted on the service page.
The summary object has the following constituents:
summary object has the following constituents:watchlist: Contains the outcome for checks against the Sanctions & Watchlist database, with matches classified with one or more of the following values:sanctionsListterrorwarCrimesotherOfficialListsotherExclusionListssanctionsControlAndOwnership
pep: Contains the outcome for checks against the Politically Exposed Persons (PEP) database, with matches classified as per the levels described here.level1level2level3level4
adverseMedia: Contains the outcome for checks against the Adverse Media database, with matches classified with one or more of the following values:competitiveFinancialregulatory:environmentProductionsocialLabour
otherLists: Contains the outcome for checks conducted against other prudent lists, with matches classified with one or more of the following values:taxCrimecorruptiontraffickingfinancialCrimeorganisedCrimeassociatedEntity
matches array
matches arrayThe matches array contains a list of match objects, which contain the details of the entity that matched with the screened client's details. For each match object has the following constituents:
id: The unique identifier for a match.score: The match score, as calculated by ComplyCube. A higher score indicates a closer match.details: This contains the details of a match.entityName: The full name of the matched entity.
entityType: The type of matched entity. Values include:personcompany
classifications: This contains key and string array pairs that classify the match. Possible values of the key and associated string array will align with the summary object's key.
names: An array ofnameobjects that contain all known aliases for the match. Thenameobject has the following attributes:type: The type of name. Values include:primary: The Latin name by which entity is primarily or legally known as.alias: An alias by which the entity is also known as.localised_name: The entity name as transcribed or known in languages or scripts such as Arabic, Cyrillic, Sanskrit, and so forth.
firstName: The match's first name.middleName: The match's middle name.lastName: The match's last name.entityName: The match's complete name, returned forpersonandcompany.
countries: An array of value pair objects covering known associated countries for the match.type: The type of association.country: The country. This will be the two-letter country ISO code.
birthPlaces: An array of strings that contain all known birthplaces for the match.
gender: The gender of the match, if of typeperson. Values include:malefemaleother
deceased: A boolean that indicates whether the match is deceased.
occupations: An array ofoccupationobjects that contain all known occupations for the match. This is only returned when the match is a Politically Exposed Person (PEP). Theoccupationobject has the following attributes:type: The type of occupation.category: The category of the occupation.title: The role title.fromDate: The occupation start date. This will be a structured date.toDate: The occupation end date. This will be a structured date.
dates: An array of value pair objects covering important dates associated with the match.type: The type of date.data: The date. This will be a structured date.
addresses: An array ofaddressobjects that contain known associated countries for the match. Theaddressobject has the following attributes:line: The line of the address.city: The city or town of the address.postalCode: The post or zip code of the client's address.country: The country of the address. This will be the two-letter country ISO code.
references: An array ofreferenceobjects that contain list references for the match. Thereferenceobject has the following attributes:source: The source name.fromDate: The start date of the source's validity. This will be a structured date.toDate: The end date of the source's validity. This will be a structured date.
identifications: An array of value pair objects covering known identifications associated with the match.type: The type of identification.value: The value or reference associated with the identification.
images: An array of strings that contain URIs of images for the match.
Sample response
{
"id": "5ebe587ffd7de4000876118e",
"entityName": "Viktor Shayman",
"type": "extensive_screening_check",
"clientId": "5ebe587bfd7de4000876118d",
"status": "complete",
"enableMonitoring": false,
"result": {
"outcome": "attention",
"breakdown": {
"summary": {
"otherLists": {
"associatedEntity": "attention",
"organisedCrime": "clear",
"financialCrime": "clear",
"taxCrime": "clear",
"corruption": "clear",
"trafficking": "clear"
},
"pep": {
"level2": "attention",
"level3": "attention",
"level1": "attention",
"level4": "clear"
},
"watchlist": {
"sanctionsLists": "clear",
"otherOfficialLists": "clear",
"warCrimes": "clear",
"terror": "clear",
"otherExclusionLists": "clear",
"sanctionsControlAndOwnership": "clear"
},
"adverseMedia": {
"environmentProduction": "clear",
"socialLabour": "clear",
"competitiveFinancial": "clear",
"regulatory": "clear"
}
},
"matches": [
{
"id": "5ebe5880fd7de4000876118f",
"score": 100,
"status": "attention",
"details": {
"entityName": "Viktor Vladimirovich Sheyman",
"entityType": "person",
"gender": "male",
"deceased": false,
"names": [
{
"type": "primary",
"firstName": "Viktor",
"middleName": "Vladimirovich",
"lastName": "Sheyman",
"entityName": "Viktor Vladimirovich Sheyman"
},
{
"type": "localised_name",
"entityName": "Віктар Уладзіміравіч Шэйман"
},
{
"type": "localised_name",
"entityName": "Шейман Виктор Владимирович"
},
{
"type": "localised_name",
"entityName": "Виктор Владимирович Шейман"
},
{
"type": "alias",
"firstName": "Victor",
"middleName": "Vladimirovich",
"lastName": "Sheyman",
"entityName": "Victor Vladimirovich Sheyman"
},
{
"type": "alias",
"firstName": "Victor",
"middleName": "Vladimirovich",
"lastName": "Sheiman",
"entityName": "Victor Vladimirovich Sheiman"
}
],
"countries": [
{
"type": "Born in",
"country": "BY"
},
{
"type": "Citizenship",
"country": "BY"
},
{
"type": "Resident of",
"country": "BY"
},
{
"type": "Jurisdiction",
"country": "BY"
}
],
"birthPlaces": [
"Grodno region,Belarus",
"Hrodna region,Belarus",
"Soltanishka, Voronovskovo,Belarus",
"Soltanishki,Belarus",
"Belarus"
],
"occupations": [
{
"type": "Primary Occupation",
"category": "Senior Civil Servants-National Government",
"title": "Head, President's Office",
"fromDate": {
"day": "21",
"month": "01",
"year": "2013"
}
},
{
"type": "Previous Roles",
"category": "Senior Civil Servants-National Government",
"title": "State Secretary, National Security Council",
"fromDate": {
"day": "20",
"month": "03",
"year": "2006"
},
"toDate": {
"day": "08",
"month": "07",
"year": "2008"
}
},
{
"type": "Previous Roles",
"category": "Senior Civil Servants-National Government",
"title": "State Secretary, National Security Council",
"fromDate": {
"month": "12",
"year": "1995"
},
"toDate": {
"year": "2000"
}
},
{
"type": "Previous Roles",
"category": "Senior Members of the Judiciary",
"title": "Prosecutor General",
"fromDate": {
"year": "2000"
},
"toDate": {
"month": "11",
"year": "2004"
}
},
{
"type": "Previous Roles",
"category": "Senior Civil Servants-National Government",
"title": "Presidential Aide for Special Missions",
"fromDate": {
"month": "01",
"year": "2013"
},
"toDate": {
"day": "21",
"month": "01",
"year": "2013"
}
},
{
"type": "Previous Roles",
"category": "Senior Civil Servants-National Government",
"title": "State Secretary, National Security Council",
"fromDate": {
"day": "05",
"month": "08",
"year": "1994"
},
"toDate": {
"month": "10",
"year": "1995"
}
},
{
"type": "Previous Roles",
"category": "National Government Ministers",
"title": "Minister of Interior",
"fromDate": {
"month": "10",
"year": "1995"
},
"toDate": {
"month": "12",
"year": "1995"
}
},
{
"type": "Previous Roles",
"category": "Senior Civil Servants-National Government",
"title": "Head, Presidential Administration",
"fromDate": {
"month": "11",
"year": "2004"
},
"toDate": {
"day": "04",
"month": "01",
"year": "2006"
}
}
],
"dates": [
{
"type": "Date of Birth",
"date": {
"day": "26",
"month": "05",
"year": "1958"
}
}
],
"references": [
{
"source": "EC 2015/1949 Belarus List",
"fromDate": {
"day": "29",
"month": "10",
"year": "2015"
}
},
{
"source": "EC (CFSP) 2015/1957 Belarus List",
"fromDate": {
"day": "29",
"month": "10",
"year": "2015"
}
},
{
"source": "EC 2016/276 Belarus List",
"fromDate": {
"day": "25",
"month": "02",
"year": "2016"
}
},
{
"source": "EC (CFSP) 2016/280 Belarus List",
"fromDate": {
"day": "25",
"month": "02",
"year": "2016"
}
},
{
"source": "French Economy Ministry - EU and UN Asset Freezing Measures",
"fromDate": {
"day": "30",
"month": "07",
"year": "2017"
}
}
],
"addresses": [
{
"line": "Karl Marx, 38",
"city": "Minsk",
"postalCode": "220016",
"country": "BY"
}
],
"identifications": [
{
"type": "OFAC Program ID",
"value": "BELARUS"
},
{
"type": "OFAC Unique ID",
"value": "9769"
},
{
"type": "EU Sanctions Programme Indicator",
"value": "BLR"
},
{
"type": "EU Consolidated Electronic List ID",
"value": "3411"
},
{
"type": "HM Treasury Group ID",
"value": "8904"
},
{
"type": "SECO SSID",
"value": "4596"
}
],
"images": [
"https://naviny.com/c/b0/b06235bad25e89f92f5ffe89676e8589.jpg",
"http://pmrb.gov.by/images/shejman.jpg"
],
"classifications": {
"pep": [
"level2",
"level1"
]
}
},
"breakdown": [
{
"fieldName": "name",
"riskWeight": 100,
"breakdowns": [],
"fieldValue": "viktor uladzimiravich sheyman",
"score": 93,
"riskWeightedScore": 93,
"normalisedScore": 100
}
]
}
]
}
},
"createdAt": "2020-05-15T08:53:20.307Z",
"updatedAt": "2020-05-15T08:53:20.307Z"
}}Last updated
Was this helpful?