Skip to main content

AML Screening

The following document describes the AML Screening module and the responses it returns.

Description

Objective

The AML Screening module screens user information against major sanction lists (such as UNSC, OFAC, Interpol, IRDAI, and FIU) and the Politically Exposed Persons (PEP) database. You can customize which databases and filters are used to match your screening requirements.

InputOutput
Name, date of birth, country ID, search profile, ID number, ID type.Screening result with action (pass, manualReview, or fail), matched hits with source details, and match metadata. See Success Response Details for the full list of output fields.

Supported Regions

The AML Screening module supports the following regions:

RegionRegion Code
Indiaind
USAusa
Africazaf
Europeirl
Singaporesgp

Configurations

This module does not support any additional configurations.

Success Response

The following code snippet demonstrates a success response from the AML Screening module. The example shows a response for a valid request where multiple hits were found against the queried user.

{
"statusCode": 200,
"metaData": {
"transactionId": "<Transaction_ID>",
"requestId": "<Request_ID>"
},
"summary": {
"action": "<Action_Taken>",
"details": [
{
"code": 433,
"message": "<Action_Message>"
}
]
},
"result": {
"hits": [
{
"name": "<Name_Of_Person>",
"id": null,
"updatedAt": "<Updated_At_Timestamp>",
"createdAt": "<Created_At_Timestamp>",
"aka": [],
"sources": {
"adverseMedia": [],
"pep": [],
"sanction": [],
"warning": [
{
"name": "<Source_Name>",
"url": "<Source_URL>",
"countryCodes": "<Country_Code>",
"dob": "<Date_Of_Birth>",
"originalId": "<Original_ID>",
"fullName": "<Full_Name>",
"courtesyTitle": "<Courtesy_Title>",
"firstName": "<First_Name>",
"lastName": "<Last_Name>",
"title": "<Title>",
"pob": "<Place_Of_Birth>",
"imageUrl": "<Image_URL>",
"type": "<Type_Of_Entity>",
"addressRemarks": "<Address_Remarks>"
}
],
"fitnessProbity": []
},
"associates": [],
"yobMatch": true,
"countryMatch": true,
"dob": "<Date_Of_Birth>",
"countries": "<Country_Name>",
"nameMatch": "<Name_Match_Type>",
"hitId": "<Hit_ID>",
"idNumberMatch": false,
"details": {
"countryMatch": true,
"yobMatch": true,
"exactNameMatch": true,
"dobExists": true,
"countryExists": true,
"idNumberMatch": false
},
"relevanceScore": 0
},
{
"name": "<Name_Of_Person>",
"id": null,
"updatedAt": "<Updated_At_Timestamp>",
"createdAt": "<Created_At_Timestamp>",
"aka": [],
"sources": {
"adverseMedia": [],
"pep": [
{
"name": "<Source_Name>",
"url": "<Source_URL>",
"countryCodes": "<Country_Code>",
"originalId": "<Original_ID>",
"fullName": "<Full_Name>",
"firstName": "<First_Name>",
"lastName": "<Last_Name>",
"title": "<Title>",
"sex": "<Gender>",
"documents": "<Document_URL>",
"pob": "<Place_Of_Birth>",
"citizenship": "<Citizenship>",
"constituency": "<Constituency>",
"imageUrl": "<Image_URL>",
"type": "<Type_Of_Entity>",
"remarks": "<Remarks>",
"address": "<Street_Address>",
"city": "<City>",
"postCode": "<Postal_Code>",
"addressRemarks": "<Address_Remarks>"
}
],
"sanction": [],
"warning": [],
"fitnessProbity": []
},
"associates": [],
"countryMatch": true,
"dob": [],
"countries": "<Country_Name>",
"nameMatch": "<Name_Match_Type>",
"hitId": "<Hit_ID>",
"idNumberMatch": false,
"details": {
"countryMatch": true,
"exactNameMatch": true,
"countryExists": true,
"idNumberMatch": false
},
"relevanceScore": 0
},
{
"name": "<Name_Of_Person>",
"id": null,
"updatedAt": "<Updated_At_Timestamp>",
"createdAt": "<Created_At_Timestamp>",
"aka": [],
"sources": {
"adverseMedia": [],
"pep": [
{
"name": "<Source_Name>",
"url": "<Source_URL>",
"countryCodes": "<Country_Code>",
"originalId": "<Original_ID>",
"fullName": "<Full_Name>",
"firstName": "<First_Name>",
"lastName": "<Last_Name>",
"title": "<Title>",
"sex": "<Gender>",
"documents": "<Document_URL>",
"citizenship": "<Citizenship>",
"constituency": "<Constituency>",
"politicalParty": "<Political_Party>",
"type": "<Type_Of_Entity>",
"remarks": "<Remarks>",
"addressRemarks": "<Address_Remarks>"
}
],
"sanction": [],
"warning": [],
"fitnessProbity": []
},
"associates": [],
"countryMatch": true,
"dob": [],
"countries": "<Country_Name>",
"nameMatch": "<Name_Match_Type>",
"hitId": "<Hit_ID>",
"idNumberMatch": false,
"details": {
"countryMatch": true,
"exactNameMatch": true,
"countryExists": true,
"idNumberMatch": false
},
"relevanceScore": 0
},
{
"name": "<Name_Of_Person>",
"id": null,
"updatedAt": "<Updated_At_Timestamp>",
"createdAt": "<Created_At_Timestamp>",
"aka": [],
"sources": {
"adverseMedia": [],
"pep": [
{
"name": "<Source_Name>",
"url": "<Source_URL>",
"countryCodes": "<Country_Code>",
"originalId": "<Original_ID>",
"fullName": "<Full_Name>",
"courtesyTitle": "<Courtesy_Title>",
"firstName": "<First_Name>",
"lastName": "<Last_Name>",
"title": "<Title>",
"documents": "<Document_URL>",
"citizenship": "<Citizenship>",
"imageUrl": "<Image_URL>",
"type": "<Type_Of_Entity>",
"program": "<Program>",
"addressRemarks": "<Address_Remarks>"
}
],
"sanction": [],
"warning": [],
"fitnessProbity": []
},
"associates": [],
"countryMatch": true,
"dob": [],
"countries": "<Country_Name>",
"nameMatch": "<Name_Match_Type>",
"hitId": "<Hit_ID>",
"idNumberMatch": false,
"details": {
"countryMatch": true,
"exactNameMatch": true,
"countryExists": true,
"idNumberMatch": false
},
"relevanceScore": 0
}
]
}
}

