Skip to main content

Sanctions Screening v2

Sanctions Screening v2 screens an individual or company against global sanctions lists, PEP (Politically Exposed Persons) databases and adverse media. It uses the same screening engine as the Azakaw app, so every screening you run through the API:

  • appears in Case Management in the Azakaw app, with its hits ready for your compliance team to review;
  • keeps a search status (Open, Closed, UnderReview) that reflects your team's review;
  • can be enrolled in ongoing monitoring;
  • can be assigned to a client.

Migrating from v1​

Sanctions Screening v1 (POST /ExtSanctionScreening/Search) keeps working unchanged. New integrations should use v2.

Each v2 screening creates a case

Every v2 screening creates a case in your Azakaw Case Management, visible to your compliance team. If you screen high volumes through the API, plan for your team's review workload.

v1v2
EndpointPOST /ExtSanctionScreening/SearchPOST /ExtSanctionScreening/v2/Search
Result visible in Case ManagementNoYes
Hits reviewable by your compliance teamNoYes
Ongoing monitoringNoOptional (isMonitored)
Client assignmentNoYes (clientId)
Extended search parametersNoYes, when enabled for your tenant
Re-fetch results laterNoGet Screening Hits
Request bodyname, countries, entityType, entityDateThe same fields plus new optional ones. A v1 body in the documented format is also a valid v2 body, unless your API key is restricted to several clients: then clientId is required (see Client Assignment)
Response bodySee v1 responseNew shape. See Response

Authentication​

All requests to this API require authentication using a bearer token in the Authorization header:

Authorization: Bearer your-token-here

For details on how to obtain an authentication token, please refer to the Authentication documentation.

Screen a Name​

POST {base_url}/ExtSanctionScreening/v2/Search

The screening runs synchronously and returns the first page of hits (up to 50). Use Get Screening Hits to page through the rest or to read the latest review status later.

Request Body​

{
"name": "John Doe",
"entityType": "person",
"countries": ["GB"],
"entityDate": "1980-05-31",
"isMonitored": true,
"clientId": "4c0a9a4e-5f0e-4f35-9d2b-2b8f3f7b9a10"
}

Parameters​

ParameterTypeRequiredDescription
namestringYesName of the individual or company to screen (2-100 characters)
entityTypestringYesperson or company
countriesarrayNoISO 3166-1 alpha-2 country codes to narrow the search. No duplicates
entityDatestringNoDate of birth (person) or establishment date (company), YYYY-MM-DD. Cannot be in the future
isMonitoredbooleanNoEnrol the screening in ongoing monitoring. Defaults to false. See Ongoing Monitoring
clientIdstringDependsThe client the screening belongs to. See Client Assignment

Extended Search Parameters​

These fields sharpen the match and are only accepted when extended search parameters are enabled for your tenant. Sending any of them otherwise returns 400.

ParameterTypeApplies toDescription
idPassportNumberstringpersonNational ID or passport number (max 50 characters)
genderstringpersonMale or Female
countryOfResidencestringpersonISO 3166-1 alpha-2 country code
registrationNumberstringcompanyCompany registration number (max 100 characters)

Client Assignment​

Your API key is…clientId omittedclientId provided
Not restricted to clientsYour tenant's default client is usedMust be a client in your tenant
Restricted to one clientThat client is usedMust be that client
Restricted to several clients400: clientId is requiredMust be one of those clients

Response​

{
"version": null,
"statusCode": 200,
"messages": ["Processed successfully"],
"result": {
"id": "0f6b8c52-3d7e-4a3f-8e0e-5b9a1c2d4e6f",
"name": "John Doe",
"countries": ["GB"],
"entityType": "person",
"entityDate": "1980-05-31",
"screeningStatus": "Succeeded",
"searchStatus": "Open",
"isMonitored": true,
"numOfHits": 1,
"createdAt": "2026-09-18T10:15:02.4410000Z",
"updatedAt": null,
"lastScreened": "2026-09-18T10:15:04.9810000Z",
"lastUpdated": null,
"clientId": "4c0a9a4e-5f0e-4f35-9d2b-2b8f3f7b9a10",
"clientName": "Retail Banking",
"extendedSearchParameters": null,
"summary": {
"level": "Elevated",
"score": 80,
"sanctions": 1,
"pep": 0,
"adverseMedia": 4
},
"hits": {
"pageNumber": 1,
"pageSize": 50,
"totalRecords": 1,
"items": [
{
"hitId": "66f2a1c9e4b0a7d3c1f5e829",
"name": "John Doe",
"entitySubType": "Individual",
"countries": "United Kingdom",
"aliases": "Johnny Doe",
"birthOrFoundationDates": "1980-05-31",
"riskType": "Sanctions",
"riskScore": 90,
"strength": 0.97,
"indicators": [
{ "category": "Sanctions", "count": 1, "maxScore": 90 }
]
}
]
}
}
}

