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

# AML Screening

> AML Screening API Documentation

# AML Screening API - Detailed Documentation

The AML Screening API provides functionality for screening individuals against sanctions, politically exposed persons (PEP), and other risk lists.

### API Playground:

<Tabs>
  <Tab title="/aml/checkIndividual">
    You can try the check individual endpoint [here](/api-reference/endpoint/aml_checkIndividual).
  </Tab>
</Tabs>

### Endpoints Overview

1. **Check Individual**: Screen an individual against AML datasets (PEP, sanctions, and related lists).
2. **Ongoing Monitoring**:
   * Register Individual
   * Register Entity
   * Remove Search Profile

***

## Authentication

To access the Address Verification API, authentication is required. A **Bearer Token** must be included in every request.

* Tokens are **valid for 60 minutes** and must be refreshed after expiration.
* Refer to the [Authentication](../authentication) for detailed steps on obtaining a token.
* Include the token in the `Authorization` header as follows:

Authorization: Bearer YOUR\_ACCESS\_TOKEN

## API Base URL

### Production:

```
https://api-umbrella.io/api/services
```

### Sandbox:

```
https://sandbox-umbrella-api.azurewebsites.net/api/services
```

***

## 1. Check Individual

### Endpoint

**POST** `/aml/checkIndividual`

### Description

Checks an individual against AML datasets (e.g. PEP and sanctions).\
You supply a name, optional date of birth, and search constraints (datasets, countries, threshold, matching mode) and receive a detailed profile for the best match, when found.

### Required Headers

| Header        | Value                    |
| ------------- | ------------------------ |
| Content-Type  | `application/json`       |
| Authorization | `Bearer yourAccessToken` |

### Request Body Parameters

<Accordion title="Request Body Parameters">
  | Field         | Type    | Required | Description                                                                                                                                                                                                                                                  |
  | ------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
  | `name`        | string  | Yes      | The full name of the person you are searching for. For best results use the format `"lastnames, firstnames middlenames"` (e.g. `"Johnson, Boris"`). Alternatively you can use `"firstnames middlenames lastnames"` if you do not know the precise last name. |
  | `dateOfBirth` | string  | No       | Date of birth in `YYYY-MM-DD` or `YYYY` format. Must be after 1900 and not in the future. Example: `"1964-06-19"`.                                                                                                                                           |
  | `countries`   | string  | Yes      | Comma-separated list of two-letter ISO-3166 country codes affecting both address and nationality. Example: `"NL,GB"`.                                                                                                                                        |
  | `datasets`    | string  | No       | Comma-separated list specifying which datasets will be searched. See **Datasets** below. Default: `"PEP,SAN"`.                                                                                                                                               |
  | `threshold`   | integer | No       | Match score threshold between `75` and `100`. Only profiles with a score equal or above this value are returned. Default is `85`. Example: `90`.                                                                                                             |
  | `matching`    | string  | No       | Name-matching algorithm. Either `"fuzzy"` (recommended, default) or `"strict"`. Fuzzy applies extensive fuzzy matching techniques to find likely matches; strict is more conservative and may miss matches if the exact name is not known.                   |
</Accordion>

<Accordion title="Datasets">
  The `datasets` parameter is a comma-separated string. Available options:

  * `PEP` – Politically Exposed Persons (all)
  * `PEP-CURRENT` – Only current PEPs
  * `PEP-FORMER` – Only former PEPs
  * `PEP-LINKED` – PEP by association / linked persons
  * `SAN` – Sanctioned (all)
  * `SAN-CURRENT` – Only current sanctions
  * `SAN-FORMER` – Only former sanctions
  * `INS` – Insolvency lists
  * `RRE` – Reputational Risk Exposure
  * `DD` – Disqualified Directors
  * `POI` – Profiles of Interest
  * `REL` – Regulatory Enforcement Lists
  * `GRI` – Gambling Risk Intelligence
</Accordion>

### Example Request

```json theme={null}
{
  "name": "Johnson, Boris",
  "dateOfBirth": "1964-06-19",
  "countries": "GB",
  "datasets": "PEP,SAN",
  "threshold": 90,
  "matching": "fuzzy"
}
```

### Response Structure

The response returns a JSON object containing a single person profile (the best match) from the AML check.

