> ## Documentation Index
> Fetch the complete documentation index at: https://docs.frankieone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AML Result Set Elements

A complete set of AML results will be an array of one or more `AMLResultSet` objects - one per person who matches your search criteria.

Each `AMLResultSet` has up to 5 sections that will break down the AML result into its constituent parts.

Each section contains one or more [BackgroundCheckResultObject (BCRO)](/docs/v1/kyc/aml-results/background-check-result-object)‘s that hold the results of a check. The fields of a **BCRO** are described in [this page](/docs/v1/kyc/aml-results/background-check-result-object), but the real detail of the results is in the [Key Value Pair (KVP)](/docs/v1/api/guide-to-the-api/common-api-objects-fields/key-value-pairs) array called `checkDetails`.

The following details each section’s contents and the nature of the **KVPs** that can be found.\
For the most part, the contents of the KVP (the `keyValue`) will be a string that can be displayed directly (unless otherwise specified)

## groupDetails

The *groupDetails* section of an **AMLResultSet** (`BCRO.backgroundCheckType: GROUP`) contains summary data for the AML match. There will only be one GROUP record.

In a *groupDetails* section you will find:

* Search and matching criteria and scores
* A list of aliases/AKA’s.
* Any associates, such as spouses/family.
* Internal administrative data, such as external IDs and check configurations.
* External document references.
* Link to a photo if available.

`kvpName`s will use the following format/rules:

* `aml.*` - these are search and match criteria
* `aml.search_entity_aka` - this is a comma separate list of names that are aliases for the person found in the search
* `aml.*.matched` - this will cover the parameters that matched such as `name` and `search_countries`
* `aml.search_entity_associate.*` - a single associate, where the \* is the relationship, like “`child`”, or “`partner`”.
  * The **kvpValue** will be the name of the associate.
  * There will be a need to cycle through all the `aml_search_entity_associate.*` KVPs to get the full list.
* `aml.search_imageurl` - if available, a link to a photo of the matched person in question.
* `aml.datasource.text.*n*` - if available, these will be additional notes added to the matched record. *n* is an incrementing number starting at 0 and continuing on until there are no more notes.
* `aml.search_result.score` - match strength from the AML service provider. The higher the value the stronger the match.

## checkResultsListPEP

The ***checkResultsList***

PEP section of an **AMLResultSet** (`BCRO.backgroundCheckType: PEP`) contains an array of all the PEP records for the matched person.

Each record will represent a single PEP listing. For career politicians, there can often be many (10+) of these.

`kvpName`s will use the following format/rules:

* `bcro.*` - internal references, not required for display processing
* `aml.*` - this is a search and match criteria
* `SOURCE.*` - These describe the source of the entry, such as pep level and any underlying list details
  * possible values for \* can be:
    * `name` (the name of the list)
    * `url` - source URL of the list.
    * `listing_started` - a date when first added to the list.
    * `listing_ended` - a date when removed from the list
    * `country_codes` - comma-separated list of ISO-3166-alpha2 country codes that this listing applies to
    * `aml_types` - the sub type, such as *pep-level-1* or *sanction*
* `Related URL` - can be repeated. Will be a URL to external references
* `reference.doc.*n*` - External document links. `*n*` is an integer counter that starts at 0 and continues on until there are no more
* `doc.reference.*n*` - Alternate form `reference.doc.*n*` for external document links. `*n*` is an integer counter that starts at 0 and continues on until there are no more.
* All others - the kvpName will be a usable title to display the kvpValue directly.

## checkResultsListSanctions

The ***checkResultsListSanctions*** section of an **AMLResultSet** (`BCRO.backgroundCheckType: SANCTION`) contains an array of all the Sanction records for the matched person.

Each record will represent a single Sanction listing.

the **kvpNaming** rules and values are identical to those above in **checkResultsListPEP**

## checkResultsListWatchlists

The ***checkResultsListWatchlists*** section of an **AMLResultSet** (`BCRO.backgroundCheckType: WATCHLIST`) contains an array of all the non-PEP and non-Sanctions records for the matched person.

Each record will represent a single Watchlist listing.

the **kvpNaming** rules and values are identical to those above in **checkResultsListPEP** along with the following additions:

* `aml.datasource.text.title` - When Watchlists are given as aggregate articles, rather than specific lists, this will be the title of the `doc.reference` link (if available).
* `aml.datasource.text.summary` - When Watchlists are given as aggregate articles, rather than specific lists, this will be a short text summary of the `doc.reference` link (if available).
* `aml.datasource.date` - When the watchlist article was captured (if available).

## checkResultsListMedia

The ***checkResultsListMedia*** section of an **AMLResultSet** (`BCRO.backgroundCheckType: MEDIA`) contains an array of 2 or more media records for the matched person.

There are 2 types of MEDIA BCROs:

The first type will be similar to the above PEP/Sanctions BCROs with similar kvp fields. These describe all the adverse media listing groups that the list of articles has been drawn from.

There will only ever be one of the second type of **MEDIA BCRO**. This will have a KVP with a `kvpName` of **`MediaDetails`** , this will be a base64 (standard encoding, not URLencoded) blob which when decoded will have the following structure:

```json media articles list  theme={null}
    [
      {
        "date": "YYYY-MM-DD",
        "title": "The article headline",
        "url": "The link to the original article",
        "snippet": "A short description of the article"
      },
      {
        "date": "YYYY-MM-DD",
        "title": "The article headline",
        "url": "The link to the original article",
        "snippet": "A short description of the article"
      },
    ]  
```