Response Fields​

FieldTypeDescription
idstringScreening ID. Use it with Get Screening Hits
namestringThe name that was screened
countriesarrayCountry codes used to narrow the search
entityTypestringperson or company
entityDatestringDate of birth or establishment date (YYYY-MM-DD), or null
screeningStatusstringOutcome of the screening run: Succeeded, Failed or InProgress
searchStatusstringCase status: Open (hits need review), Closed or UnderReview
isMonitoredbooleanWhether the screening is under ongoing monitoring
numOfHitsnumberTotal number of hits
createdAtdatetimeWhen the screening was created (UTC)
updatedAtdatetimeWhen the screening was last changed (UTC), or null if never
lastScreeneddatetimeWhen the name was last screened, including by ongoing monitoring (UTC)
lastUpdateddatetimeWhen ongoing monitoring last found a change (UTC), or null if never
clientIdstringClient the screening belongs to
clientNamestringName of that client
extendedSearchParametersobjectThe extended search parameters used, or null
summaryobjectRisk summary. See Summary Fields
hitsobjectA page of hits. See Hit Fields

Summary Fields​

FieldTypeDescription
levelstringRisk level: Low, Medium, Elevated or High
scorenumberOverall risk score (0-100)
sanctionsnumberCount of sanctions list matches
pepnumberCount of politically exposed person matches
adverseMedianumberCount of adverse media mentions

Hit Fields​

FieldTypeDescription
hits.pageNumbernumberPage returned
hits.pageSizenumberPage size used
hits.totalRecordsnumberTotal number of hits
hits.items[].hitIdstringHit identifier
hits.items[].namestringName of the matched entity
hits.items[].entitySubTypestringType of the matched entity
hits.items[].countriesstringCountries associated with the match
hits.items[].aliasesstringKnown aliases, comma-separated
hits.items[].birthOrFoundationDatesstringKnown dates of birth or foundation, comma-separated
hits.items[].riskTypestringType of risk identified (e.g. Sanctions, PEP, News Media)
hits.items[].riskScorenumberRisk score for this match (0-100)
hits.items[].strengthnumberMatch strength (0-1)
hits.items[].indicatorsarrayRisk indicators behind the hit (category, count, maxScore)

Get Screening Hits​

POST {base_url}/ExtSanctionScreening/v2/{screeningId}/Hits

Returns the screening with a page of its hits, including the current searchStatus as your team reviews the case in the Azakaw app. The request body is optional; without one, the first 50 hits are returned.

Request Body​

{
"pageNumber": 2,
"pageSize": 50
}

Parameters​

ParameterTypeRequiredDescription
screeningIdstring (path)YesThe id returned by Screen a Name
pageNumbernumberNoPage to return, starting at 1. Defaults to 1
pageSizenumberNoHits per page, 1-100. Defaults to 50

Response​

Same shape as the Screen a Name response, with hits holding the requested page.

A screening that does not exist, belongs to another tenant, or belongs to a client your API key is not permitted for returns 400 with the message Screening not found. Some older screenings created in the Azakaw app cannot be read through the API and return 400 with the message Screening is not available through this API.

Ongoing Monitoring​

With isMonitored: true the screened name is re-checked automatically as the underlying lists change. New or changed hits show up in the Azakaw app and in Get Screening Hits. Monitoring can be turned off from the Azakaw app.

note

Ongoing monitoring is a recurring service and is billed according to your plan.

Error Handling​

Status CodeDescriptionSolution
400Invalid request parameters, a client your key cannot use, extended search parameters not enabled, or screening not foundCheck the message in messages
401Unauthorized accessCheck authentication token
403Your API key is not permitted to call this endpointAsk Azakaw to enable Sanctions Screening v2 for your key
429Too many requestsImplement rate limiting and retry with backoff
500The screening provider could not be reachedRetry later