<Accordion title="Top-level Structure">
  | Field             | Type           | Description                                                                    |
  | ----------------- | -------------- | ------------------------------------------------------------------------------ |
  | `data`            | object         | Root object that wraps the person profile.                                     |
  | `data.type`       | string         | Resource type, for individuals this will be `"persons"`.                       |
  | `data.id`         | string         | System-specific internal identifier of the person profile.                     |
  | `data.attributes` | object         | Detailed attributes describing the person, risk exposure, and linked entities. |
  | `data.links`      | object or null | Optional hypermedia links if found.                                            |
</Accordion>

<Accordion title="data.attributes (Person Attributes)">
  | Field                     | Type            | Description                                                                                                          |
  | ------------------------- | --------------- | -------------------------------------------------------------------------------------------------------------------- |
  | `firstName`               | string          | Given name of the person.                                                                                            |
  | `middleName`              | string          | Middle name(s) of the person, if available.                                                                          |
  | `lastName`                | string          | Family name / surname of the person.                                                                                 |
  | `gender`                  | string          | Gender of the person, e.g. `Male`, `Female`, or `Unknown`.                                                           |
  | `datesOfBirthIso`         | string array    | List of known dates of birth in ISO `YYYY-MM-DD` format.                                                             |
  | `datesOfDeathIso`         | string array    | List of known dates of death in ISO format, if applicable.                                                           |
  | `nationalitiesIsoCodes`   | string array    | List of nationality country codes (ISO-3166-1 alpha-2), e.g. `["GB"]`.                                               |
  | `isDeceased`              | boolean         | Indicates whether the person is known to be deceased.                                                                |
  | `isDeleted`               | boolean         | Indicates whether the profile has been logically deleted in the back systems.                                        |
  | `monitoringId`            | string          | Identifier used by IDCanopy for ongoing monitoring of this profile.                                                  |
  | `version`                 | integer         | Internal version of the profile in the monitoring system.                                                            |
  | `datasets`                | string array    | Datasets that apply to this profile, e.g. `["PEP-LINKED","POI","SAN-CURRENT"]`.                                      |
  | `addresses`               | object array    | List of known addresses for the person. See **Address object**.                                                      |
  | `aliases`                 | object array    | List of known aliases, name variations, and alternative spellings. See **Alias object**.                             |
  | `contactEntries`          | object array    | Contact information such as phone numbers, fax numbers, and email addresses. See **Contact entry object**.           |
  | `notes`                   | object array    | Optional free-form notes associated with the profile.                                                                |
  | `evidences`               | object array    | List of evidence sources that support the profile (articles, websites, official documents). See **Evidence object**. |
  | `profileImages`           | string array    | URLs to profile images associated with the person.                                                                   |
  | `pepEntries`              | object or array | Structured data describing PEP status; may be empty `{}` if not applicable.                                          |
  | `pepByAssociationEntries` | object array    | PEP-by-association information, linking this subject to other PEP profiles via shared evidence.                      |
  | `poiEntries`              | object array    | Profiles of Interest information, including public roles and positions. See **POI entry object**.                    |
  | `sanEntries`              | object          | Sanctions information. See **Sanctions object**.                                                                     |
  | `relEntries`              | object array    | Regulatory enforcement list entries (if present).                                                                    |
  | `rreEntries`              | object array    | Reputational Risk Exposure entries (if present).                                                                     |
  | `ddEntries`               | object array    | Disqualified Director entries (if present).                                                                          |
  | `griEntries`              | object array    | Other risk / intelligence entries (if present).                                                                      |
  | `identifiers`             | object array    | System-specific identifiers and external reference IDs.                                                              |
  | `individualLinks`         | object array    | Individuals linked directly to the subject (family members, associates, etc.). See **Linked individual object**.     |
  | `businessLinks`           | object array    | Businesses linked to the subject and their key people. See **Linked business object**.                               |
</Accordion>

#### Address object

