Screening¶
Screen names against loaded sanctions lists using fuzzy and exact matching.
POST /api/v1/screen¶
Screen a name against all loaded sanctions lists.
Request
POST /api/v1/screen HTTP/1.1
Host: localhost:8080
Content-Type: application/json
{
"name": "Vladimir Putin",
"entityType": "INDIVIDUAL",
"sources": ["OFAC_SDN"],
"threshold": 0.80
}
Request Body Fields
Field |
Type |
Required |
Description |
|---|---|---|---|
|
string |
✅ Yes |
Name to screen against sanctions lists |
|
string |
No |
Filter by entity type: |
|
string[] |
No |
Filter by list sources: |
|
number |
No |
Minimum match score (0.0–1.0). Defaults to server-configured value (0.80) |
Response
{
"query": "Vladimir Putin",
"totalMatches": 2,
"screenedAt": "2026-03-18T12:00:00Z",
"results": [
{
"entity": {
"id": "36735",
"entityType": "INDIVIDUAL",
"listSource": "OFAC_SDN",
"primaryName": "PUTIN, Vladimir Vladimirovich",
"aliases": ["Vladimir PUTIN", "Владимир Путин"],
"nationalities": ["Russia"],
"programs": ["RUSSIA-EO14024"],
"remarks": "President of the Russian Federation",
"lastUpdated": "2024-01-15T00:00:00Z"
},
"score": 0.9412,
"matchedField": "alias[0]",
"matchAlgorithm": "JARO_WINKLER"
}
]
}
Response Fields
Field |
Type |
Description |
|---|---|---|
|
string |
The original query name |
|
integer |
Number of matches returned |
|
ISO 8601 |
Timestamp of the screening |
|
array |
Match results sorted by score descending |
|
number |
Match confidence score (0.0–1.0) |
|
string |
Which field matched ( |
|
string |
Algorithm used: |
Examples
curl -X POST http://localhost:8080/api/v1/screen \
-H "Content-Type: application/json" \
-d '{"name": "John Doe", "threshold": 0.85}'
import requests
response = requests.post(
"http://localhost:8080/api/v1/screen",
json={"name": "John Doe", "threshold": 0.85},
)
results = response.json()
HttpClient client = HttpClient.newHttpClient();
String body = """
{"name": "John Doe", "threshold": 0.85}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("http://localhost:8080/api/v1/screen"))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response =
client.send(request, HttpResponse.BodyHandlers.ofString());
Status Codes
Code |
Description |
|---|---|
|
Screening completed successfully |
|
Invalid request (e.g., blank name, threshold out of range) |