LSEG World-Check One Client Watchlist API

Maintain custom client watchlist sources and records for screening.

OpenAPI Specification

london-stock-exchange-group-client-watchlist-api-openapi.yml Raw ↑
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