This page describes the production-focused AML screening workflow for business entities:
- Authenticate - Generate authentication token
- Create Business AML Search - Submit company screening request
- Retrieve AML Hits - Get list of potential matches
- Retrieve Full AML Intelligence - Get detailed compliance data
This deterministic sequence helps teams integrate quickly and reduces implementation ambiguity.
Diagram summary: This flowchart shows a single linear path with four steps: authenticate, create a business AML search, retrieve AML search hits, and retrieve full AML hit details.
Workflow Summary: Authenticate with the platform, perform a business AML screening search, retrieve screening hits, and retrieve detailed compliance intelligence for a selected match.
| Step | OperationId | Endpoint | Purpose |
|---|---|---|---|
| 1 | authenticate | POST /authenticate | Generate authentication token |
| 2 | KYCSearchBusiness | POST /compliance/kyc-protect/searches/businesses | Create AML screening search |
| 3 | GetKYCSearchBusinessHitsBySearchId | GET /compliance/kyc-protect/searches/businesses/{searchId}/hits | Retrieve AML hits |
| 4 | GetKYCSearchBusinessHitsBySearchIdAndHitId | GET /compliance/kyc-protect/searches/businesses/{searchId}/hits/{hitId} | Retrieve full AML intelligence |
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.
POST /authenticate{
"username": "your-username",
"password": "your-password"
}{
"token": "eyJhbGciOi..."
}| Condition |
|---|
HTTP Status Code = 200 |
| Authentication token returned |
| Output | Description |
|---|---|
accessToken | Bearer token used for subsequent API requests |
Create a Business AML screening search using the supplied company details.
The API performs screening across the configured AML datasets and returns a unique search identifier in the id field.
POST /compliance/kyc-protect/searches/businesses{
"countryCodes": [
"GB"
],
"threshold": 85,
"name": "Creditsafe",
"datasets": [
"AM"
]
}| Property | Type | Required | Description |
|---|---|---|---|
countryCodes | array | No | Country filter for screening |
threshold | integer | Yes | Match threshold percentage (75, 80, 85, 90, 95, or 100) |
name | string | Yes | Business name to screen |
datasets | array | Yes | AML datasets to screen against |
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "Creditsafe Ltd",
"countryCodes": [
"GB"
],
"threshold": 85,
"type": "business",
"datasets": [
"AM"
],
"status": "new",
"riskRating": "veryLow",
"totalHitCount": 1
}| Condition |
|---|
HTTP Status Code = 200 |
Search id returned |
| Search successfully created |
| Output | Description |
|---|---|
searchId | Unique AML search identifier (mapped from response id) |
totalHitCount | Number of AML matches returned |
riskRating | Calculated AML risk level |
Retrieve AML screening hits associated with the previously created AML search.
Each hit represents a potential AML match and includes a unique hitId required for retrieval of the detailed AML intelligence profile.
GET /compliance/kyc-protect/searches/businesses/{searchId}/hits| Parameter | Description |
|---|---|
searchId | AML search identifier returned from Step 2 |
[
{
"id": "c4b6f41f-3ef8-44f6-9e79-812e55b8df9d",
"name": "Creditsafe Holdings Ltd",
"riskRating": "medium",
"datasets": [
"AM"
]
}
]| Condition |
|---|
HTTP Status Code = 200 |
| Hits collection returned (can be empty) |
| Output | Description |
|---|---|
hits | Collection of AML matches (can be an empty array) |
firstHitId | AML hit identifier from the first item in hits (not present when hits is empty) |
Retrieve the full compliance intelligence profile for a selected AML hit.
This endpoint provides detailed AML information associated with the selected screening result.
GET /compliance/kyc-protect/searches/businesses/{searchId}/hits/{hitId}| Parameter | Description |
|---|---|
searchId | AML search identifier |
hitId | AML hit identifier |
{
"id": "c4b6f41f-3ef8-44f6-9e79-812e55b8df9d",
"name": "Creditsafe Holdings Ltd",
"riskRating": "medium",
"country": "GB",
"datasets": [
"AM"
],
"adverseMedia": [],
"sanctions": [],
"pep": []
}| Condition |
|---|
HTTP Status Code = 200 |
| Full AML intelligence returned |
| Output | Description |
|---|---|
hitDetails | Detailed AML intelligence profile |
Diagram summary: This sequence diagram shows the client authenticating first, then creating a business search, retrieving hits for that search, and finally retrieving full details for one selected hit.
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.
All requests following authentication must include the bearer token in the request header.
Authorization: Bearer <token>The threshold property controls match sensitivity.
| Threshold | Behavior |
|---|---|
| Lower Threshold | Broader match results |
| Higher Threshold | More precise match results |
Recommended production threshold values typically range between 80–90.
The datasets property controls which screening datasets are evaluated during AML screening.
{
"datasets": ["AM"]
}Dataset definitions are documented separately within the KYC Protect documentation.
Required:
- username (string)
- password (string)
- threshold (integer: 75, 80, 85, 90, 95, or 100)
- businessName (string)
- datasets (array)
Optional:
- countryCodes (array, default: ["GB"])