Skip to main content Link Menu Expand (external link) Document Search Copy Copied

AML Monitoring

Create AML check for users and companies

You can create AML monitoring for users and companies. They will be searched periodically until it reaches the expiration date, which is one year after entry creation. When the information about that user or company is matched with entries from AML databases, a webhook and/or email will be sent to the partner.

Sending request

To add a user to AML monitoring, send a HTTP POST request to: https://ivs.markid.eu/api/v2/add-aml-user

The request must contain basic auth headers where username is API key and password is API secret.

To add a user to AML monitoring, the request must contain JSON with scanRef of client’s verification that needs to be monitored or manually typed data, where name and surname, type set as ‘PERSON’ are required fields and nationality, dateOfBirth, monitoringId are optional.

To add a company to AML monitoring, the request must contain JSON with name, country and type set as ‘COMPANY’ monitoringId is optional.

If you’ll pass a scanRef in your request the type will automatically be counted as ‘PERSON’ regardless of the value provided in the request.

JSON key Type Explanation
scanRef String A unique string identifying a client verification on Mark ID’s side.
monitoringId String A unique string identifying a monitored user or company.
type String Values:
-COMPANY Specifies the type as a company.
-PERSON Specifies the type as a person.
name String Name of the monitored user or company.
surname String Surname of the monitored user.
nationality String Nationality of the monitored user.
dateOfBirth String Monitored user’s date of birth.
country String Mandatory parameter for the COMPANY checks in alpha2/alpha3 format.

Example request with scanRef:

{
    "scanRef": "scanRef"
}

Example request with specified data:

{
    "name": "name",
    "surname": "surname",
    "dateOfBirth": "1990-01-01",
    "nationality": "LTU",
    "type": "PERSON"
}

Example request to add a company:

{
    "name": "Company's name",
    "type": "COMPANY"
}

Example responses:

A successful API call returns a JSON response with monitoringId.

An example response with all fields provided:
{
   "monitoringId": "123456789"
}

Get monitoring webhook

To receive webhook data, send a HTTP POST request to: https://ivs.markid.eu/api/v2/get-monitoring-callback With monitoring ID in the request body.

Monitoring user table

JSON key Type Explanation
monitoringId String A unique string identifying a monitored user or company.
name String Name of the monitored user or company.
surname String Surname of the monitored user.
nationality String Nationality of the monitored user.
dob String Date of birth monitored user.
scanRefList List A unique string identifying a client verification on Mark ID’s side.
If you have multiple verifications with the exact same data, and create monitoring users with both of them, only one user will be created and the scanRefList will have both scanRef’s, as not to waste monitoring on the same data twice scanRefList will be a list of strings
alert_status String Current status of the monitored user.
Possible values:
ALERT,
ACCEPTED,
DECLINED,
PENDING

Results table

JSON key Type Explanation
serviceSuspected Bool Indicates whether a service found a record about the person under check.
checkSuccessful Bool Indicated whether an error occurred while doing a check.
serviceFound Bool Indicates whether a service was found for a given country.
serviceUsed Bool Indicated whether a service was used.
overallStatus String A mapping string indicating overall status of the check.
status Object The overall status of the service check.
data List Data returned from services.
serviceName String The name of the service that was used to check a person.
serviceGroupType String The type of the service that was used. It is always AML.
uid String A unique identifier for a request. NOTE that it is unique only in one request scope. It is not unique globally. This parameter is only useful when doing multi-person checks.
errorMessage String In case of an error in the checking process a human readable error message is given.
name String The name of the person in the service’s database.
surname String The surname of the person in the service’s database.
nationality String The nationality of the person in the service’s database.
dob String The date of birth of the person in the service’s database.
suspicion String Tells the kind of the suspicion.
Possible values:
PEPS
SANCTION
INTERPOL
OTHER
reason String Tells the reason of the kind of the suspicion.
score Integer Confidence coefficient that the information about the person is true.
lastUpdate String Date of when the record was last updated.
isPerson Bool Indicates whether the record is about a person.
isActive Bool Indicated whether a record is active.
checkDate String Date and time of when AML name service was checked.
whitelisted Bool Boolean indicator if the entry is whitelisted.
Example request:
{
   "monitoringId": "123456789"
}
Example response:
{
    "monitoringId": "123456789",
    "name": "Carl",
    "surname": "Smith",
    "nationality": "",
    "dob": null,
    "isActive": true,
    "expiration": "2022-02-02",
    "scanRefList": "[]",
    "alert_status": "DECLINED",
    "results": [
        {
            "status": {
                "serviceSuspected": true,
                "serviceUsed": true,
                "serviceFound": true,
                "checkSuccessful": true,
                "overallStatus": "SUSPECTED"
            },
            "serviceName": "PilotApiAmlV2NameCheck",
            "serviceGroupType": "AML",
            "uid": "RHO3XRYH32W4C4OAWEWHGH1TS",
            "errorMessage": null,
            "data": [
                {
                    "reason": "",
                    "listNumber": "000000",
                    "suspicion": "PEPS",
                    "isActive": true,
                    "checkDate": "2021-02-02 20:02:02",
                    "isPerson": true,
                    "score": 100,
                    "nationality": "",
                    "surname": "SURNAME",
                    "dob": "1956",
                    "lastUpdate": "2018-10-24",
                    "name": "NAME",
                    "listName": "PEPS",
                    "whitelisted": false
                }
            ]
        }
    ]
}  

