Skip to content
Last updated

Individual AML Search Workflow

Overview

This page describes the production-focused AML screening workflow for individual persons:

  1. Authenticate - Generate authentication token
  2. Create Individual AML Search - Submit person screening request
  3. Retrieve AML Hits - Get list of potential matches
  4. Retrieve Full AML Intelligence - Get detailed compliance data

This deterministic sequence helps teams integrate quickly and reduces implementation ambiguity.


Workflow Diagram

Authenticate

Create Individual AML Search

Retrieve Individual AML Hits

Retrieve Full Individual Hit Details

Authenticate

Create Individual AML Search

Retrieve Individual AML Hits

Retrieve Full Individual Hit Details

Diagram summary: This flowchart shows a single linear path with four steps: authenticate, create an individual AML search, retrieve individual AML search hits, and retrieve full individual AML hit details.

Workflow Summary: Authenticate with the platform, perform an individual AML screening search using personal details, retrieve screening hits, and retrieve detailed compliance intelligence for a selected match.


Workflow Summary Table

StepOperationIdEndpointPurpose
1authenticatePOST /authenticateGenerate authentication token
2complianceKYCProtectCreateIndividualsSearchPOST /compliance/kyc-protect/searches/individualsCreate individual AML search
3getsTheIndividualSearchHitsGET /compliance/kyc-protect/searches/individuals/{searchId}/hitsRetrieve individual AML hits
4returnsFullProfileInformationOfAIndividualHitByHitIdGET /compliance/kyc-protect/searches/individuals/{searchId}/hits/{hitId}Retrieve full individual AML intelligence

Step 1: Authenticate

Before accessing any KYC Protect endpoints, an authentication token must be generated.

The returned bearer token should be included in the Authorization header for all subsequent requests.

Endpoint

POST /authenticate

Example Request

{
  "username": "your-username",
  "password": "your-password"
}

Example Response

{
  "token": "eyJhbGciOi..."
}

Success Criteria

Condition
HTTP Status Code = 200
Authentication token returned

Workflow Outputs

OutputDescription
accessTokenBearer token used for subsequent API requests

Create an Individual AML screening search using the supplied personal details.

The API performs screening across the configured AML datasets and returns a unique search identifier in the id field.


Endpoint

POST /compliance/kyc-protect/searches/individuals

Example Request

{
  "name": "John Smith",
  "firstName": "John",
  "middleName": "Andrew",
  "lastName": "Smith",
  "dateOfBirth": "1980-05-15",
  "gender": "male",
  "countryCodes": ["GB"],
  "threshold": 80,
  "datasets": ["AM", "PEP", "SAN"]
}

Request Parameters

PropertyTypeRequiredDescription
namestringConditionalFull name (required if firstName/lastName not provided)
firstNamestringConditionalFirst name (required if name not provided)
lastNamestringConditionalLast name (required if name not provided)
middleNamestringNoMiddle name
dateOfBirthstringNoDate of birth (YYYY-MM-DD format)
genderstringNoGender ("male" or "female")
countryCodesarrayNoCountry filter for screening
thresholdintegerYesMatch threshold percentage (75, 80, 85, 90, 95, or 100)
datasetsarrayYesAML datasets to screen against

Name Field Requirements:

  • Option 1: Provide name (full name as single string)
  • Option 2: Provide firstName AND lastName (with optional middleName)

Example Response

{
  "id": "7ba85f64-8821-4562-c4gd-3d074g77bgb7",
  "firstName": "John",
  "middleName": "Andrew",
  "lastName": "Smith",
  "dateOfBirth": "1980-05-15",
  "gender": "male",
  "countryCodes": ["GB"],
  "threshold": 80,
  "type": "individual",
  "datasets": ["AM", "PEP", "SAN"],
  "status": "new",
  "riskRating": "veryLow",
  "totalHitCount": 3
}

Success Criteria

Condition
HTTP Status Code = 201
Search id returned
Search successfully created

Workflow Outputs

OutputDescription
searchIdUnique AML search identifier (mapped from response id)
totalHitCountNumber of AML matches returned
riskRatingCalculated AML risk level

Step 3: Retrieve Individual AML Search Hits

Retrieve AML screening hits associated with the previously created individual AML search.

Each hit represents a potential AML match and includes a unique hitId required for retrieval of the detailed AML intelligence profile.


Endpoint

GET /compliance/kyc-protect/searches/individuals/{searchId}/hits