<Accordion title="Address object (data.attributes.addresses[])">
  | Field                | Type   | Description                                                              |
  | -------------------- | ------ | ------------------------------------------------------------------------ |
  | `addressType`        | string | Type of address, e.g. `"Place of birth"`, `"Business"`, `"Residential"`. |
  | `line1`              | string | First line of the address (street address, building name, etc.).         |
  | `line2`              | string | Second line of the address, if any (area, estate, etc.).                 |
  | `city`               | string | City or town.                                                            |
  | `postcode`           | string | Postal / ZIP code, if available.                                         |
  | `county`             | string | County / region name, if available.                                      |
  | `countyAbbreviation` | string | Abbreviation or code for the county / region, if available.              |
  | `countryIsoCode`     | string | Two-letter ISO country code of the address.                              |
</Accordion>

#### Alias object

<Accordion title="Alias object (data.attributes.aliases[])">
  | Field        | Type   | Description                                                            |
  | ------------ | ------ | ---------------------------------------------------------------------- |
  | `firstName`  | string | First or given name used in this alias.                                |
  | `middleName` | string | Middle name(s) used in this alias, if any.                             |
  | `lastName`   | string | Surname used in this alias.                                            |
  | `type`       | string | Type of alias, e.g. `"Name Spelling Variation"`, `"Former name"`, etc. |
</Accordion>

#### Contact entry object

<Accordion title="Contact entry object (data.attributes.contactEntries[])">
  | Field      | Type   | Description                                                     |
  | ---------- | ------ | --------------------------------------------------------------- |
  | `category` | string | Type of contact detail, e.g. `"Telephone"`, `"Fax"`, `"Email"`. |
  | `value`    | string | Contact value (phone number, fax number, email address).        |
</Accordion>

#### Evidence object

<Accordion title="Evidence object (data.attributes.evidences[])">
  | Field                | Type         | Description                                                                            |
  | -------------------- | ------------ | -------------------------------------------------------------------------------------- |
  | `evidenceId`         | string       | System unique identifier for the evidence.                                             |
  | `datasets`           | string array | Datasets for which this evidence is relevant (e.g. `["SAN-CURRENT"]`, `["POI","ID"]`). |
  | `originalUrl`        | string       | URL of the original source (news article, official site, etc.).                        |
  | `assetUrl`           | string       | Optional URL to stored copies or documents (e.g. PDFs).                                |
  | `publicationDateIso` | string       | Publication date in ISO format, if available.                                          |
  | `captureDateIso`     | string       | Date when the evidence was captured/indexed.                                           |
  | `summary`            | string       | Short description of what the source says about the subject.                           |
  | `title`              | string       | Title of the article or document, if provided.                                         |
  | `credibility`        | string       | Assessment of source credibility (`High`, `Medium`, etc.), where available.            |
  | `language`           | string       | Language code of the source content, if known (e.g. `eng`, `rus`).                     |
  | `isCopyrighted`      | boolean      | Indicates whether the source is copyrighted.                                           |
</Accordion>

#### POI entry object

