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:
- /aml/checkIndividual
Endpoints Overview
- Check Individual: Screen an individual against AML datasets (PEP, sanctions, and related lists).
- 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 for detailed steps on obtaining a token.
- Include the token in the
Authorizationheader as follows:
API Base URL
Production:
Sandbox:
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
Request Body Parameters
Request Body Parameters
Request Body Parameters
Datasets
Datasets
datasets parameter is a comma-separated string. Available options:PEP– Politically Exposed Persons (all)PEP-CURRENT– Only current PEPsPEP-FORMER– Only former PEPsPEP-LINKED– PEP by association / linked personsSAN– Sanctioned (all)SAN-CURRENT– Only current sanctionsSAN-FORMER– Only former sanctionsINS– Insolvency listsRRE– Reputational Risk ExposureDD– Disqualified DirectorsPOI– Profiles of InterestREL– Regulatory Enforcement ListsGRI– Gambling Risk Intelligence
Example Request
Response Structure
The response returns a JSON object containing a single person profile (the best match) from the AML check.Top-level Structure
Top-level Structure
data.attributes (Person Attributes)
data.attributes (Person Attributes)
Address object
Address object (data.attributes.addresses[])
Address object (data.attributes.addresses[])
Alias object
Alias object (data.attributes.aliases[])
Alias object (data.attributes.aliases[])
Contact entry object
Contact entry object (data.attributes.contactEntries[])
Contact entry object (data.attributes.contactEntries[])
Evidence object
Evidence object (data.attributes.evidences[])
Evidence object (data.attributes.evidences[])
POI entry object
POI entry object (data.attributes.poiEntries[])
POI entry object (data.attributes.poiEntries[])
Sanctions object
Sanctions object (data.attributes.sanEntries)
Sanctions object (data.attributes.sanEntries)
sanEntries object groups sanctions information by status. For example:current– active sanctionsformer– historical sanctions, if provided by the data source
sanEntries.current (or former) has the following structure:GRI entry object
GRI entry object (data.attributes.griEntries[])
GRI entry object (data.attributes.griEntries[])
REL entry object
REL entry object (data.attributes.relEntries[])
REL entry object (data.attributes.relEntries[])
RRE entry object
RRE entry object (data.attributes.rreEntries[])
RRE entry object (data.attributes.rreEntries[])
Linked individual object
Linked individual object (data.attributes.individualLinks[] and businessLinks[].individualLinks[])
Linked individual object (data.attributes.individualLinks[] and businessLinks[].individualLinks[])
Linked business object
Linked business object (data.attributes.businessLinks[])
Linked business object (data.attributes.businessLinks[])
Response Codes
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.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 theMonitoring_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
Request Body Parameters
Request Body Parameters
Request Body Parameters
Example Request
Response Structure
The response returns a JSON object containing the subscription details for the registered individual..Top-level Structure
Top-level Structure
Example Response
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 theMonitoring_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
Request Body Parameters
Request Body Parameters
Request Body Parameters
Example Request
Response Structure
The response returns a JSON object containing the subscription details for the registered company/organization.Top-level Structure
Top-level Structure
Example Response
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 theMonitoring_Group_Id that you received from IDCanopy, along with the subscriptionId of the profile you want to remove.
Required Headers
Request Body Parameters
Request Body Parameters
Request Body Parameters
Example Request
2.4 Query Monitoring Results
Endpoint
GET/aml/ongoingMonitoring/getMonitoringResults/{Monitoring_Group_Id}/person/{subscriptionId} for individuals
orGET
/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
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.Top-level Structure
Top-level Structure
data.attributes (Alert Attributes)
data.attributes (Alert Attributes)
currentStatus
currentStatus
currentStatus field indicates the current status of the match found during ongoing monitoring. Possible values include:open– indicates that the alert requires reviewtrue-positive– Indicates that the alert is closed and that the profile was matched correctlyfalse-positive– Indicates that the alert is closed and that the profile was matched incorrectlydiscarded– Indicates that the profile in the alert no longer matches the subscription due to the changes in the profile, subscription, or the follow list.