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
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.
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
- Secure your communication, check the HMAC Authentication and Endpoint Security article
- Make sure your system is able to handle the Backwards compatible changes
5.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
matchStatus
shows if the person has a match in any of the listings or databases:
possible_match
indicates that the person was found. Thehits
array is populated with data about the person
no_match
indicates that the person was not found. Thehits
array is empty
Sample request
{
"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",
"searchTerm": {
"name": "Mirko Kokki",
"year": "1960"
},
"totalHits": 5,
"createdAt": "2021-06-02T11:04:00.287Z",
"hits": [{
"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",
"sourceUrl": "https://www.exampleURL6.com"
}
]
}
}
]
}
Request properties
*Required field
checkType
:updated_result
* Indicates if the succession of the check, one ofintial_result
,updated_result
attemptId
:string
* UUID v4 which identifies session attemptsessionId
:string
* UUID v4 which identifies sessionvendorData
:string | null
* The unique identifier that you created for your end-userendUserId
:string | null
* TheUUID
that you created for your end-usermatchStatus
:string
* Indicates the result of the search, one ofpossible_match
,no_match
searchTerm
:object
* Data used to perform the checkname
:string
Full name used during the checkyear
:string
Birth year used during the check
totalHits
:integer
* total number of hits returned from the checkcreatedAt
:string
* Timestamp indicating when the check was performedhits
:array
* Check response hits array of matched records. Empty array if no hits were foundmatchedName
:string
The name that was matched in this hit based on the search termcountries
:array
List of countries that sources listed in relation to this hitdateOfBirth
:string
Birth date of the person in the matched listingsdateOfDeath
:string
Death date of the person in the matched listingsmatchTypes
:array
Array that shows the match type in the listings. See data provider’s documentation[↗] for possible valuesaka
:array
Array of names that the matched person is also known asassociates
:array
Array of names that the matched person is associated withlistingsRelatedToMatch
:object
Matched listings. Optional, empty object if "PEP & Sanctions" add-on is not enabledwarnings
:array
Array of warning matches. Empty array if no warnings were foundsourceName
:string
Name of the listingsourceUrl
:string
URL of the listingdate
:string | null
Date of the listing.Null
if listing doesn't have a date
sanctions
:array
Array of sanctions matches. Empty array if no sanctions were foundsourceName
:string
Name of the listingsourceUrl
:string
Url of the listingdate
:string
Date of the listing.Null
if listing doesn't have a date
fitnessProbity
:array
Array of fitness probity matches. Empty array if no fitness probities were foundsourceName
:string
Name of the listingsourceUrl
:string
URL of the listingdate
:string | null
Date of the listing.Null
if listing doesn't have a date
pep
:array
Array of PEP matches. Empty array if no PEP matches were foundsourceName
:string
Name of the listingsourceUrl
:string
URL of the listingdate
:string | null
Date of the listing.Null
if listing doesn't have a date
adverseMedia
:array
Array of media matches. Empty array if no media were foundsourceName
:string
Name of the listingsourceUrl
:string
URL of the listingdate
:string | null
Date of the listing.Null
if listing does not have a date
Article versioning
Date | Description |
---|---|
Apr 12, 2025 | Link added to |
Mar 12, 2025 | Documentation published |