companyId, beneficiaryId, comments, pepsStatus,status_set_by, status_set_at, adverseMediaStatus, and sanctionsStatus also appear in the results if the user has a company assigned to him.

Viewing entries in AML monitoring

To view a list of entries, send a HTTP GET request to: https://ivs.markid.eu/api/v2/get-aml-users

Example response:
{
    "users": [
        {
            "created": "2021-07-27 04:02:02",
            "monitoring_id": "12345678",
            "type": "PERSON",
            "name": "NAME SURNAME",
            "date_of_birth": "1956",
            "nationality": "LITHUANIA",
            "last_check_date": "2021-07-30",
            "is_active": true,
            "expiration_time": "2021-07-20",
            "alert_status": "ACCEPTED",
            "is_suspected": false,
            "whitelisted": false
        },
    ]
}

If the alert_status has “DECLINED” value, that user is not monitored anymore and the data won’t be updated further.

Deleting an entry

To delete an entry from monitoring list, send a HTTP POST request to: https://ivs.markid.eu/api/v2/delete-monitoring-user/ with monitoring ID in the request body.

Example request:
{  
   "monitoringId": "12345678"
}

A successful API call returns an HTTP response with status 200.

Add AML checks to the whitelist for a monitored user or company

You can add specific AML checks to the whitelist for a monitored user. AML checks in the whitelist won’t be counted as suspected upon detection.

Sending request

Send a HTTP POST request to: https://ivs.markid.eu/api/v2/add-whitelist

The request must contain basic auth headers where username is API key and password is API secret.

The request must contain JSON with whitelist and one of three identifiers: monitoringId, scanRef or name and surname (nationality and dateOfBirth can also be added.)

Key Type Explanation
whitelist List List of whitelisted sanction and suspicions.
Possible values:
- SANCTION
- INTERPOL
- PEPS
- OTHER
- WORLDBANK_DEBARRED
- EU_EEAS_SANCTIONS
- EU_FSF
- KG_FIU_NATIONAL_LEGAL
- COE_ASSEMBLY
- KG_FIU_NATIONAL_PERSON
- EVERYPOLITICIAN
- GB_HMT_SANCTIONS
- EU_MEPS
- US_CIA_WORLD_LEADERS
- FR_FREEZING_OF_ASSETS
- UA_SDFM_BLACKLIST
- AU_DFAT_SANCTIONS
- UN_SC_SANCTIONS
- INTERPOL_RED_NOTICES
- INTERPOL_YELLOW_NOTICES
- US_BIS_DENIED
- CA_DFATD_SEMA_SANCTIONS
- EU_COR_MEMBERS
- CH_SECO_SANCTIONS
- GB_COH_DISQUALIFIED
type String Values:
-COMPANY Specifies the type as a company.
-PERSON Specifies the type as a person.
monitoringId String A unique string identifying a monitored user.
scanRef String A unique string identifying a client verification on Mark ID’s side.
name String Name of the monitored user.
surname String Surname of the monitored user.
nationality String Nationality of the monitored user.
dateOfBirth String Monitored user’s date of birth.

Example request with monitoringId:

{
    "monitoringId": "OVXVXHLL43",
    "whitelist": {"PEPS": ["ListNumber"], "gb_hmt_sanctions": ["entity_id"]}
}

Example request with scanRef:

{
    "scanRef": "OVXVXHLL43",
    "whitelist": {"PEPS": ["ListNumber"], "gb_hmt_sanctions": ["entity_id"]}
}

Example request with additional data:

{
    "name": "name", 
    "surname": "surname", 
    "nationality": "LT", 
    "dateOfBirth": "1999-12-31",
    "whitelist":  {"PEPS": ["ListNumber"], "gb_hmt_sanctions": ["entity_id"]}
}

Example requests with a company:

{
    "name": "Company's name",
    "whitelist": {"gb_hmt_sanctions": ["entity_id"]}
}
{
    "monitoringId": "monitoringId",
    "whitelist": {"PEPS": ["ListNumber"]}
}

Removing entries from whitelist

To remove an entry from whitelist, send a HTTP POST request to: https://ivs.markid.eu/api/v2/clear-user-whitelist/ with monitoring ID in the request body.

Example request:
{  
   "monitoringId": "12345678"
}

Example responses:

A successful API call returns an HTTP response with status 200.

Generate AML monitoring report

You can retrieve a report in PDF format about the monitoring entry.

The report contains the following information about the entry:

  • Monitoring ID

  • Personal information, such as: name, surname, full name, nationality, date of birth.

  • Type (person or company)

  • Entry date

  • Last check date

  • Expiration date

  • Suspicion type and reason of suspicion

  • Checked service name

  • Indicators (probability score, active or not).

Sending request

Send a HTTP POST request to: https://ivs.markid.eu/api/v2/generate-pdf-aml

The request must contain basic auth headers where username is API key and password is API secret. The request must contain JSON with parameter:

Key Required Explanation Type
monitoringId Yes A unique string identifying AML monitoring entry. String

Response

After a successful API call, you will receive a PDF file in Base64 format and a response with a positive 200 status.

Only one entry is accepted per request.

Examples

Example request

{
    "monitoringId": ""
}