Success Response Details

The following table outlines the details of the success response from the AML Screening module. Parameters are listed in the same order as they appear in the response.

ParameterTypeDescription
statusCodeintegerThe HTTP status code of the request (e.g. 200)
metaDataobjectContains transaction and request details
metaData.transactionIdstringThe unique identifier for the transaction
metaData.requestIdstringThe system generated ID for the request
summaryobjectProvides an overview of the action taken
summary.actionstringThe system's verdict on the API call: indicates "manualReview," "pass," or "fail" based on matching criteria.
summary.detailsarrayThis field lists the reasons for the action response. It has data only when the action is Manual Review.
summary.details[].codeintegerThe numeric code representing the action
summary.details[].messagestringThe message describing the action
resultobjectContains the details of the matched records
result.hitsarrayList of matched individuals and their details
result.hits[].namestringThe name from the matching record in the database
result.hits[].idnullThe unique identifier for a matching record in the database. If there are no matching records found in the database against your search, this field will not return a value.
result.hits[].updatedAtstringThis timestamp represents the date and time when the user's profile was modified and updated in the database
result.hits[].createdAtstringThis timestamp represents the date and time when the user's profile was added to the database
result.hits[].akaarrayThe known aliases or alternate names of the individual whose records were matched
result.hits[].sourcesobjectThis is an object of source buckets such as adverseMedia, pep, sanction, warning, and fitnessProbity. Each bucket contains the source details and the related metadata extracted from that source.
result.hits[].sources.adverseMediaarrayThe list of adverse media sources
result.hits[].sources.peparrayThe list of Politically Exposed Persons (PEP) sources
result.hits[].sources.sanctionarrayThe list of sanctions
result.hits[].sources.warningarrayThe list of warning sources
result.hits[].sources.fitnessProbityarrayThe list of fitness and probity sources
result.hits[].associatesarrayList of associates linked to the matched individual
result.hits[].yobMatchbooleanWhen present, indicates whether the year of birth matches between the request and the matched record
result.hits[].countryMatchbooleanIndicates whether the country of the matched record matches the countryId provided in the request
result.hits[].dobstring or arrayDate(s) of birth associated with the matched record
result.hits[].countriesstring or arrayThe list of countries associated with the individual
result.hits[].nameMatchstring or arrayThis field lists the reasons behind the name match (e.g. "Exact name match")
result.hits[].hitIdstringThe unique identifier provided by HyperVerge for a matching record
result.hits[].idNumberMatchbooleanThis field indicates whether the provided ID number (e.g., PAN number) matches any records within external sources, such as sanction lists, PEP databases, and other source buckets (e.g., sanction, adverse media, warning). A value of true indicates a match with one or more of these sources, while false indicates no matches were found.
result.hits[].detailsobjectContains additional match details
result.hits[].details.countryMatchbooleanIndicates whether the country of the matched record matches the request
result.hits[].details.yobMatchbooleanWhen present, indicates whether the year of birth matches
result.hits[].details.exactNameMatchbooleanThis field indicates if there is an exact name match from the database
result.hits[].details.dobExistsbooleanWhen present, indicates whether a date of birth exists for the matched record
result.hits[].details.countryExistsbooleanThis field indicates if the country is present in the details
result.hits[].details.idNumberMatchbooleanIndicates whether the provided ID number matches the record
result.hits[].relevanceScorenumberThe relevance score indicating the strength of the match

