Perform AML Screening
Overview of flow

1. Create a client
The first step in creating any check is to create a client from your backend server. A client can be a person or a company. For a person, you must provide their first name and last name. Only the name is required for a company.
Note: Though it's not a strict requirement, we highly recommend you provide a client's date of birth.
Example request for creating a client
curl -X POST https://api.complycube.com/v1/clients \
-H 'Authorization: <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"type": "person",
"email": "[email protected]",
"personDetails":{
"firstName": "John",
"lastName" :"Doe",
"dob": "1990-01-01"
}
}'const { ComplyCube } = require("@complycube/api");
const complycube = new ComplyCube({ apiKey: "<YOUR_API_KEY>" });
const client = await complycube.client.create({
type: "person",
email: "[email protected]",
personDetails: {
firstName: "John",
lastName: "Doe",
dob: "1990-01-01"
}
});from complycube import ComplyCubeClient
cc_api = ComplyCubeClient(api_key='<YOUR API KEY>')
new_client = {
'type':'person',
'email':'[email protected]',
'personDetails': {
'firstName':'John',
'lastName':'Doe',
'dob':'1990-01-01'
}
}
client = cc_api.clients.create(**new_client)use ComplyCube\ComplyCubeClient;
$ccapi = new ComplyCubeClient('<YOUR_API_KEY>');
$result = $ccapi->clients()->create([
'type' => 'person',
'email' => '[email protected]',
'personDetails' => [
'firstName' => 'John',
'lastName' => 'Doe',
'dob' => '1990-01-01'
]
]);using ComplyCube.Net;
using ComplyCube.Net.Resources.Clients;
var clientApi = new ClientApi(new ComplyCubeClient("<YOUR_API_KEY>"));
var newclient = new ClientRequest {
type = "person",
email = "[email protected]",
personDetails = new PersonDetails {
firstName = "John",
lastName = "Doe",
dob = "1990-01-01"
}
}
var client = await clientApi.CreateAsync(newclient);Example response
The response will contain an id (the Client ID). It is required for the next step.
{
"id": "5eb04fcd0f3e360008035eb1",
"type": "person",
"email": "[email protected]",
"personDetails": {
"firstName": "John",
"lastName": "Doe",
"dob": "1990-01-01"
},
"createdAt": "2020-01-04T17:24:29.146Z",
"updatedAt": "2020-01-04T17:24:29.146Z"
}2. Create a check
Create a check by providing the Client ID and Check type. There are two types of AML Screening checks - Standard AML Screening and Extensive AML Screening. The example below uses Extensive AML Screening.
Example request for creating a check
curl -X POST https://api.complycube.com/v1/checks \
-H 'Authorization: <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"clientId":"5eb04fcd0f3e360008035eb1",
"type": "extensive_screening_check"
}'const check = await complycube.check.create("5eb04fcd0f3e360008035eb1", {
type: "extensive_screening_check"
});check = cc_api.complycube.checks.create(
"5eb04fcd0f3e360008035eb1",
type="standard_screening_check"
)$result = $ccapi->checks()->create(
'5eb04fcd0f3e360008035eb1',
['type' => 'standard_screening_check']
);var checkRequest = new CheckRequest {
clientId = "5eb04fcd0f3e360008035eb1",
type = "standard_screening_check"
};
var check = await checkApi.CreateAsync(checkRequest);Example response
The response will contain an id (the Check ID). It is required for the next step.
{
"id": "65c12a6426d2ab000814037e",
"entityName": "John Doe",
"type": "standard_screening_check",
"clientId": "5eb04fcd0f3e360008035eb1",
"status": "pending",
"createdAt": "2020-01-04T17:25:21.116Z",
"updatedAt": "2020-01-04T17:25:21.116Z"
}3. Retrieve outcome
ComplyCube will perform the check. You can retrieve a check's outcome and breakdown via the API.
If you have set up webhooks, a notification will be sent upon completion of the check.
Example request for retrieving the check outcome
curl -X GET https://api.complycube.com/v1/checks/5ebd40714f23960008c81527 \
-H 'Authorization: <YOUR_API_KEY>'const check = await complycube.check.get("5ebd40714f23960008c81527");check = cc_api.checks.get('5ebd40714f23960008c81527')$check = $ccapi->checks()->get('5ebd40714f23960008c81527');var check = await checkApi.GetAsync("5ebd40714f23960008c81527");Example response
{
"id": "65c12a6426d2ab000814037e",
"entityName": "John Doe",
"type": "standard_screening_check",
"clientId": "5eb04fcd0f3e360008035eb1",
"status": "complete",
"result": {
"outcome": "clear",
"breakdown": {
"summary": {
"pep": {
"level1": "clear",
"level2": "clear",
"level3": "clear",
"level4": "clear"
},
"watchlist":{
"sanctionsLists": "clear",
"otherOfficialLists": "clear",
"warCrimes": "clear",
"terror": "clear",
"otherExclusionLists": "clear",
"sanctionsControlAndOwnership": "clear"
},
"adverseMedia": {
"environmentProduction": "clear",
"socialLabour": "clear",
"competitiveFinancial": "clear",
"regulatory": "clear"
},
"otherLists": {
"associatedEntity": "clear",
"organisedCrime": "clear",
"financialCrime": "clear",
"taxCrime": "clear",
"corruption": "clear",
"trafficking": "clear"
}
}
}
},
"createdAt": "2020-01-04T17:25:21.116Z",
"updatedAt": "2020-01-04T17:25:21.116Z"
}Last updated
Was this helpful?