LSEG World-Check One Client Watchlist API
Maintain custom client watchlist sources and records for screening.
Maintain custom client watchlist sources and records for screening.
swagger: '2.0'
info:
title: London Stock Exchange Group LSEG World-Check One Api-Info Client-Watchlist API
description: 'The World-Check One API enables developers to integrate the next generation of LSEG screening capabilities into existing workflows and internal systems (such as CRMs) in order to help streamline the processes for on-boarding, KYC and third party due diligence.
The API provides, among other features:
- The ability to screen entity names, with or without secondary fields such as date of birth for individuals. These names are called “cases” within the World-Check One system.
- The ability to retrieve results of the screening process from the World-Check database
- The ability to flag cases for Ongoing Screening, and retrieve the World-Check results from the Ongoing Screening process.
- The ability to submit request for reports.
- The ability to fetch the status of the report requests and download the completed reports.
> © 2018 - 2023 LSEG. All rights reserved. Republication or redistribution of LSEG content, including by framing or similar means, is prohibited without the prior written consent of LSEG. ''LSEG'' and the LSEG logo are registered trademarks and trademarks of LSEG and its affiliated companies.
'
version: 2.61.0
termsOfService: https://www.lseg.com/en/risk-intelligence/screening-solutions/world-check-kyc-screening/one-kyc-verification
contact:
name: LSEG World-Check One API Q&A
url: https://community.developers.refinitiv.com/index.html
email: c3r.api1@lseg.com
license:
name: Commercial
url: https://www.lseg.com/en/risk-intelligence/screening-solutions/world-check-kyc-screening/one-kyc-verification
host: api-worldcheck.refinitiv.com
basePath: /v2
schemes:
- https
consumes:
- application/json
produces:
- application/json
- application/octet-stream
tags:
- name: Client-Watchlist
description: Operations for the Watchlist domain.
paths:
/reference/providers/sources/{identifier}:
put:
operationId: createOrUpdateProviderSource
tags:
- Client-Watchlist
summary: London Stock Exchange Group Create or update a provider source
description: 'Create or update a provider source for uploading entity records to. An example usage would be for a client watchlist.
'
parameters:
- name: Authorization
description: The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)
in: header
type: string
required: true
- name: Date
description: The date and time at which the message was originated in 'RFC 1123' format
in: header
type: string
required: true
- name: Content-Type
description: The media type of the request (e.g., 'application/json')
in: header
type: string
required: true
- name: Content-Length
description: The length of the request body in octets (8-bit bytes)
in: header
type: integer
required: true
- name: identifier
description: Unique identifier for this provider source. Has to be alphanumeric.
in: path
required: true
type: string
- name: providerSource
in: body
description: Provider source details
required: true
schema:
$ref: '#/definitions/ProviderSource'
responses:
204:
description: Provider source definition updated
400:
$ref: '#/responses/BadRequest'
401:
$ref: '#/responses/Unauthorized'
404:
$ref: '#/responses/CannotReturnResponse'
415:
$ref: '#/responses/UnsupportedMediaType'
429:
$ref: '#/responses/TooManyRequests'
500:
$ref: '#/responses/UnexpectedError'
/reference/watchlist:
post:
operationId: saveWatchlist
tags:
- Client-Watchlist
summary: London Stock Exchange Group Maintain your Watchlist data
description: "Maintain your Watchlist data using the following supported entity actions.\n\n* entityCreateOrUpdate - Add a new entity to your Watchlist or replace if it already exists.\n\n* entityDelete - Mark the given entity as deleted in your Watchlist.\n\n* entitySupersede - Supersede enables you to redirect matches against your superseded entity to a new entity. This\nis useful if you want to redirect users with existing matches against an old entity to a newer / more accurate\nversion of those entities.\n\n* entityPurge - Purge enables you to remove an entity as required by GDPR whereby the personally identifiable\ninformation is removed.\n\nDue to the large number of entries within a Watchlist it is not possible to update the entire Watchlist in a single request\nThe overall request must be split into blocks of up to 500 individual entity actions.\n\n\nThe response consists of a list of any entities which were not successfully processed and a reason for failure.\n\n**Note:** The client watchlist record may not be considered for re-screening if the 'modificationDate' field \n has not been specified while modifying the record.\n"
parameters:
- name: Authorization
description: The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)
in: header
type: string
required: true
- name: Date
description: The date and time at which the message was originated in 'RFC 1123' format
in: header
type: string
required: true
- name: Content-Type
description: The media type of the request (e.g., 'application/json')
in: header
type: string
required: true
- name: Content-Length
description: The length of the request body in octets (8-bit bytes)
in: header
type: integer
required: true
- name: watchlistDataSet
in: body
description: A collection of maintenance actions to be performed on your Watchlist.
required: true
schema:
$ref: '#/definitions/WatchlistDataSet'
responses:
201:
description: Request to maintain Watchlist data has succeeded. Please review the contents of WatchlistResponse errors for details on any individual entity actions which were not successful.
schema:
$ref: '#/definitions/WatchlistResponse'
400:
$ref: '#/responses/BadRequest'
401:
$ref: '#/responses/Unauthorized'
404:
$ref: '#/responses/CannotReturnResponse'
415:
$ref: '#/responses/UnsupportedMediaType'
429:
$ref: '#/responses/TooManyRequests'
500:
$ref: '#/responses/UnexpectedError'
definitions:
FileMeta:
type: object
required:
- caption
- uri
properties:
caption:
type: string
uri:
type: string
tags:
type: array
description: "Label(s) for the corresponding uri. For example,\n - PHOTO indicates the page represented by the uri contains images.\n - PDF indicates the page represented by the uri contains PDFs.\n"
items:
type: string
EntityPurge:
type: object
required:
- entityId
properties:
entityId:
type: string
purgedDate:
type: string
format: date-time
LanguageCode:
type: object
properties:
code:
type: string
name:
type: string
ProviderSourceType:
type: object
properties:
category:
$ref: '#/definitions/ProviderSourceTypeCategoryDetail'
identifier:
type: string
name:
type: string
Country:
type: object
required:
- code
- name
properties:
code:
type: string
name:
type: string
AbstractAssociate:
type: object
description: 'The `AbstractAssociate` subclasses corresponding to each type of entity are:
* `COUNTRY`: `CountryAssociate`
* `INDIVIDUAL`: `IndividualAssociate`
* `ORGANISATION`: `OrganisationAssociate`
* `VESSEL`: `VesselAssociate`
'
discriminator: associateEntityType
required:
- associateEntityType
- entityType
properties:
associateEntityType:
type: string
description: Discriminator field. Might go away in a future major version of the API
entityType:
type: string
description: 'Profile Entity Type Enumeration.
The `Entity` subclasses corresponding to each type of entity are:
* `COUNTRY` : `CountryEntity`
* `INDIVIDUAL` : `IndividualEntity`
* `ORGANISATION` : `OrganisationEntity`
* `VESSEL` : `VesselEntity`
'
enum:
- COUNTRY
- INDIVIDUAL
- ORGANISATION
- VESSEL
reversed:
type: boolean
default: false
targetEntityId:
type: string
targetExternalImportId:
type: string
type:
type: string
description: Associate Type Enumeration
default: UNKNOWN
enum:
- ADVISOR
- AGENT_REPRESENTATIVE
- AFFILIATED_COMPANY
- AFFILIATED_ORGANIZATION
- AFFILIATED_POSITION
- ASSET
- ASSISTANT
- ASSOCIATE
- ASSOCIATED_SPECIAL_INTEREST_PERSON
- AUNT
- BANKER
- BRANCH_OFFICE
- BROTHER
- BROTHER_IN_LAW
- BUSINESS_ASSOCIATE
- CHILD
- CLIENT
- COLLEAGUE
- COUSIN
- CO_DEFENDANT
- DAUGHTER
- DAUGHTER_IN_LAW
- DIRECTOR
- DOC_COMPANY
- EMPLOYEE
- EMPLOYER
- EXECUTIVE
- EX_HUSBAND
- EX_WIFE
- FAMILY
- FAMILY_MEMBER
- FATHER
- FATHER_IN_LAW
- FINANCIAL_ADVISOR
- FRIEND
- FRONT_COMPANY
- GRANDDAUGHTER
- GRANDFATHER
- GRANDMOTHER
- GRANDSON
- GRAND_CHILD
- GROUP_BENEFICIAL_OWNER
- HUSBAND
- KEY_MEMBER
- LEGAL_ADVISOR
- MISC
- MOTHER
- MOTHER_IN_LAW
- NEPHEW
- NIECE
- NOMINEE
- OPERATOR
- OWNER
- PARENT
- POLITICAL_ADVISOR
- REGISTERED_OWNER
- RELATIVE
- SAME_SEX_SPOUSE
- SENIOR_OFFICIAL
- SHAREHOLDER_OWNER
- SHIP_MANAGER
- SISTER
- SISTER_IN_LAW
- SON
- SON_IN_LAW
- SPOUSE
- STEP_DAUGHTER
- STEP_SON
- STEPFATHER
- STEPMOTHER
- SUBSIDIARY
- TECHNICAL_MANAGER
- UNCLE
- UNKNOWN
- UNMARRIED_PARTNER
- WIFE
targetPrimaryName:
type: string
creationDate:
type: string
format: date-time
modificationDate:
type: string
format: date-time
updateCategory:
type: string
description: Entity Update Category Enumeration
enum:
- C1
- C2
- C3
- C4
- C6
- UNKNOWN
category:
type: string
targetCategories:
type: array
description: List of names of [ProviderSourceTypeCategoryDetail](#ProviderSourceTypeCategoryDetail) in sources of target Entity.
uniqueItems: true
items:
type: string
EntityType:
type: string
description: Entity type of the case.
enum:
- INDIVIDUAL
- ORGANISATION
- VESSEL
- COUNTRY
Detail:
type: object
properties:
detailType:
type: string
description: Detail Type Enumeration
default: UNKNOWN
enum:
- BIOGRAPHY
- FUNDING
- IDENTIFICATION
- NOTE
- REPORTS
- REGULATION
- SANCTION
- UNKNOWN
text:
type: string
title:
type: string
maxLength: 255
Provider:
type: object
properties:
code:
type: string
identifier:
type: string
master:
type: boolean
default: false
name:
type: string
Image:
type: object
required:
- uri
properties:
caption:
type: string
height:
type: integer
format: int32
imageUseCode:
type: string
uri:
type: string
tags:
type: array
description: "Label(s) for the corresponding uri. For example,\n - PHOTO indicates the page represented by the uri contains images.\n - PDF indicates the page represented by the uri contains PDFs.\n"
items:
type: string
width:
type: integer
format: int32
Address:
type: object
properties:
city:
type: string
country:
$ref: '#/definitions/Country'
postCode:
type: string
region:
type: string
street:
type: string
IdentityDocumentLocationType:
type: object
description: 'Represents the type of identity document location that includes the type of document, name, country
and what type of entity it belongs to.
'
properties:
country:
$ref: '#/definitions/Country'
name:
type: string
type:
type: string
entityTypes:
type: array
items:
$ref: '#/definitions/EntityType'
TranslatedEntity:
type: object
description: Representation of translated entity.
properties:
translationDisclaimer:
type: string
description: Disclaimer for Translation Response.
details:
type: array
description: A collection of translated entity details.
items:
$ref: '#/definitions/Detail'
ProviderSourceTypeCategoryDetail:
type: object
properties:
description:
type: string
identifier:
type: string
maxLength: 255
name:
type: string
maxLength: 255
Name:
type: object
required:
- fullName
- type
properties:
fullName:
type: string
givenName:
type: string
languageCode:
$ref: '#/definitions/LanguageCode'
lastName:
type: string
originalScript:
type: string
prefix:
type: string
suffix:
type: string
type:
type: string
description: Watchlist Profile Name Type enumeration
enum:
- PRIMARY
- AKA
- AKAENHANCED
- FKA
- DBA
- MAIDEN
- LANG_VARIATION
- PREVIOUS
- VEHICLE_ID
- LOW_QUALITY_AKA
- NATIVE_AKA
IdentityDocument:
type: object
properties:
entity:
$ref: '#/definitions/Entity'
expiryDate:
type: string
issueDate:
type: string
issuer:
type: string
locationType:
$ref: '#/definitions/IdentityDocumentLocationType'
number:
type: string
type:
type: string
Weblink:
type: object
properties:
caption:
type: string
uri:
type: string
tags:
type: array
description: "Label(s) for the corresponding uri. For example,\n - PHOTO indicates the page represented by the uri contains images.\n - PDF indicates the page represented by the uri contains PDFs.\n - DATE indicates the date when the uri was added to the record.\n"
items:
type: string
WatchlistDataSet:
type: object
properties:
entityCreateOrUpdate:
type: array
items:
$ref: '#/definitions/Entity'
entityDelete:
type: array
items:
$ref: '#/definitions/EntityDelete'
entitySupersede:
type: array
items:
$ref: '#/definitions/EntitySupersede'
entityPurge:
type: array
items:
$ref: '#/definitions/EntityPurge'
WatchlistResponse:
type: object
required:
- errors
properties:
errors:
type: array
items:
$ref: '#/definitions/Error'
EntitySupersede:
type: object
required:
- entityId
- supersedingEntityId
properties:
entityId:
type: string
supersedingEntityId:
type: string
ActionDetail:
type: object
required:
- actionType
properties:
actionId:
type: string
actionType:
type: string
description: Action Detail Type Enumeration
enum:
- CIVIL_ACTION
- CRIMINAL_CONVICTION
- ENFORCEMENT
- SANCTION
comment:
type: string
endDate:
type: string
format: date-time
files:
type: array
items:
$ref: '#/definitions/FileMeta'
publicationType:
type: string
published:
type: string
reference:
type: string
source:
$ref: '#/definitions/ProviderSource'
startDate:
type: string
format: date-time
text:
type: string
title:
type: string
Error:
type: object
required:
- error
- cause
properties:
error:
type: string
cause:
type: string
objectId:
type: string
CountryLink:
type: object
required:
- country
- type
properties:
country:
$ref: '#/definitions/Country'
countryText:
type: string
type:
type: string
description: Country Link Type Enumeration
enum:
- NATIONALITY
- OPERATESIN
- POB
- POD
- REGISTEREDIN
- RESIDENT
- VESSELFLAG
- LOCATION
EntityDelete:
type: object
required:
- entityId
properties:
entityId:
type: string
ProviderSource:
type: object
required:
- abbreviation
- identifier
- name
- providerSourceStatus
- type
properties:
abbreviation:
type: string
description: Abbreviated form of this source's `name`.
creationDate:
type: string
format: date-time
identifier:
type: string
description: An alphanumeric value
importIdentifier:
type: string
name:
type: string
description: Full name of this source.
maxLength: 255
provider:
description: Provider for this source.
$ref: '#/definitions/Provider'
providerSourceStatus:
type: string
description: Provider Source Status Enumeration
enum:
- ACTIVE
- DELETED
- HIDDEN
regionOfAuthority:
type: string
subscriptionCategory:
type: string
description: Subscription Category Type Enumeration
default: STANDARD
enum:
- PREMIUM
- STANDARD
modificationDate:
type: string
description: "Modification date of source. This field is updated only when there is a change in either source name \nor description. This field does not capture any updates to the underlying records that are added/deleted \nto/from the source.\n"
format: date-time
description:
type: string
description: Description of the source.
type:
$ref: '#/definitions/ProviderSourceType'
ContactDetail:
type: object
required:
- contactDetailType
properties:
contactDetailType:
type: string
description: Contact Detail Type Enumeration
enum:
- EMAIL
- FAX
- URL
- VOICE
country:
$ref: '#/definitions/Country'
detail:
type: string
EntityUpdatedDates:
type: object
properties:
ageUpdated:
type: string
format: date-time
aliasesUpdated:
type: string
format: date-time
alternativeSpellingUpdated:
type: string
format: date-time
asOfDateUpdated:
type: string
format: date-time
categoryUpdated:
type: string
format: date-time
citizenshipsUpdated:
type: string
format: date-time
companiesUpdated:
type: string
format: date-time
deceasedUpdated:
type: string
format: date-time
dobsUpdated:
type: string
format: date-time
eiUpdated:
type: string
format: date-time
enteredUpdated:
type: string
format: date-time
externalSourcesUpdated:
type: string
format: date-time
firstNameUpdated:
type: string
format: date-time
foreignAliasUpdated:
type: string
format: date-time
furtherInformationUpdated:
type: string
format: date-time
idNumbersUpdated:
type: string
format: date-time
keywordsUpdated:
type: string
format: date-time
lastNameUpdated:
type: string
format: date-time
linkedToUpdated:
type: string
format: date-time
locationsUpdated:
type: string
format: date-time
lowQualityAliasesUpdated:
type: string
format: date-time
passportsUpdated:
type: string
format: date-time
placeOfBirthUpdated:
type: string
format: date-time
positionUpdated:
type: string
format: date-time
ssnUpdated:
type: string
format: date-time
subCategoryUpdated:
type: string
format: date-time
titleUpdated:
type: string
format: date-time
updatecategoryUpdated:
type: string
format: date-time
sicUpdated:
type: string
format: date-time
Entity:
type: object
description: 'Represents a specific entity - usually corresponding to an individual or an organisation - that can appear
as a potential screening result against a `Case`. Synonyms for this concept include "Profile".
The `Entity` subclasses corresponding to each type of entity (designated by the `entityType` field below) are:
* `COUNTRY` : `CountryEntity`
* `INDIVIDUAL` : `IndividualEntity`
* `ORGANISATION` : `OrganisationEntity`
* `VESSEL` : `VesselEntity`
Notes for Client Watchlist usage:
* to add Date of Birth to an Individual entity, please use the `events` array with the "type":"BIRTH"
* to add Place of Birth to an Individual entity, please use the `events` array with the "type":"BIRTH" and populate the `Region` field as part of the event `address` object
* to add Registered Country to a Vessel entity, please use the `countryLinks` array with the "type":"VESSELFLAG"
* to add Registered Country to an Organisation entity, please use the `countryLinks` array with the "type": "REGISTEREDIN"
'
discriminator: entityType
required:
- entityId
- creationDate
- names
- sources
- externalImportId
properties:
actions:
type: array
items:
$ref: '#/definitions/ActionDetail'
active:
type: boolean
default: false
addresses:
type: array
items:
$ref: '#/definitions/Address'
associates:
type: array
items:
$ref: '#/definitions/AbstractAssociate'
category:
type: string
comments:
type: string
contacts:
type: array
items:
$ref: '#/definitions/ContactDetail'
countryLinks:
type: array
items:
$ref: '#/definitions/CountryLink'
creationDate:
type: string
format: date-time
deletionDate:
type: string
format: date-time
description:
type: string
details:
type: array
items:
$ref: '#/definitions/Detail'
entityId:
type: string
description: An alphanumeric value including "_"
externalImportId:
type: string
description: An alphanumeric value including "_"
files:
type: array
items:
$ref: '#/definitions/FileMeta'
identityDocuments:
type: array
items:
$ref: '#/definitions/IdentityDocument'
images:
type: array
items:
$ref: '#/definitions/Image'
lastAdjunctChangeDate:
type: string
format: date-time
modificationDate:
type: string
format: date-time
names:
type: array
items:
$ref: '#/definitions/Name'
previousCountryLinks:
type: array
items:
$ref: '#/definitions/CountryLink'
provider:
$ref: '#/definitions/Provider'
sourceDescription:
type: string
sourceUris:
type: array
items:
type: string
sources:
type: array
items:
$ref: '#/definitions/ProviderSource'
subCategory:
type: string
updateCategory:
type: string
description: Entity Update Category Enumeration
enum:
- C1
- C2
- C3
- C4
- C6
- UNKNOWN
updatedDates:
$ref: '#/definitions/EntityUpdatedDates'
weblinks:
type: array
items:
$ref: '#/definitions/Weblink'
translatedEntity:
allOf:
- $ref: '#/definitions/TranslatedEntity'
x-wc1-field-extra-annotations: '@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)'
responses:
Unauthorized:
description: The request has failed an authorisation check. This can happen for a variety of reasons, such as an invalid or expired API key, an invalid HMAC signature or a request timing issue/problem with the Date header value. The API client should ensure a correctly synchronised clock is used to generate request timestamps.
UnsupportedMediaType:
description: For requests with payloads, an unsupported Content-Type was specified. The World-Check One API only supports a content type of application/json.
CannotReturnResponse:
description: Cannot return response
schema:
type: array
items:
$ref: '#/definitions/Error'
TooManyRequests:
description: The API client is making too many concurrent requests, and some are being throttled. Throttled requests can be retried (with an updated request Date and HTTP signature) after a short delay.
BadRequest:
description: Bad request
schema:
type: array
items:
$ref: '#/definitions/Error'
UnexpectedError:
description: Unexpected error
schema:
type: array
items:
$ref: '#/definitions/Error'
externalDocs:
description: Refer to the LSEG Developer Portal for additional documentation on the World-Check One API.
url: https://developers.lseg.com/en/api-catalog/customer-and-third-party-screening/world-check-one-api
x-tagGroups:
- name: Upcoming Features and Changes
tags:
- upcoming
- name: Zero Footprint Screening
tags:
- zfs
- name: Case Management and Audit
tags:
- api-info
- reference
- group
- case
- audit
- media-check
- client-watchlist
- user
- passport-check
- linked-cases
- case-rating
- smart-filter
- reporting