Response When Matches Are Found

When one or more matches are found (e.g. against PEP or sanction lists), the module returns a response with action set to manualReview (or fail depending on configuration) and populates result.hits.

{
"statusCode": 200,
"metaData": {
"transactionId": "<Transaction_ID>",
"requestId": "<Request_ID>"
},
"summary": {
"action": "manualReview",
"details": [
{
"code": 433,
"message": "Found 1 hit(s)"
}
]
},
"result": {
"hits": [
{
"name": "<Name_Of_Person>",
"id": null,
"updatedAt": "<Updated_At_Timestamp>",
"createdAt": "<Created_At_Timestamp>",
"aka": [],
"sources": {
"adverseMedia": [],
"pep": [],
"sanction": [],
"warning": [],
"fitnessProbity": []
},
"associates": [],
"countryMatch": true,
"dob": [],
"countries": "<Country_Name>",
"nameMatch": "<Name_Match_Type>",
"hitId": "<Hit_ID>",
"idNumberMatch": false,
"details": {
"countryMatch": true,
"exactNameMatch": true,
"countryExists": true,
"idNumberMatch": false
},
"relevanceScore": 0
}
]
}
}

The fields inside result.hits[] are described in the Success Response Details table above.

Error Responses

When the module input is invalid or the request fails, you receive an error response. Example (server error):

{
"status": "failure",
"statusCode": 500,
"error": {
"message": "Internal Server Error"
}
}

Error Response Details

An error response contains a failure status with a relevant status code and error message. The following table lists error responses from the AML Screening module.

Status CodeError MessageError DescriptionError Resolution
400Input Validation Error: requires property "name"The mandatory name field is missing in the input.Ensure the name parameter is provided in the module input
401Missing/Invalid credentialsThe request is missing mandatory credentials or has invalid credentials.Verify your integration credentials with the HyperVerge team
500Internal Server ErrorThere was an error with HyperVerge's server.Contact the HyperVerge team for resolution
Was this helpful?
Ask AIBeta
Hi! How can I help?
Ask me anything about HyperVerge products, APIs, and SDKs.
Try asking: