Skip to main content

Core Screening Endpoints

The main screening endpoint enables you to screen customers and transactions against sanctions and other watchlists.

Screen Endpoint

POST /evaluation/sanctions/screen

Customer Screening

curl --location 'https://api.enigma.com/evaluation/sanctions/screen' \
--header 'x-api-key: <YOUR API KEY>' \
--header 'Content-Type: application/json' \
--header 'Account-Name: <YOUR ACCOUNT NAME>' \
--data '{
"tag": "example customer screening request",
"caller_id": "<some-user-hostname-info>",
"query_type": "enigma_data",
"configuration_overrides": {
"entity": {
"alert_threshold": 0.8,
"hit_threshold": 0.5,
"max_results": 30,
"weights": {
"person_name": 3,
"dob": 1,
"country_of_affiliation": 2,
"address": 1,
"org_name": 3
}
},
"general": {
"archive_retention_days": 90,
"entity_detail_level": "minimum",
"overrides_on": true
},
"list_groups": [
"pos/sdn/all",
"pos/non_sdn/all"
],
"text": {
"alert_threshold": 0.8,
"hit_threshold": 0.5
}
},
"searches": [
{
"type": "ENTITY",
"tag": "",
"entity_description": {
"person_name": [
"John Hanafin"
],
"dob": [
"19740710"
],
"country_of_affiliation": [
"Ireland"
]
}
}
]
}'

Transaction Screening

Text Search Availability

The request below showcases how to use customized tags within the request to fit your transaction format. This example has an originator, originator bank, recipient, recipient bank, and message field for TEXT search. Please note that unstructured text-based search (search denoted by "type": "TEXT") is not yet open for public evaluation but soon will be.

curl --location 'https://api.enigma.com/evaluation/sanctions/screen' \
--header 'x-api-key: <YOUR API KEY>' \
--header 'Content-Type: application/json' \
--header 'Account-Name: <YOUR ACCOUNT NAME>' \
--data '{
"tag": "example transaction screening request",
"query_type": "enigma_data",
"configuration_overrides": {
"entity": {
"alert_threshold": 0.8,
"hit_threshold": 0.5,
"max_results": 30,
"weights": {
"person_name": 3,
"dob": 1,
"country_of_affiliation": 2,
"address": 1,
"org_name": 3
}
},
"general": {
"archive_retention_days": 90,
"entity_detail_level": "minimum",
"overrides_on": true
},
"list_groups": [
"pos/sdn/all",
"pos/non_sdn/all"
],
"text": {
"alert_threshold": 0.8,
"hit_threshold": 0.5
}
},
"searches": [
{
"type": "ENTITY",
"tag": "originator",
"entity_description": {
"person_name": ["John D Hanafin"],
"country_of_affiliation": ["Ireland"]
}
},
{
"type": "ENTITY",
"tag": "originator bank",
"entity_description": {
"org_name": ["Wells Fargo"]
}
},
{
"type": "ENTITY",
"tag": "recipient",
"entity_description": {
"person_name": ["Sandra Milena Hernandez"],
"address": ["INVERSIONES MACARNIC PATINO Y CIA S.C.S. Pereira Risaralda Colombia"]
}
},
{
"type": "ENTITY",
"tag": "recipient bank",
"entity_description": {
"org_name": ["Banco de Bogota"],
"country_of_affiliation": ["Colombia"]
}
}
]
}'

Request Field Reference

Top-Level Fields

FieldDescriptionRequired
tagA description or string associated with the whole request. All tags are returned in the response.Yes
caller_idOptional hostname info associated with the request for troubleshooting.No
query_typeMust be the name of one of your account's existing query types. Default is enigma_data.Yes
configuration_overridesOverride default configuration settings for this request.No
searchesArray of search objects. See Search Fields below.Yes

Search Fields

Each item in the searches array contains:

FieldDescriptionRequired
typeSearch type: ENTITY, TEXT, LLM_ENTITY, or LLM_TEXTYes
tagA string to associate with this specific searchNo
entity_descriptionFor type ENTITY or LLM_ENTITY: attributes of the entity being searched. See Entity Description Fields.Yes (for ENTITY/LLM_ENTITY)
textFor type TEXT or LLM_TEXT: the text string to search.Yes (for TEXT/LLM_TEXT)

Search Types

The screening API supports four search types:

Standard Screening

TypeDescription
ENTITYScreen structured entity attributes (person or organization) against sanctions lists using weighted attribute matching. Scores are calculated based on configurable weights for each attribute (name, DOB, address, country, etc.). Best for screening customers, counterparties, and organizations with known structured data.
TEXTScreen unstructured text against sanctions lists using text matching algorithms. Identifies potential matches within free-form text such as transaction messages, payment references, or document content. Returns matches with span information indicating where in the text the match was found.

LLM-Enhanced Screening

TypeDescription
LLM_ENTITYScreen structured entity attributes enhanced with AI-powered live web search. An LLM agent gathers additional context from public web sources to provide richer screening results. Useful when you want to supplement sanctions list matching with current web intelligence about the entity.
LLM_TEXTScreen unstructured text enhanced with AI-powered live web search. The LLM agent analyzes the text and performs real-time web searches to identify potential risks and gather additional context not available in static sanctions lists.

The LLM_ENTITY and LLM_TEXT types combine traditional sanctions list screening with real-time web intelligence, enabling more comprehensive due diligence by surfacing publicly available information that may not yet appear on official watchlists.

Entity Description Fields

FieldDescription
person_nameFull name of the individual
org_nameOrganization name
dobDate of birth in yyyymmdd format
addressStreet address, city, state/province, postal code
country_of_affiliationCountry affiliation information

Response Field Reference

Top-Level Response Fields

FieldDescription
alertWhether at least one hit scored >= alert_threshold
caller_idThe caller_id from the request, if provided
configuration_usedThe full configuration object used for screening
query_typeThe query_type specified in the request
request_idUUID created at request time
request_timestampISO timestamp of the request
search_resultsArray of results corresponding to each search

Search Results Fields

FieldDescription
hitsArray of hits found for this search
search_indexIndex of the corresponding search
tagThe tag from the search, if provided
typeENTITY, TEXT, LLM_ENTITY, or LLM_TEXT
alertWhether any hit in this search scored >= alert_threshold

Entity Hit Fields

FieldDescription
attributesHit info broken down by attribute, with value and score
scoreOverall hit score (weighted average of attribute scores)
alertWhether this hit's score >= alert_threshold
entityEntity ID and lookup URL for the matched entity

Text Hit Fields

FieldDescription
entity_attributeInfo about what matched - entity_id, attribute info, etc.
scoreThe hit's score
alertWhether this hit's score >= alert_threshold
spanWord-based start/stop indices of the matched fragment

Attribute Types

  • Person Name: full name (title, first, middle, surname, suffix)
  • DOB: date of birth in yyyymmdd format
  • Address: street address, city, state/province, postal code
  • Country of Affiliation: matches against citizenship, nationality, place of birth
  • Organization Name: full name of the organization
  • Address: street address, city, state/province, postal code
  • Country of Affiliation: matches against country of domicile