Path Parameters

ParameterDescription
searchIdIndividual AML search identifier returned from Step 2

Example Response

[
  {
    "id": "hit-789",
    "firstName": "John",
    "middleName": "A",
    "lastName": "Smith",
    "dateOfBirth": "1980-05-15",
    "riskRating": "medium",
    "datasets": ["PEP"]
  }
]

Success Criteria

Condition
HTTP Status Code = 200
Hits collection returned (can be empty)

Workflow Outputs

OutputDescription
hitsCollection of AML matches (can be an empty array)
firstHitIdAML hit identifier from the first item in hits (not present when hits is empty)

Step 4: Retrieve Full Individual AML Hit Details

Retrieve the full compliance intelligence profile for a selected individual AML hit.

This endpoint provides detailed AML information associated with the selected screening result.


Endpoint

GET /compliance/kyc-protect/searches/individuals/{searchId}/hits/{hitId}

Path Parameters

ParameterDescription
searchIdIndividual AML search identifier
hitIdIndividual AML hit identifier

Example Response

{
  "id": "hit-789",
  "firstName": "John",
  "middleName": "A",
  "lastName": "Smith",
  "dateOfBirth": "1980-05-15",
  "gender": "male",
  "riskRating": "medium",
  "country": "GB",
  "datasets": ["PEP"],
  "adverseMedia": [],
  "sanctions": [],
  "pep": []
}

Success Criteria

Condition
HTTP Status Code = 200
Full AML intelligence returned

Workflow Outputs

OutputDescription
hitDetailsDetailed AML intelligence profile

Example End-to-End Workflow Sequence

AMLAPIAuthAPIClientAMLAPIAuthAPIClientPOST /authenticateaccessTokenPOST /searches/individualssearchId + hitCountGET /searches/individuals/{searchId}/hitsAML hits[]GET /searches/individuals/{searchId}/hits/{hitId}Full AML intelligence profile
AMLAPIAuthAPIClientAMLAPIAuthAPIClientPOST /authenticateaccessTokenPOST /searches/individualssearchId + hitCountGET /searches/individuals/{searchId}/hitsAML hits[]GET /searches/individuals/{searchId}/hits/{hitId}Full AML intelligence profile

Diagram summary: This sequence diagram shows the client authenticating first, then creating an individual search, retrieving hits for that search, and finally retrieving full details for one selected hit.


Workflow Decision Diagram

Yes

No

Yes

No

Yes

No

Yes

No

Authenticate

Authentication successful?

Create individual AML search

Authentication failed

Search successful?

Retrieve AML hits

Handle AML search failure

Any hits returned?

Select AML hit

No AML hits found

Retrieve full AML hit details

Details returned?

Workflow complete

Handle AML detail failure

Yes

No

Yes

No

Yes

No

Yes

No

Authenticate

Authentication successful?

Create individual AML search

Authentication failed

Search successful?

Retrieve AML hits

Handle AML search failure

Any hits returned?

Select AML hit

No AML hits found

Retrieve full AML hit details

Details returned?

Workflow complete

Handle AML detail failure

Diagram summary: This decision flow shows success and failure paths for each stage: authentication, search creation, hit retrieval, and detailed hit retrieval, ending in workflow completion or a stage-specific failure outcome.


Authentication Requirements

All requests following authentication must include the bearer token in the request header.

Example Header

Authorization: Bearer <token>

AML Match Threshold Guidance

The threshold property controls match sensitivity.

ThresholdBehavior
Lower ThresholdBroader match results
Higher ThresholdMore precise match results

Recommended production threshold values typically range between 80–90.


AML Dataset Configuration

The datasets property controls which screening datasets are evaluated during AML screening.

Example

{
  "datasets": ["AM", "PEP", "SAN"]
}

Dataset definitions are documented separately within the KYC Protect documentation.

Individual-Specific Dataset Notes

  • PEP datasets include both current and former politically exposed persons
  • PEP tier filtering can refine results by tier level
  • Some datasets available for business searches may not be available for individual searches

Required Workflow Inputs

Required:
  - username (string)
  - password (string)
  - threshold (integer: 75, 80, 85, 90, 95, or 100)
  - datasets (array)
  - name OR (firstName + lastName)

Optional:
  - middleName (string)
  - dateOfBirth (string, format: date)
  - gender (string: "male" or "female")
  - countryCodes (array, default: ["GB"])