This webhook returns data from Veriff PEP and Sanctions, adverse media (AM) checks and ongoing monitoring (OGM) services. The payload is sent to Webhook watchlist screening URL, which you need to set up the webhook in the Veriff Customer Portal.
→ See Webhooks Guide > Set up webhooks sub-section for detailed overview of the setup process
In a nutshell: how AML Screening works
If you landed here first, here is the full picture before you dig into the payload details:
Veriff runs the PEP, Sanctions, and Adverse Media check using your integration's configuration. If you are using an IDV integration (document or document+selfie), Veriff also runs the identity verification checks and sends that result via a separate decision webhook, alongside this one. See AML Screening (enhanced) for the full flow.
Results are delivered to you via this webhook, or you can poll them via the GET /sessions/{sessionId}/watchlist-screening endpoint. The
reviewStatusfield tells you whether the person was found, and whether all hits have been reviewed. See the About reviewStatus field section in AML Screening (enhanced) for more info.If
reviewStatusispotential_match, you review each hit and record your decision using the PATCH /sessions/{sessionId}/watchlist-screening endpoint. See Managing screening results in the AML Screening (enhanced) for the request format.If ongoing monitoring is enabled, Veriff periodically re-checks the person and sends a new webhook if anything changes, this can reset
reviewStatusback topotential_matchuntil you acknowledge the change.
When is watchlist-screening webhook sent?
The webhook is sent after the PEP and Sanctions, adverse media and OGM checks have been passed.
Note that a new webhook will be sent if the system detects that the person's status in the database has changed.
A webhook is also sent when reviewStatus changes from potential_match to reviewed, that is, once you have submitted a review decision for every hit and acknowledged any pending monitoring changes. See "Managing screening results" in the AML Screening (enhanced) or AML Screening (legacy) guide.
Prerequisites
- Make sure you have access to the Veriff Customer Portal
- Set up webhook URL(s) on your side and have them at hand
- Make sure they match the Webhook URL requirements
- Make sure your system is able to handle Webhooks receipt, delivery and resending requirements
- Check the Webhooks headers and payload section for info
- Secure your communication, check the HMAC Authentication and Endpoint Security article
- Make sure your system is able to handle the Backwards compatible changes
Proceed to Watchlist-screening webhook setup below
Watchlist-screening webhook setup
Log in to the Veriff Customer Portal
Navigate to the Integrations page via the top menu and open the integration used for the AML solution
On the integration's page, select the Settings tab
Under the title Integration settings you see a list of webhooks
Fill in the
Webhook watchlist screening URL
→ See Webhooks Guide > Set up webhooks sub-section for detailed overview of the setup process
Additional notes
String reviewStatus shows the overall review state of the screening result:
no_matchindicates that the person was not found. Thehitsarray is emptypotential_matchindicates that one or more hits exist that have not yet been fully reviewedreviewedindicates that all hits have been reviewed
Note: The matchStatus field at the top level of the payload is deprecated. Use reviewStatus instead.
reviewed is not a permanent state. If ongoing monitoring later detects a change, hasUnacknowledgedChanges becomes true and reviewStatus reverts to potential_match, even if every hit had already been reviewed. See "Managing screening results" in the AML Screening (enhanced) or AML Screening (legacy) guide for how to acknowledge changes and review new hits.
Sample request
The examples below use placeholder data to show the mandatory parameters and possible fields for this webhook. Your production payload will contain real screening data for the verified end-user, not these placeholder values.
Some fields may be empty or missing: the
hitsarray is empty when no matches are found, and thelists,countries,exactMatch,matchThreshold, andexcludeDeceasedkeys insidesearchTermonly appear for the enhanced AML solution, not legacy.
Click to open a sample showing initial result, no match found
{
"checkType": "initial_result",
"attemptId": "aea9ba6d-1b47-47fc-a4fc-f72b6d3584a7",
"sessionId": "f04bdb47-d3be-4b28-b028-a652feb060b5",
"vendorData": "customer_ref_12345",
"endUserId": "c1de400b-1877-4284-8494-071d37916197",
"matchStatus": "no_match",
"reviewStatus": "no_match",
"hasUnacknowledgedChanges": false,
"monitorStatus": "enabled",
"searchTerm": {
"name": "John Smith",
"year": "1985",
"lists": [
"SANCTIONS",
"PEP_CLASS_1"
],
"countries": [
"US"
],
"exactMatch": false,
"matchThreshold": 80,
"excludeDeceased": true
},
"totalHits": 0,
"createdAt": "2021-07-05T13:23:59.851Z",
"hits": []
}
Click to open a sample showing initial result, match found
{
"checkType": "initial_result",
"attemptId": "54233318-f81c-4ec4-8e4c-413168a3f5e6",
"sessionId": "f04bdb47-d3be-4b28-b028-a652feb060b5",
"vendorData": "12345678",
"endUserId": "a1b2c35d-e8f7-6d5e-3cd2-a1b2c35db3d4",
"matchStatus": "possible_match",
"reviewStatus": "potential_match",
"hasUnacknowledgedChanges": false,
"monitorStatus": "enabled",
"searchTerm": {
"name": "Mirko Kokki",
"year": "1960",
"lists": [
"SANCTIONS",
"PEP_CLASS_1",
"PEP_CLASS_2"
],
"countries": [
"GB",
"US",
"FR"
],
"exactMatch": false,
"matchThreshold": 80,
"excludeDeceased": true
},
"totalHits": 5,
"createdAt": "2021-06-02T11:04:00.287Z",
"hits": [{
"id": "4KJL9THDX9ZNV4W",
"matchStatus": "potential_match",
"matchedName": "Miro kokkino",
"countries": [
"Australia",
"Brazil"
],
"dateOfBirth": "1960",
"dateOfDeath": null,
"matchTypes": [
"aka_exact"
],
"aka": [
"Kokki Mirko",
"Mirko Kokki"
],
"associates": [
"Desmon Lamela",
"Fred Austin"
],
"listingsRelatedToMatch": {
"warnings": [
{
"sourceName": "FBI Most Wanted",
"sourceUrl": "http://www.exampleUrl.com",
"date": null
}
],
"sanctions": [
{
"sourceName": "Example Source",
"sourceUrl": "https://www.exampleURL2.com",
"date": null
},
{
"sourceName": "Example Source 2",
"sourceUrl": "https://www.exampleURL3.com",
"date": null
}
],
"fitnessProbity": [
{
"sourceName": "Example Source 3",
"sourceUrl": "https://www.exampleURL4.com"
}
],
"pep": [
{
"sourceName": "Example Source 4",
"sourceUrl": "https://www.exampleURL5.com"
}
],
"adverseMedia": [
{
"date": "2020-09-23T00:00:00Z",
"sourceName": "Example Source 5",
"snippet": "Sang Tan Judges in the High Court in London have ruled that Saleh Ibrahim Mabrouk, a former aide of Libyan leader Colonel Muammar Gaddafi, was partly to blame for the murder of PC Yvonne Fletcher. The gunman",
"sourceUrl": "https://www.exampleURL6.com"
}
]
}
}
]
}
Click to open a sample showing monitoring update payload
Sent when ongoing monitoring detects a change in the person's status. checkType is updated_result and hasUnacknowledgedChanges is true.
{
"checkType": "updated_result",
"attemptId": "aea9ba6d-1b47-47fc-a4fc-f72b6d3584a7",
"sessionId": "f04bdb47-d3be-4b28-b028-a652feb060b5",
"vendorData": "customer_ref_12345",
"endUserId": "c1de400b-1877-4284-8494-071d37916197",
"matchStatus": "possible_match",
"reviewStatus": "potential_match",
"hasUnacknowledgedChanges": true,
"monitorStatus": "enabled",
"searchTerm": {
"name": "Maria Santos",
"year": "1978",
"lists": [
"SANCTIONS",
"PEP_CLASS_1",
"PEP_CLASS_2"
],
"countries": [
"BR",
"US"
],
"exactMatch": false,
"matchThreshold": 80,
"excludeDeceased": false
},
"totalHits": 1,
"createdAt": "2021-07-15T08:45:22.123Z",
"hits": [{
"id": "7RMP2WNBY3KHQ8F",
"matchStatus": "potential_match",
"matchedName": "Maria Santos Silva",
"countries": [
"Brazil"
],
"dateOfBirth": "1978",
"dateOfDeath": null,
"matchTypes": [
"matching_name",
"year_of_birth"
],
"aka": [
"Maria S. Silva"
],
"associates": [],
"listingsRelatedToMatch": {
"warnings": [],
"sanctions": [],
"fitnessProbity": [],
"pep": [
{
"sourceName": "Brazil Government Officials Database",
"sourceUrl": null,
"date": "2021-07-14"
}
],
"adverseMedia": [
{
"sourceName": "Local News Reports",
"snippet": "Brazilian government official Maria Santos Silva appeared on a regional PEP watchlist following appointment to a federal oversight committee.",
"sourceUrl": null,
"date": "2021-07-10"
}
]
}
}]
}
Click to open a sample showing a “reviewed” case
{
"checkType": "updated_result",
"attemptId": "9f3c2e71-6b84-4a2f-8e2a-3c1f7e5d9b0a",
"sessionId": "f04bdb47-d3be-4b28-b028-a652feb060b5",
"vendorData": "customer_ref_67890",
"endUserId": "d2e510c6-2988-4395-9a15-7c3f28a37b62",
"matchStatus": "possible_match",
"reviewStatus": "reviewed",
"hasUnacknowledgedChanges": false,
"monitorStatus": "enabled",
"searchTerm": {
"name": "Mirko Kokki",
"year": "1960",
"lists": [
"SANCTIONS",
"PEP_CLASS_1"
],
"countries": [
"GB"
],
"exactMatch": false,
"matchThreshold": 80,
"excludeDeceased": true
},
"totalHits": 1,
"createdAt": "2021-06-05T09:12:41.502Z",
"hits": [{
"id": "4KJL9THDX9ZNV4W",
"matchStatus": "true_match",
"riskLevel": "high",
"matchedName": "Miro Kokkino",
"countries": ["Australia"],
"dateOfBirth": "1960",
"dateOfDeath": null,
"matchTypes": ["aka_exact"],
"aka": ["Kokki Mirko", "Mirko Kokki"],
"associates": ["Desmon Lamela"],
"listingsRelatedToMatch": {
"warnings": [],
"sanctions": [{
"sourceName": "Example Source",
"sourceUrl": "https://www.exampleURL2.com",
"date": null
}],
"fitnessProbity": [],
"pep": [],
"adverseMedia": []
}
}]
}Request properties
checkType:stringIndicates the succession of the check, one ofinitial_result,updated_resultattemptId:stringUUID v4 which identifies session attemptsessionId:stringUUID v4 which identifies sessionvendorData:string | nullThe unique identifier that you created for your end-userendUserId:string | nullTheUUIDthat you created for your end-usermatchStatus:stringDeprecated. UsereviewStatusinstead. Indicates if there was a match in the database, one ofpossible_match,no_matchreviewStatus:stringOverall review state of the screening result, one ofno_match,potential_match,reviewedhasUnacknowledgedChanges:booleanIndicates whether there are unacknowledged changes from ongoing monitoring that require attentionmonitorStatus:stringIndicates if ongoing monitoring is enabled or disabled for this session, one ofenabled,disabledsearchTerm:objectData used to perform the checkname:stringFull name used during the checkyear:stringBirth year used during the checklists:arrayList of watchlists against which the check was performed. Available only for enhanced AML solutioncountries:arrayList of countries associated with the check, as ISO 3166-1 Alpha-2 country code. Available only for enhanced AML solutionexactMatch:booleanIndicates whether the name used in the check required an exact match. Available only for enhanced AML solutionmatchThreshold:integerConfigured matching percentage threshold. Available only for enhanced AML solutionexcludeDeceased:booleanIndicates whether deceased individuals were excluded from the check. Available only for enhanced AML solution
totalHits:integerTotal number of hits returned from the checkcreatedAt:stringTimestamp indicating when the check was performedhits:arrayCheck response hits array of matched records. Empty array if no hits were foundid:stringUnique identifier of this hit. Use this ID when submitting review decisions via the PATCH endpointmatchStatus:stringReview decision for this specific hit, one offalse_positive,potential_match,true_match,inconclusiveriskLevel:stringRisk level for this hit, one oflow,high. Only present when hit-levelmatchStatusistrue_matchmatchedName:stringThe name that was matched in this hit based on the search termcountries:arrayList of countries that sources listed in relation to this hitdateOfBirth:stringBirth date of the person in the matched listingsdateOfDeath:stringDeath date of the person in the matched listingsmatchTypes:arrayArray that shows the match type in the listings. See data provider's documentation[↗] for possible valuesaka:arrayArray of names that the matched person is also known asassociates:arrayArray of names that the matched person is associated withlistingsRelatedToMatch:objectMatched listings. Optional, empty object if "PEP & Sanctions" add-on is not enabledwarnings:arrayArray of warning matches. Empty array if no warnings were foundsourceName:stringName of the listingsourceUrl:stringURL of the listingdate:string | nullDate of the listing.nullif listing does not have a date
sanctions:arrayArray of sanctions matches. Empty array if no sanctions were foundsourceName:stringName of the listingsourceUrl:stringURL of the listingdate:string | nullDate of the listing.nullif listing does not have a date
fitnessProbity:arrayArray of fitness probity matches. Empty array if no fitness probities were foundsourceName:stringName of the listingsourceUrl:stringURL of the listingdate:string | nullDate of the listing.nullif listing does not have a date
pep:arrayArray of PEP matches. Empty array if no PEP matches were foundsourceName:stringName of the listingsourceUrl:stringURL of the listingdate:string | nullDate of the listing.nullif listing does not have a date
adverseMedia:arrayArray of media matches. Empty array if no media were foundsourceName:stringName of the listingsnippet:stringText snippet of the related listingsourceUrl:stringURL of the listingdate:string | nullDate of the listing.nullif listing does not have a date
Changelog
Date | Description |
|---|---|
Jul 8, 2026 |
|
Feb 10, 2026 |
|
Feb 2, 2026 | New string |
Jun 6, 2025 | Heading “Article versioning” changed to “Changelog” |
Apr 12, 2025 | Link added to |
Mar 12, 2025 | Documentation published |