# AML Screening Check

## Run an AML screening check

To run an AML Screening Check, you must [create a check ](https://docs.complycube.com/documentation/api-reference/core-resources/checks/create-a-check)with `type` set to:

1. `standard_screening_check`, or
2. `extensive_screening_check`

For a [client](https://docs.complycube.com/documentation/api-reference/core-resources/clients) 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](https://app.gitbook.com/s/KyFKMqftsmT6qln9zo5y/watchlist-pep-and-adverse-media/aml-screening-check).

{% hint style="info" %}
The more data you provide for a client, the more accurate the AML Screening Check results. This will ultimately reduce the number of potential 'false positive' matches.
{% endhint %}

{% hint style="info" %}
It is highly recommended that you provide the client's **date of birth** in addition to the first and last names of **persons**.
{% endhint %}

## Check request

<table><thead><tr><th width="246.1972549521724">Attribute</th><th width="104">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>clientId</code></td><td>string</td><td>The ID of the client associated with this check. (<strong>Required</strong>)</td></tr><tr><td><code>type</code></td><td>string</td><td><p>The type of AML screening check. Valid values include: </p><ol><li><code>standard_screening_check</code> </li><li><code>extensive_screening_check</code></li></ol><p>(<strong>Required</strong>)</p></td></tr><tr><td><code>enableMonitoring</code></td><td>boolean</td><td>Determines whether continuous monitoring is enabled. When not provided, it defaults to <strong>false</strong>. (<em>Optional</em>)</td></tr><tr><td><code>options</code></td><td>object</td><td>The optional settings for the check. Also, see the <a href="#the-options-object">options</a> object below. (<em>Optional</em>)</td></tr></tbody></table>

### The `options` object&#x20;

<table><thead><tr><th width="292.49234821088834">Attribute</th><th width="443.1219066187961">Description</th></tr></thead><tbody><tr><td><code>screeningListsScope</code></td><td><p><strong>Type</strong>: <code>object</code><br></p><p>The scope of lists to search as part of a screening check. See the <a href="#the-screeninglistsscope-object"><code>screeningListsScope</code></a> below.</p><p></p><p>When this attribute is not provided, we will search all eligible lists.</p></td></tr><tr><td><code>screeningNameSearchMode</code></td><td><p><strong>Type</strong>: <code>string</code><br></p><p>The name matching technique to apply:</p><p></p><ol><li><code>fuzzy</code>: applies various linguistic, phonetic, and near-match techniques on names to find matches.</li><li><code>precise</code><strong>:</strong> only matches names that are exact</li></ol><p>When this attribute is not provided, we will use <strong>fuzzy</strong> name matching.</p></td></tr><tr><td><code>screeningClassification</code></td><td><p><strong>Type</strong>: <code>array[string]</code><br></p><p>The match classifications to include as part of a screening check. Valid values include:</p><p></p><ol><li><code>pepLevel1</code></li><li><code>pepLevel2</code></li><li><code>pepLevel3</code></li><li><code>pepLevel4</code></li><li><code>watchlistSanctionsLists</code></li><li><code>watchlistOtherOfficialLists</code></li><li><code>watchlistWarCrimes</code></li><li><code>watchlistTerror</code></li><li><code>watchlistOtherExclusionLists</code></li><li><code>watchlistSanctionsControlAndOwnership</code></li><li><code>adverseMediaEnvironmentProduction</code></li><li><code>adverseMediaSocialLabour</code></li><li><code>adverseMediaCompetitiveFinancial</code></li><li><code>adverseMediaRegulatory</code></li><li><code>otherListsAssociatedEntity</code></li><li><code>otherListsOrganisedCrime</code></li><li><code>otherListsFinancialCrime</code></li><li><code>otherListsTaxCrime</code></li><li><code>otherListsCorruption</code></li><li><code>otherListsTrafficking</code></li></ol><p>When this attribute is not provided, we will conduct a search against all eligible classifications.</p></td></tr></tbody></table>

### The `screeningListsScope` object&#x20;

| **Attribute** | **Description**                                                                                                                                                                                                                                                                                                       |
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `mode`        | <p><strong>Type</strong>: <code>string</code><br></p><p>The criteria to apply to the lists when performing a screening search. Valid values include:</p><ol><li><code>inclusion</code></li><li><code>exclusion</code></li></ol><p>When this attribute is not provided, it will default to <code>inclusion</code>.</p> |
| `lists`       | <p><strong>Type</strong>: <code>array\[string]</code><br></p><p>The lists to include or exclude as part of the screening search.</p>                                                                                                                                                                                  |

## Example requests

#### Simple request

{% tabs %}
{% tab title="cURL" %}

```bash
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"
        }'
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
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"
});
```

{% endtab %}

{% tab title="Python" %}

```python
from complycube import ComplyCubeClient

cc_api = ComplyCubeClient(api_key='<YOUR_API_KEY>')

check = cc_api.checks.create('CLIENT_ID','extensive_screening_check')
```

{% endtab %}

{% tab title="PHP" %}

```php
use ComplyCube\ComplyCubeClient;

$ccapi = new ComplyCubeClient('<YOUR_API_KEY>');

$result = $ccapi->checks()->create('CLIENT_ID', [
    'type' => 'extensive_screening_check'
]);
```

{% endtab %}

{% tab title=".NET" %}

```csharp
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);
```

{% endtab %}
{% endtabs %}

#### Request with optional attributes

{% tabs %}
{% tab title="cURL" %}

```bash
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"]
          	}
          }
        }'
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
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"]
        }
    }
});
```

{% endtab %}

{% tab title="Python" %}

```python
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)
```

{% endtab %}

{% tab title="PHP" %}

```php
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);
```

{% endtab %}

{% tab title=".NET" %}

```csharp
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);
```

{% endtab %}
{% endtabs %}

## 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:

1. `clear`: Indicates ComplyCube found no matches.
2. `attention`: Indicates ComplyCube found potentials matches.

{% hint style="info" %}
All summary results will either return `clear`, `attention`, or `not_processed`. The value `not_processed` is expected to return on **Standard AML Screening** checks, as the service [coverage scope](https://docs.complycube.com/documentation/checks/aml-screening-check#standard-and-extensive-aml-screening-differences) is a subset of an **Extensive AML Screening**.
{% endhint %}

#### Breakdown

The breakdown comprises the following objects:

#### `summary` object

The outcome summary of the check. For each conducted check, the returned values include:

1. `clear`: Indicates no matches were found on the corresponding database.
2. `attention`: Indicates potential matches found on the corresponding database.
3. `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](https://docs.complycube.com/documentation/checks/aml-screening-check#standard-and-extensive-aml-screening-differences).

#### The `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:

  * `sanctionsList`
  * `terror`
  * `warCrimes`
  * `otherOfficialLists`
  * `otherExclusionLists`
  * `sanctionsControlAndOwnership`

* `pep` : Contains the outcome for checks against the Politically Exposed Persons (PEP) database, with matches classified as per the levels described [here](https://docs.complycube.com/documentation/checks/aml-screening-check#pep-levels-explained).

  * `level1`
  * `level2`
  * `level3`
  * `level4`

* `adverseMedia` : Contains the outcome for checks against the Adverse Media database, with matches classified with one or more of the following values:

  * `competitiveFinancial`
  * `regulatory`:&#x20;
  * `environmentProduction`
  * `socialLabour`

* `otherLists` : Contains the outcome for checks conducted against other prudent lists, with matches classified with one or more of the following values:
  * `taxCrime`
  * `corruption`
  * `trafficking`
  * `financialCrime`
  * `organisedCrime`
  * `associatedEntity`

#### `matches` array

The 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. <br>
* `score`: The match score, as calculated by ComplyCube. A higher score indicates a closer match.<br>
* `details`: This contains the details of a match.

  * `entityName`: The full name of the matched entity.

  * `entityType`: The type of matched entity. Values include:

    * `person`
    * `company`

  * `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](#the-summary-object-has-the-following-constituents) key.

  * `names`: An array of `name` objects that contain all known aliases for the match. The `name` object 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 for `person` and `company`.

  * `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](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).&#x20;

  * `birthPlaces`: An array of strings that contain all known birthplaces for the match.

  * `gender`: The gender of the match, if of type `person`. Values include:
    * `male`
    * `female`
    * `other`

  * `deceased`: A boolean that indicates whether the match is deceased.

  * `occupations`: An array of `occupation` objects that contain all known occupations for the match. This is only returned when the match is a Politically Exposed Person (PEP).  The `occupation` object 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](https://docs.complycube.com/documentation/api-reference/core-resources/checks#structured-date-format).
    * `toDate`: The occupation end date. This will be a  [structured date](https://docs.complycube.com/documentation/api-reference/core-resources/checks#structured-date-format).

  * `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](https://docs.complycube.com/documentation/api-reference/core-resources/checks#structured-date-format).

  * `addresses`: An array of `address` objects that contain known associated countries for the match. The `address` object 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](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).&#x20;

  * `references`: An array of `reference` objects that contain list references for the match.  The `reference` object has the following attributes:
    * `source`: The source name.
    * `fromDate`: The start date of the source's validity. This will be a [structured date](https://docs.complycube.com/api-reference/checks#structured-date-format).
    * `toDate`: The end date of the source's validity. This will be a [structured date](https://docs.complycube.com/documentation/api-reference/core-resources/checks#structured-date-format).

  * `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

```json
{
   "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"
}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.complycube.com/documentation/api-reference/check-types/aml-screening-check.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