<Accordion title="POI entry object (data.attributes.poiEntries[])">
  | Field         | Type         | Description                                                                                            |
  | ------------- | ------------ | ------------------------------------------------------------------------------------------------------ |
  | `category`    | string       | Category of the profile of interest, e.g. `"Other Public Figures"` or `"Senior Government Officials"`. |
  | `evidenceIds` | string array | List of evidence IDs that support this POI classification.                                             |
  | `positions`   | object array | List of positions associated with this POI entry.                                                      |

  **Position object fields:**

  | Field            | Type   | Description                                                                                                        |                               |
  | ---------------- | ------ | ------------------------------------------------------------------------------------------------------------------ | ----------------------------- |
  | `countryIsoCode` | string | ISO-3166-1 alpha-2 code of the country in which the position is held.                                              |                               |
  | `dateFromIso`    | string | Start date of the position in ISO format (may be year-only in some cases).                                         |                               |
  | `dateToIso`      | string | End date of the position in ISO format, if applicable.                                                             |                               |
  | `position`       | string | Title of the role (e.g. \`"Former Prime Minister                                                                   | Her Majesty's Government"\`). |
  | `segment`        | string | Segment / classification of the position, e.g. `"Executive Branch - Head and Members of Government and Deputies"`. |                               |
</Accordion>

#### Sanctions object

<Accordion title="Sanctions object (data.attributes.sanEntries)">
  The `sanEntries` object groups sanctions information by status. For example:

  * `current` – active sanctions
  * `former` – historical sanctions, if provided by the data source

  Each entry in `sanEntries.current` (or `former`) has the following structure:

  | Field        | Type         | Description                                                                      |
  | ------------ | ------------ | -------------------------------------------------------------------------------- |
  | `events`     | object array | Chronological events related to the sanction (added, updated, removed).          |
  | `measures`   | string array | Measures imposed, such as `"Travel Ban"`, asset freezes, and other restrictions. |
  | `regime`     | object       | Details of the sanction regime (issuing body and regime name).                   |
  | `sanctionId` | string       | Specific identifier for the sanction, if present.                                |

  **Sanction event fields:**

  | Field         | Type         | Description                                  |
  | ------------- | ------------ | -------------------------------------------- |
  | `dateIso`     | string       | Event date in ISO format.                    |
  | `evidenceIds` | string array | Evidence IDs supporting this sanction event. |
  | `type`        | string       | Type of sanction event (e.g. `"Added"`).     |

  **Sanction regime fields:**

  | Field    | Type   | Description                                                                |
  | -------- | ------ | -------------------------------------------------------------------------- |
  | `body`   | string | Issuing body or authority (e.g. `"Government of the Russian Federation"`). |
  | `name`   | string | Name of the sanctions regime.                                              |
  | `origin` | string | Country or organisation of origin.                                         |
</Accordion>

#### GRI entry object

<Accordion title="GRI entry object (data.attributes.griEntries[])">
  | Field        | Type   | Description                                                                                                                                                                                                        |
  | ------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
  | `title`      | string | The title of the GRI report, e.g. `"EDD Report - Executive Summary Report"`.                                                                                                                                       |
  | `evidenceId` | string | The ID of supporting evidence.                                                                                                                                                                                     |
  | `summary`    | string | The description of the GRI report, e.g. `"In-depth information about the subject based on an Enhanced Due Diligence investigation on source wealth, potential political exposure and reputational risk exposure"`. |
  | `keywords`   | string | Keywords associated with the report, e.g. `"Source of Wealth"`.                                                                                                                                                    |
</Accordion>

#### REL entry object

<Accordion title="REL entry object (data.attributes.relEntries[])">
  | Field         | Type         | Description                                                                                                 |
  | ------------- | ------------ | ----------------------------------------------------------------------------------------------------------- |
  | `category`    | string       | The category of the REL entry, e.g. `"Law Enforcement"`. Enums are `[Law Enforcement, Financial Regulator]` |
  | `subcategory` | string       | The name of the list, e.g. `" Police - Avon and Somerset Police - Wanted & In Court - United Kingdom"`.     |
  | `events`      | string array | The events associated with the REL entry.                                                                   |

  **REL events fields:**

  | Field          | Type         | Description                                                                                                                               |
  | -------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
  | `type`         | string       | The type of event associated with the list entry (e.g. `"Arrest`).                                                                        |
  | `currencyCode` | string       | For specific event types, there can be associated financial penalties. This field indicates the international currency code, e.g. `"USD"` |
  | `amount`       | integer      | The amount of the financial penalty, if applicable, e.g. `"100000"`                                                                       |
  | `period`       | string array | Indicates the length of time of the penalty. The properties are `[days: integer, months: integer, years: integer]`                        |
  | `dateISO`      | string       | The date of the event in ISO format (e.g. `2020-01-01` for 1st January 2020).                                                             |
  | `evidenceIDs`  | string array | The list of IDs of supporting evidences for the event.                                                                                    |
</Accordion>

#### RRE entry object

<Accordion title="RRE entry object (data.attributes.rreEntries[])">
  | Field         | Type         | Description                                              |
  | ------------- | ------------ | -------------------------------------------------------- |
  | `category`    | string       | The category of the RRE entry, e.g. `"Law Enforcement"`. |
  | `subcategory` | string       | The name of the list, e.g. `" Identity Theft"`.          |
  | `events`      | string array | The events associated with the RRE entry.                |

  **RRE events fields:**

  | Field         | Type         | Description                                                                                       |
  | ------------- | ------------ | ------------------------------------------------------------------------------------------------- |
  | `type`        | string       | The type of event associated with the list entry (e.g. `"Court Proceedings in Progress: Remand`). |
  | `dateISO`     | string       | The date of the event in ISO format (e.g. `2020-01-01` for 1st January 2020).                     |
  | `evidenceIDs` | string array | The list of IDs of supporting evidences for the event.                                            |
</Accordion>

#### Linked individual object

<Accordion title="Linked individual object (data.attributes.individualLinks[] and businessLinks[].individualLinks[])">
  | Field                 | Type         | Description                                                                                                                             |
  | --------------------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
  | `firstName`           | string       | First name of the linked individual.                                                                                                    |
  | `middleName`          | string       | Middle name(s) of the linked individual, if any.                                                                                        |
  | `lastName`            | string       | Last name of the linked individual.                                                                                                     |
  | `datasets`            | string array | Datasets that apply to the linked individual (e.g. `["PEP-CURRENT"]`, `["POI"]`).                                                       |
  | `monitoringId`        | string       | Monitoring identifier of the linked individual in the monitoring system.                                                                |
  | `ownershipPercentage` | number       | Ownership percentage when the link represents ownership (often `0` for purely relational links).                                        |
  | `relationship`        | string       | Description of how this person is related to the subject (e.g. `"is the father of"`, `"is a Member of the Board of Directors of ..."`). |
  | `id`                  | string       | Specific identifier of the linked individual.                                                                                           |
</Accordion>

#### Linked business object

<Accordion title="Linked business object (data.attributes.businessLinks[])">
  | Field                 | Type         | Description                                                                                                                      |
  | --------------------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------- |
  | `name`                | string       | Name of the linked business.                                                                                                     |
  | `datasets`            | string array | Datasets that apply to the business (e.g. `["PEP-LINKED","REL"]`).                                                               |
  | `monitoringId`        | string       | Monitoring identifier for the business profile in the monitoring system.                                                         |
  | `ownershipPercentage` | number       | Ownership percentage for the link, where applicable.                                                                             |
  | `relationship`        | string       | Description of how the business is related to the subject (e.g. `"Boris Johnson is a former senior official of The Spectator"`). |
  | `id`                  | string       | Specific identifier for the business profile.                                                                                    |
  | `individualLinks`     | object array | Individuals that are key for this business (board members, executives, etc.). See **Linked individual object**.                  |
</Accordion>

### Response Codes

| Code  | Description                                                     |
| ----- | --------------------------------------------------------------- |
| `200` | A JSON object describing the best matching individual profile.  |
| `400` | Bad request due to missing or invalid parameters.               |
| `401` | API key is missing, invalid, or the caller is not authorized.   |
| `500` | An internal server error occurred while processing the request. |

### Example Response

Below is a **trimmed** example response showing the overall structure returned. The real payload can contain many more linked entities, evidences, and positions.

```json theme={null}
{
  "data": {
    "type": "persons",
    "id": "NQZGEVkxHy1HZ1sOQB0dXQ4kRAh6SlJDU3cOWjJWC10CdmtwUHZDfmQmQgB3RlRxLG0DVRcXRA4AJFNcDQVVSWQBAlYJJxE=",
    "attributes": {
      "firstName": "Boris",
      "middleName": "",
      "lastName": "Johnson",
      "gender": "Male",
      "datesOfBirthIso": [
        "1964-06-19"
      ],
      "nationalitiesIsoCodes": [
        "GB"
      ],
      "datasets": [
        "PEP-LINKED",
        "POI",
        "SAN-CURRENT"
      ],
      "addresses": [
        {
          "addressType": "Place of birth",
          "city": "New York",
          "countryIsoCode": "US",
          "line1": "",
          "line2": "",
          "postcode": ""
        },
        {
          "addressType": "Business",
          "city": "London",
          "countryIsoCode": "GB",
          "line1": "10 Downing Street",
          "line2": "Westminster",
          "postcode": "SW1A 2AA"
        }
      ],
      "aliases": [
        {
          "firstName": "Alexander",
          "middleName": "Boris de Pfeffel",
          "lastName": "Johnson",
          "type": "Name Spelling Variation"
        }
      ],
      "contactEntries": [
        {
          "category": "Telephone",
          "value": "+44 1491612852"
        },
        {
          "category": "Email",
          "value": "johnsonb@parliament.uk"
        }
      ],
      "businessLinks": [
        {
          "name": "Transport for London Limited",
          "datasets": ["PEP-LINKED", "REL", "SOE-CURRENT"],
          "relationship": "Boris Johnson is a Former Chairperson of the Board of Directors of Transport for London Limited",
          "ownershipPercentage": 0,
          "monitoringId": "NQZGEVkxH34WYwhdEw=="
        }
      ],
      "sanEntries": {
        "current": [
          {
            "events": [
              {
                "dateIso": "2022-04-16",
                "evidenceIds": ["23937631"],
                "type": "Added"
              }
            ],
            "measures": ["Travel Ban"],
            "regime": {
              "body": "Government of the Russian Federation",
              "name": "Russia - Special economic measures against unfriendly actions of foreign countries and international organisations",
              "origin": "Russia"
            },
            "sanctionId": ""
          }
        ]
      },
      "poiEntries": [
        {
          "category": "Senior Government Officials",
          "positions": [
            {
              "countryIsoCode": "GB",
              "dateFromIso": "2019-07",
              "dateToIso": "2022-07",
              "position": "Former Prime Minister | Her Majesty's Government",
              "segment": "Executive Branch - Head and Members of Government and Deputies"
            }
          ]
        }
      ]
    },
    "links": null
  }
}
```

***

## 2. Ongoing Monitoring

You will be given a "Monitoring\_Group\_Id" that you will use to register an individual or business profile to.
The registered profile will be screened on a regular basis as per the monitoring rules set in the monitoring group configuration,

### 2.1 Register Individual

### Endpoint

**POST** `/aml/ongoingMonitoring/registerIndividual`

### Status

This endpoint will allow you to register an individual profile for ongoing AML monitoring (periodic re-screening).

you will need to provide the `Monitoring_Group_Id` that you received from IDCanopy, along with the individual's name and date
of birth and country information. The individual will then be screened on a regular basis as per the monitoring rules set in the monitoring group configuration

### Required Headers

| Header        | Value                    |
| ------------- | ------------------------ |
| Content-Type  | `application/json`       |
| Authorization | `Bearer yourAccessToken` |

### Request Body Parameters

<Accordion title="Request Body Parameters">
  | Field                 | Type   | Required | Description                                                                                                                                                                                                                                                  |
  | --------------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
  | `Monitoring_Group_Id` | string | Yes      | The monitoring group ID you received from IDCanopy.                                                                                                                                                                                                          |
  | `type`                | string | Yes      | Resource type requested, for individuals this will be `"subscriptions"`.                                                                                                                                                                                     |
  | `name`                | string | Yes      | The full name of the person you are searching for. For best results use the format `"lastnames, firstnames middlenames"` (e.g. `"Johnson, Boris"`). Alternatively you can use `"firstnames middlenames lastnames"` if you do not know the precise last name. |
  | `dateOfBirth`         | string | No       | Date of birth in `YYYY-MM-DD` or `YYYY` format. Must be after 1900 and not in the future. Example: `"1964-06-19"`.                                                                                                                                           |
  | `countries`           | string | Yes      | Comma-separated list of two-letter ISO-3166 country codes affecting both address and nationality. Example: `"NL,GB"`.                                                                                                                                        |
  | `gender`              | string | No       | Gender of the person. Example: `"male"` or `"female"`.                                                                                                                                                                                                       |
</Accordion>

### Example Request

```json theme={null}
{
  "Monitoring_Group_Id": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
  "type": "subscriptions",
  "data": {
      "name": "Jane Doe",
      "countries": [
        "US"
      ],
      "dateOfBirth": "1991-07-22",
      "gender": "female"
    }
}
```

### Response Structure

The response returns a JSON object containing the subscription details for the registered individual..

<Accordion title="Top-level Structure">
  | Field            | Type   | Description                                                                                                                         |
  | ---------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------- |
  | `subscriptionId` | string | The subscription ID of the registered individual.                                                                                   |
  | `type`           | string | Resource type, for individuals this will be `"subscriptions"`.                                                                      |
  | `attributes`     | object | Detailed attributes echoing the person's information provided in the registration request (name, date of birth, gender, countries). |
</Accordion>

### Example Response

```json theme={null}
{
  "data": {
    "subscriptionId": "93CVS1NDEKTSV4RRFFQ69F2FDC",
    "type": "subscriptions",
    "attributes": {
      "name": "Jane Doe",
      "countries": [
        "US"
      ],
      "dateOfBirth": "1991-07-22",
      "gender": "female"
    },
  }
}
```

***

### 2.2 Register Entity

### Endpoint

**POST** `/aml/ongoingMonitoring/registerEntity`

### Status

This endpoint will allow you to register a legal entity (company, organisation) for ongoing AML monitoring.

you will need to provide the `Monitoring_Group_Id` that you received from IDCanopy, along with the company/organization's name and country information.
The company/organization will then be screened on a regular basis as per the monitoring rules set in the monitoring group configuration

### Required Headers

| Header        | Value                    |
| ------------- | ------------------------ |
| Content-Type  | `application/json`       |
| Authorization | `Bearer yourAccessToken` |

### Request Body Parameters

<Accordion title="Request Body Parameters">
  | Field                 | Type   | Required | Description                                                                                                           |
  | --------------------- | ------ | -------- | --------------------------------------------------------------------------------------------------------------------- |
  | `Monitoring_Group_Id` | string | Yes      | The monitoring group ID you received from IDCanopy.                                                                   |
  | `type`                | string | Yes      | Resource type requested, for companies/organizations this will be `"subscriptions"`.                                  |
  | `name`                | string | Yes      | The full name of the company/organization you are searching for.                                                      |
  | `countries`           | string | Yes      | Comma-separated list of two-letter ISO-3166 country codes affecting both address and nationality. Example: `"NL,GB"`. |
</Accordion>

### Example Request

```json theme={null}
{
  "Monitoring_Group_Id": "02GRKT6NDEUUYSV4RRFFQ695V2TF",
  "type": "subscriptions",
  "name": "BMI Corporation",
  "countries": ["US","GB"]
}
```

### Response Structure

The response returns a JSON object containing the subscription details for the registered company/organization.

<Accordion title="Top-level Structure">
  | Field            | Type   | Description                                                                                                                |
  | ---------------- | ------ | -------------------------------------------------------------------------------------------------------------------------- |
  | `subscriptionId` | string | The subscription ID of the registered company/organization.                                                                |
  | `type`           | string | Resource type, for companies/organizations this will be `"subscriptions"`.                                                 |
  | `attributes`     | object | Detailed attributes echoing the company/organization's information provided in the registration request (name, countries). |
</Accordion>

### Example Response

```json theme={null}
{
  "data": {
    "subscriptionId": "1KLRTYHGHD8UUJBOJMHSLKJH3",
    "type": "subscriptions",
    "attributes": {
      "name": "BMI Corporation",
      "countries": [
        "US",
        "GB"
      ],
    },
  }
}
```

***

### 2.3 Remove Search Profile

### Endpoint

**POST** `/aml/ongoingMonitoring/removeSearchProfile`

### Status

This endpoint will allow you to remove an existing monitoring profile from ongoing AML monitoring for either an individual or a company/organization.

To delete a monitoring profile, you will need to provide the `Monitoring_Group_Id` that you received from IDCanopy, along with the `subscriptionId` of the profile you want to remove.

### Required Headers

| Header        | Value                    |
| ------------- | ------------------------ |
| Content-Type  | `application/json`       |
| Authorization | `Bearer yourAccessToken` |

### Request Body Parameters

<Accordion title="Request Body Parameters">
  | Field                 | Type   | Required | Description                                                                                                              |
  | --------------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------ |
  | `Monitoring_Group_Id` | string | Yes      | The monitoring group ID you received from IDCanopy.                                                                      |
  | `subscriptionId`      | string | Yes      | The subscription ID of the monitoring profile you want to remove.                                                        |
  | `entityType`          | string | Yes      | Resource type requested, for companies/organizations this will be `"Business"`, for individuals this will be `"Person"`. |
</Accordion>

### Example Request

```json theme={null}
{
  "Monitoring_Group_Id": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
  "subscriptionId": "93CVS1NDEKTSV4RRFFQ69F2FDC",
  "entityType": "Person"
}
```

### 2.4 Query Monitoring Results

### Endpoint

**GET** `/aml/ongoingMonitoring/getMonitoringResults/{Monitoring_Group_Id}/person/{subscriptionId}` for individuals
or\
**GET** `/aml/ongoingMonitoring/getMonitoringResults/{Monitoring_Group_Id}/entity/{subscriptionId}` for companies/organizations

### Status

You can query the monitoring results via the endpoints above for either an individual or a company/organization that you have registered for ongoing monitoring.

### Required Headers

| Header        | Value                    |
| ------------- | ------------------------ |
| Content-Type  | `application/json`       |
| Authorization | `Bearer yourAccessToken` |

### Response Structure

The response returns a JSON object containing the monitoring results for the specified subscription ID, including any matches found during the ongoing monitoring process.

<Accordion title="Top-level Structure">
  | Field             | Type           | Description                                                              |
  | ----------------- | -------------- | ------------------------------------------------------------------------ |
  | `data`            | object         | Root object that wraps the alert profile.                                |
  | `data.type`       | string         | The alert type, e.g. `"reviews"`, `"alerts"`.                            |
  | `data.id`         | string         | System-specific internal identifier of the monitoring incident or alert. |
  | `data.attributes` | object         | Detailed attributes describing the alert.                                |
  | `links`           | object or null | Optional hypermedia links if found.                                      |
</Accordion>

<Accordion title="data.attributes (Alert Attributes)">
  | Field                   | Type         | Description                                                                                               |
  | ----------------------- | ------------ | --------------------------------------------------------------------------------------------------------- |
  | `currentStatus`         | string       | Current status of the match.                                                                              |
  | `version`               | integer      | The version number can be used to detect when a profile has changed.                                      |
  | `personID`              | string       | The profile Id can be used to retrieve the full profile of the person                                     |
  | `score`                 | integer      | Confidence score of the profile match, ranging from 50 to 100.                                            |
  | `match`                 | string       | The name on the profile that has been matched in the search, e.g.: Jane Doe.                              |
  | `name`                  | string       | The primary name of the person in the profile.                                                            |
  | `countries            ` | string array | List of countries from the addresses and nationalities of the profile, e.g. `["GB"]`.                     |
  | `datesOfBirth`          | string array | List of dates of birth in either YYYY-MM-DD or YYYY ISO format. E.g. `[ "1994", "1994-08-22" ]`           |
  | `gender   `             | string       | Indicates the gender of the person in the profileif known, e.g. `"Male"`, `"Female"`.                     |
  | `profileImage`          | string       | Main profile image URL for the person.                                                                    |
  | `datasets`              | string array | Datasets that apply to this profile, e.g. `["PEP-LINKED","POI","SAN-CURRENT"]` refer to [here](Datasets). |
  | `pepTier  `             | string       | The PEP tier of the person in the profile, e.g. `"PEP Tier 1"`, `"PEP Tier 2"`.                           |
</Accordion>

<Accordion title="currentStatus">
  The `currentStatus` field indicates the current status of the match found during ongoing monitoring. Possible values include:

  * `open` – indicates that the alert requires review
  * `true-positive` –  Indicates that the alert is closed and that the profile was matched correctly
  * `false-positive` – Indicates that the alert is closed and that the profile was matched incorrectly
  * `discarded` – Indicates that the profile in the alert no longer matches the subscription due to the changes in the profile, subscription, or the follow list.
</Accordion>

### Example Response

```json theme={null}
{
  "data": {
    "type": "reviews",
    "id": "NQZGEVkxH3oUZAFaFRA=",
    "attributes": {
      "currentStatus": "open",
      "version": 1673422459727,
      "personID": "NQZGEVkxHy1HZ1sOQB0dXQ4kRAh6SlJDU3cOWjJWC10CdmtwUHZDfmQmQgB3teRxLG0DVRcXRA4AJFNcDQVVSWQBAlYJJxE=",
      "score": 95,
      "match": "Jane Doe",
      "name": "Jane Marie Doe",
      "countries": [
        "US"
      ],
      "datesOfBirth": [
        "1991-07-22"
      ],
      "gender": "female",
      "profileImage": "https://example.com/profile.jpg",
      "datasets": [
        "PEP-CURRENT",
        "SAN-CURRENT"
      ],
      "pepTier": "PEP Tier 1"
    },
    "links": null
  }
}
```
