LSEG World-Check One API (2.62.0)

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 - 2024 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.

upcoming

Operations for upcoming features and changes.

Note: Requests to these endpoints will return an HTTP '404 Not Found' response status code until officially released.

Get the error details for the given 'reportId'.

Get the error details for the given 'reportId'.

path Parameters
reportId
required
string

Report ID for which the status needs to be fetched.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/reports/%7BreportId%7D/error")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "errorDetails": [
    ]
}

Cancel the report request for the given report ID.

Cancel the report request for the given report ID.

path Parameters
reportId
required
string

ID of the report to be cancelled.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Responses

Request samples

HttpResponse<String> response = Unirest.delete("https://api.risk.lseg.com/screening/v2/reports/%7BreportId%7D")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
[
  • {
    }
]

zfs

Operations for the ZFS domain.

Get all the top-level groups with their immediate descendants

Get all the top-level groups with their immediate descendants

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/groups")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
[
  • {
    }
]

Get a specified group including its immediate descendants

Get a specified group including its immediate descendants

path Parameters
groupId
required
string

Group ID under which we wish to retrieve children groups

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/groups/%7BgroupId%7D")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "id": "Group Id",
  • "parentId": "Parent Group ID",
  • "name": "John Smith",
  • "hasChildren": true,
  • "children": [ ],
  • "status": "ACTIVE"
}

Get the CaseTemplate for the given Group

Get the CaseTemplate for the given Group, used for constructing a Case

Available secondary fields:

Click here to expand
Type ID NAME VALUE
SFCT_1 GENDER MALE, FEMALE, UNSPECIFIED
SFCT_2 DATE OF BIRTH DATE
SFCT_3 COUNTRY LOCATION COUNTRY CODE
SFCT_4 PLACE OF BIRTH COUNTRY CODE
SFCT_5 NATIONALITY COUNTRY CODE
SFCT_6 REGISTERED COUNTRY COUNTRY CODE
SFCT_7 IMO NUMBER TEXT
SFCT_8 PASSPORT GIVEN NAMES TEXT
SFCT_9 PASSPORT LAST NAME TEXT
SFCT_10 PASSPORT GENDER MALE, FEMALE, UNSPECIFIED
SFCT_11 PASSPORT ISSUING STATE STATE CODE
SFCT_12 PASSPORT NATIONALITY STATE CODE
SFCT_13 PASSPORT DATE OF BIRTH DATE
SFCT_14 PASSPORT DOCUMENT TYPE PASSPORT, ID1, ID2
SFCT_15 PASSPORT ID NUMBER TEXT
SFCT_16 PASSPORT DATE OF EXPIRY DATE
SFCT_191 DOCUMENT ID TEXT
SFCT_192 DOCUMENT ID COUNTRY COUNTRY CODE
SFCT_193 DOCUMENT ID TYPE TEXT
path Parameters
groupId
required
string

Group ID under which we wish to manage Cases and perform screening

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/groups/%7BgroupId%7D/caseTemplate")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "groupScreeningType": "CASE_MANAGEMENT_AUDIT",
  • "groupId": "Group Id",
  • "customFields": [
    ],
  • "secondaryFieldsByProvider": {
    }
}

Perform synchronous screening for a new case

Perform synchronous screening for a new case.

This endpoint can perform a synchronous screening for a set of valid case details and, if provided, set the ongoing screening (OGS) state for the given provider types. The supported provider types for setting the OGS state are WATCHLIST and MEDIA_CHECK. They both can be set to either INITIAL (OGS disabled) or ONGOING (OGS enabled) state. You cannot set the OGS state when using Zero Footprint Screening (ZFS) groups.

The returned result collection contains the regular case result details plus identity documents and important events. ZFS is enabled by specifying a ZFS group id in the body and is available for dedicated Zero-footprint API customers or Regular WC1 API customers using ZFS-specific groups.

The response may contain Special Interest Categories (SIC) records that depends on the user subscription type. This helps in SIC risk analysis:

  • if a user has subscription type is Premium or Premium Plus, the keywords for SIC subcategories provided in the "sources" field and full value of SIC keywords code in the "categories" field;

  • if a user has a Standard subscription type then the "categories" field will not contain SIC keywords;

  • the above behavior is the same for ZFS.

The example response body includes SIC with Premium or Premium Plus user subscription:

    {
      "sources":[
        "b_trwc_M:1TQ",
        "b_trwc_4"
      ],
      "categories":[
        "Special Interest Categories",
        "Other Bodies"
      ]
    }

Note: The maximum number of World-Check screenings (including initial, rescreening, and ZFP ones) that a client can perform in an hour is limited.

When using the API care should be taken when using operator words even when combined with an apostrophe, for example the below combinations will cause an error 403 to be returned:

  • String ‘AND (String)
  • String ‘OR (String)
  • String ‘AND NOT (String)
  • String ‘OR NOT (String)
  • String ‘AND AS (String)
  • String ‘OR AS (String)

Info about available secondary fields can be found here.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Screening Request

name
required
string <= 1000 characters

Name to screen for this Case.

groupId
required
string <= 255 characters

Group identifier owning this case. The group determines whether the case is screened as Zero Footprint Screnning (ZFS) or not.

entityType
required
string
Enum: "INDIVIDUAL" "ORGANISATION" "VESSEL" "UNSPECIFIED"

Case Entity Type Enumeration

caseId
string <= 512 characters

Case ID provided by the Client or else generated by the system for the Client. This field is not applicable for 'Zero Footprint Screening (ZFS)'.

providerTypes
Array of strings (ProviderType) non-empty
Items Enum: "WATCHLIST" "PASSPORT_CHECK" "CLIENT_WATCHLIST" "MEDIA_CHECK"

Provider Types required to Screen this Case. For 'Zero Footprint Screening (ZFS)', only 'WATCHLIST' is supported.

object

Mapping from ProviderType to indicate whether Ongoing Screening is enabled for this Case on the specific ProviderType. Supported ProviderTypes: [WATCHLIST], [MEDIA_CHECK]. By default, value will be set from account settings. This field is not applicable for Zero Footprint Screening (ZFS).

Array of objects (Field) [ items ]

Case Custom Fields. Available custom fields and their definitions can be obtained via groups/{groupId}/caseTemplate. Custom fields cannot be used with 'Zero Footprint Screening (ZFS)'.

Array of objects (Field) [ items ]

Case Secondary Fields. Available secondary fields and their definitions can be obtained via groups/{groupId}/caseTemplate.

nameTransposition
boolean

Flag indicating whether name transposition is enabled for the case.

startScreeningDate
string <date-time>

The starting date from which the records of the case in NameMatcher were indexed. This field is only applicable for Zero Footprint Screening (ZFS).

endScreeningDate
string <date-time>

The ending date from which the records of the case in NameMatcher were indexed. This field is only applicable for Zero Footprint Screening (ZFS).

Responses

Request samples

Content type
application/json
{
  • "caseId": "Client Case Id",
  • "name": "John Smith",
  • "providerTypes": [
    ],
  • "caseScreeningState": {
    },
  • "customFields": [
    ],
  • "secondaryFields": [
    ],
  • "nameTransposition": true,
  • "groupId": "Client Group Id",
  • "entityType": "INDIVIDUAL",
  • "startScreeningDate": "2020-08-01T15:00:00.003Z",
  • "endScreeningDate": "2021-08-02T15:00:00.003Z"
}

Response samples

Content type
{
  • "caseId": "string",
  • "name": "string",
  • "providerTypes": [
    ],
  • "customFields": [
    ],
  • "secondaryFields": [
    ],
  • "groupId": "string",
  • "entityType": "INDIVIDUAL",
  • "caseSystemId": "string",
  • "caseScreeningState": {
    },
  • "lifecycleState": "ARCHIVED",
  • "creator": {
    },
  • "modifier": {
    },
  • "assignee": {
    },
  • "creationDate": "2019-08-24T14:15:22Z",
  • "modificationDate": "2019-08-24T14:15:22Z",
  • "nameTransposition": true,
  • "outstandingActions": true,
  • "lastScreenedDatesByProviderType": {
    },
  • "lastIndexDatesByProviderType": {
    },
  • "providerTypeDetails": {
    },
  • "results": [
    ]
}

Get Map of country codes and country names

Get Map of ISO-3166-1 alpha-3 country codes and country names in English

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/reference/countries")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "property1": "string",
  • "property2": "string"
}

Get a record by its ID

Get a record by its ID.

This service returns a specific subclass of 'Entity', depending on its particular 'RecordEntityType' discriminator field. Please note in the context of World-Check One, 'Record' and 'Entity' are synonymous concepts.

For 'Zero Footprint Screening (ZFS)', this endpoint should be called on the dedicated 'ZFS' gateway host.

The 'Entity' subclasses corresponding to each type of entity are:

  • 'COUNTRY' : 'CountryEntity'
  • 'INDIVIDUAL' : 'IndividualEntity'
  • 'ORGANISATION' : 'OrganisationEntity'
  • 'VESSEL' : 'VesselEntity'

The response may contain Special Interest Categories (SIC) record that depends on User subscription type to be able to analyze SIC risk: If a User has subscription type is Premium or Premium Plus, the SIC details are returned for that entity in the 'sources' field.

The response will contain translated details of the 'details' section when Accept-Language header is specified.

The example response body:

    {
      "sources": [
        {
          "abbreviation": "M:1U5",
          "creationDate": "2020-10-23T07:43:21Z",
          "identifier": "b_trwc_M:1U5",
          "importIdentifier": null,
          "name": "Sexual Exploitation",
          "provider": null,
          "providerSourceStatus": "ACTIVE",
          "regionOfAuthority": null,
          "subscriptionCategory": "STANDARD",
          "type": {
            "category": {
              "description": "Description for Special Interest Categories",
              "identifier": "ec_6",
              "name": "Special Interest Categories",
              "providerSourceTypes": []
            },
            "identifier": "t_trwc_14",
            "name": "Special Interest Categories"
          }
        }
      ]
    }
path Parameters
id
required
string

Record identifier.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Accept-Language
string
Default: en

A value that identifies language for request where applicable. The response will contain translated content of the 'details' section in the selected 'Accept-Language', otherwise it will be returned only with original 'detail' section in English. Accepted language codes are:

  • French - 'fr'
  • Japanese - 'ja'
  • Spanish - 'es'
  • Russian - 'ru'
  • Portuguese - 'pt'
  • Chinese Simplified - 'zh_cn'
  • Chinese Traditional - 'zh_tw'

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/reference/records/%7Bid%7D")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .header("Accept-Language", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
Example
{
  • "entityType": "CountryEntity",
  • "actions": [
    ],
  • "active": false,
  • "addresses": [
    ],
  • "associates": [
    ],
  • "category": "string",
  • "comments": "string",
  • "contacts": [
    ],
  • "countryLinks": [
    ],
  • "creationDate": "2019-08-24T14:15:22Z",
  • "deletionDate": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "details": [
    ],
  • "entityId": "string",
  • "externalImportId": "string",
  • "files": [
    ],
  • "identityDocuments": [
    ],
  • "images": [
    ],
  • "lastAdjunctChangeDate": "2019-08-24T14:15:22Z",
  • "modificationDate": "2019-08-24T14:15:22Z",
  • "names": [
    ],
  • "previousCountryLinks": [
    ],
  • "provider": {
    },
  • "sourceDescription": "string",
  • "sourceUris": [
    ],
  • "sources": [
    ],
  • "subCategory": "string",
  • "updateCategory": "C1",
  • "updatedDates": {
    },
  • "weblinks": [
    ],
  • "translatedEntity": {
    }
}

Create or update a provider source

Create or update a provider source for uploading entity records to. An example usage would be for a client watchlist.

path Parameters
identifier
required
string

Unique identifier for this provider source. Has to be alphanumeric.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Provider source details

abbreviation
required
string

Abbreviated form of this source's name.

identifier
required
string

An alphanumeric value

name
required
string <= 255 characters

Full name of this source.

providerSourceStatus
required
string
Enum: "ACTIVE" "DELETED" "HIDDEN"

Provider Source Status Enumeration

required
object (ProviderSourceType)
creationDate
string <date-time>
importIdentifier
string
object (Provider)
regionOfAuthority
string
subscriptionCategory
string
Default: "STANDARD"
Enum: "PREMIUM" "STANDARD"

Subscription Category Type Enumeration

modificationDate
string <date-time>

Modification date of source. This field is updated only when there is a change in either source name or description. This field does not capture any updates to the underlying records that are added/deleted to/from the source.

description
string

Description of the source.

Responses

Request samples

Content type
application/json
{
  • "abbreviation": "string",
  • "creationDate": "2019-08-24T14:15:22Z",
  • "identifier": "string",
  • "importIdentifier": "string",
  • "name": "string",
  • "provider": {
    },
  • "providerSourceStatus": "ACTIVE",
  • "regionOfAuthority": "string",
  • "subscriptionCategory": "PREMIUM",
  • "modificationDate": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "type": {
    }
}

Response samples

Content type
[
  • {
    }
]

Maintain your Watchlist data

Maintain your Watchlist data using the following supported entity actions.

  • entityCreateOrUpdate - Add a new entity to your Watchlist or replace if it already exists.

  • entityDelete - Mark the given entity as deleted in your Watchlist.

  • entitySupersede - Supersede enables you to redirect matches against your superseded entity to a new entity. This is useful if you want to redirect users with existing matches against an old entity to a newer / more accurate version of those entities.

  • entityPurge - Purge enables you to remove an entity as required by GDPR whereby the personally identifiable information is removed.

Due to the large number of entries within a Watchlist it is not possible to update the entire Watchlist in a single request The overall request must be split into blocks of up to 500 individual entity actions.

The response consists of a list of any entities which were not successfully processed and a reason for failure.

Note: The client watchlist record may not be considered for re-screening if the 'modificationDate' field has not been specified while modifying the record.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

A collection of maintenance actions to be performed on your Watchlist.

Array of objects (Entity) [ items ]
Array of objects (EntityDelete) [ items ]
Array of objects (EntitySupersede) [ items ]
Array of objects (EntityPurge) [ items ]

Responses

Request samples

Content type
application/json
{
  • "entityCreateOrUpdate": [
    ],
  • "entityDelete": [
    ],
  • "entitySupersede": [
    ],
  • "entityPurge": [
    ]
}

Response samples

Content type
{
  • "errors": [
    ]
}

api-info

Operations for the API info domain.

Get information about the Public API.

Get information about the version of the Public API, a link to the documentation, and a date and time that can be used to verify the 'Date' header.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/apiInfo")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "version": "2.53.0",
  • "systemDateTime": "2023-02-20T11:46:28.131Z",
  • "apiDocumentationLink": "wc1-api.documentation.com"
}

reference

Operations for the reference domain.

Get Map of country codes and country names

Get Map of ISO-3166-1 alpha-3 country codes and country names in English

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/reference/countries")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "property1": "string",
  • "property2": "string"
}

Get Map of nationality codes and nationality names

Get Map of ISO-3166-1 alpha-3 nationality codes and nationality names in English

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/reference/nationalities")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "property1": "string",
  • "property2": "string"
}

Get a list of available providers and their sources.

Get a list of all available providers and their sources.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/reference/providers")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
[
  • {
    }
]

Get identity document location types data set definition.

Get each identity document location type log, that refers to a specific country and entity type.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/reference/identityDocumentLocationTypes")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
[
  • {
    }
]

Retrieves all search filters that are accessible to the User.

Retrieves all search filters that are accessible to the User.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/reference/searchFilters")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "freeTextParameters": [
    ],
  • "predefinedParameters": [
    ]
}

Get a profile by its ID Deprecated

Warning: This endpoint is deprecated due to migration to a new one: /reference/records/{id}

Get a profile by its ID.

This service returns a specific subclass of 'Entity', depending on its particular 'ProfileEntityType' discriminator field. Please note in the context of World-Check One, 'Profile' and 'Entity' are synonymous concepts.

For 'Zero Footprint Screening (ZFS)', this endpoint should be called on the dedicated 'ZFS' gateway host.

The Entity subclasses corresponding to each type of entity are:

  • COUNTRY : CountryEntity
  • INDIVIDUAL : IndividualEntity
  • ORGANISATION : OrganisationEntity
  • VESSEL : VesselEntity

The response may contain Special Interest Categories (SIC) records that depends on User subscription type to be able to analyze SIC risk: If a User has subscription type is Premium or Premium Plus, the SIC details are returned for that entity in the 'sources' field.

The response will contain translated details of the 'details' section when 'Accept-Language' header is specified.

The example response body:

    {
      "sources": [
        {
          "abbreviation": "M:1U5",
          "creationDate": "2020-10-23T07:43:21Z",
          "identifier": "b_trwc_M:1U5",
          "importIdentifier": null,
          "name": "Sexual Exploitation",
          "provider": null,
          "providerSourceStatus": "ACTIVE",
          "regionOfAuthority": null,
          "subscriptionCategory": "STANDARD",
          "type": {
            "category": {
              "description": "Description for Special Interest Categories",
              "identifier": "ec_6",
              "name": "Special Interest Categories",
              "providerSourceTypes": []
            },
            "identifier": "t_trwc_14",
            "name": "Special Interest Categories"
          }
        }
      ]
    }
path Parameters
id
required
string
header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Accept-Language
string
Default: en

A value that identifies language for request where applicable. The response will contain translated content of the 'details' section in the selected 'Accept-Language', otherwise it will be returned only with original 'detail' section in English. Accepted language codes are:

  • French - 'fr'
  • Japanese - 'ja'
  • Spanish - 'es'
  • Russian - 'ru'
  • Portuguese - 'pt'
  • Chinese Simplified - 'zh_cn'
  • Chinese Traditional - 'zh_tw'

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/reference/profile/%7Bid%7D")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .header("Accept-Language", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
Example
{
  • "entityType": "CountryEntity",
  • "actions": [
    ],
  • "active": false,
  • "addresses": [
    ],
  • "associates": [
    ],
  • "category": "string",
  • "comments": "string",
  • "contacts": [
    ],
  • "countryLinks": [
    ],
  • "creationDate": "2019-08-24T14:15:22Z",
  • "deletionDate": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "details": [
    ],
  • "entityId": "string",
  • "externalImportId": "string",
  • "files": [
    ],
  • "identityDocuments": [
    ],
  • "images": [
    ],
  • "lastAdjunctChangeDate": "2019-08-24T14:15:22Z",
  • "modificationDate": "2019-08-24T14:15:22Z",
  • "names": [
    ],
  • "previousCountryLinks": [
    ],
  • "provider": {
    },
  • "sourceDescription": "string",
  • "sourceUris": [
    ],
  • "sources": [
    ],
  • "subCategory": "string",
  • "updateCategory": "C1",
  • "updatedDates": {
    },
  • "weblinks": [
    ],
  • "translatedEntity": {
    }
}

Get a record by its ID

Get a record by its ID.

This service returns a specific subclass of 'Entity', depending on its particular 'RecordEntityType' discriminator field. Please note in the context of World-Check One, 'Record' and 'Entity' are synonymous concepts.

For 'Zero Footprint Screening (ZFS)', this endpoint should be called on the dedicated 'ZFS' gateway host.

The 'Entity' subclasses corresponding to each type of entity are:

  • 'COUNTRY' : 'CountryEntity'
  • 'INDIVIDUAL' : 'IndividualEntity'
  • 'ORGANISATION' : 'OrganisationEntity'
  • 'VESSEL' : 'VesselEntity'

The response may contain Special Interest Categories (SIC) record that depends on User subscription type to be able to analyze SIC risk: If a User has subscription type is Premium or Premium Plus, the SIC details are returned for that entity in the 'sources' field.

The response will contain translated details of the 'details' section when Accept-Language header is specified.

The example response body:

    {
      "sources": [
        {
          "abbreviation": "M:1U5",
          "creationDate": "2020-10-23T07:43:21Z",
          "identifier": "b_trwc_M:1U5",
          "importIdentifier": null,
          "name": "Sexual Exploitation",
          "provider": null,
          "providerSourceStatus": "ACTIVE",
          "regionOfAuthority": null,
          "subscriptionCategory": "STANDARD",
          "type": {
            "category": {
              "description": "Description for Special Interest Categories",
              "identifier": "ec_6",
              "name": "Special Interest Categories",
              "providerSourceTypes": []
            },
            "identifier": "t_trwc_14",
            "name": "Special Interest Categories"
          }
        }
      ]
    }
path Parameters
id
required
string

Record identifier.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Accept-Language
string
Default: en

A value that identifies language for request where applicable. The response will contain translated content of the 'details' section in the selected 'Accept-Language', otherwise it will be returned only with original 'detail' section in English. Accepted language codes are:

  • French - 'fr'
  • Japanese - 'ja'
  • Spanish - 'es'
  • Russian - 'ru'
  • Portuguese - 'pt'
  • Chinese Simplified - 'zh_cn'
  • Chinese Traditional - 'zh_tw'

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/reference/records/%7Bid%7D")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .header("Accept-Language", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
Example
{
  • "entityType": "CountryEntity",
  • "actions": [
    ],
  • "active": false,
  • "addresses": [
    ],
  • "associates": [
    ],
  • "category": "string",
  • "comments": "string",
  • "contacts": [
    ],
  • "countryLinks": [
    ],
  • "creationDate": "2019-08-24T14:15:22Z",
  • "deletionDate": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "details": [
    ],
  • "entityId": "string",
  • "externalImportId": "string",
  • "files": [
    ],
  • "identityDocuments": [
    ],
  • "images": [
    ],
  • "lastAdjunctChangeDate": "2019-08-24T14:15:22Z",
  • "modificationDate": "2019-08-24T14:15:22Z",
  • "names": [
    ],
  • "previousCountryLinks": [
    ],
  • "provider": {
    },
  • "sourceDescription": "string",
  • "sourceUris": [
    ],
  • "sources": [
    ],
  • "subCategory": "string",
  • "updateCategory": "C1",
  • "updatedDates": {
    },
  • "weblinks": [
    ],
  • "translatedEntity": {
    }
}

Retrieves PEP details by the given profile ID Deprecated

Warning: This endpoint is deprecated due to migration to a new one: /reference/records/{id}/pep

Retrieves detailed information for "Politically Exposed Person (PEP)" category by given profile ID.

path Parameters
id
required
string

Profile identifier.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Defines the sort order for retrieved PEP roles details.

object (SortCriterion)

Sort specification

Responses

Request samples

Content type
application/json
{
  • "sort": {
    }
}

Response samples

Content type
{
  • "sort": {
    },
  • "pepStatus": "ACTIVE",
  • "updatedDates": {
    },
  • "roleDetails": [
    ]
}

Retrieves PEP details by the given record ID

Retrieves detailed information for "Politically Exposed Person (PEP)" category by given record ID.

path Parameters
id
required
string

Record identifier.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Defines the sort order for retrieved PEP roles details.

object (SortCriterion)

Sort specification

Responses

Request samples

Content type
application/json
{
  • "sort": {
    }
}

Response samples

Content type
{
  • "sort": {
    },
  • "pepStatus": "ACTIVE",
  • "updatedDates": {
    },
  • "roleDetails": [
    ]
}

group

Operations for the group domain.

Get all the top-level groups with their immediate descendants

Get all the top-level groups with their immediate descendants

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/groups")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
[
  • {
    }
]

Get a specified group including its immediate descendants

Get a specified group including its immediate descendants

path Parameters
groupId
required
string

Group ID under which we wish to retrieve children groups

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/groups/%7BgroupId%7D")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "id": "Group Id",
  • "parentId": "Parent Group ID",
  • "name": "John Smith",
  • "hasChildren": true,
  • "children": [ ],
  • "status": "ACTIVE"
}

Get the CaseTemplate for the given Group

Get the CaseTemplate for the given Group, used for constructing a Case

Available secondary fields:

Click here to expand
Type ID NAME VALUE
SFCT_1 GENDER MALE, FEMALE, UNSPECIFIED
SFCT_2 DATE OF BIRTH DATE
SFCT_3 COUNTRY LOCATION COUNTRY CODE
SFCT_4 PLACE OF BIRTH COUNTRY CODE
SFCT_5 NATIONALITY COUNTRY CODE
SFCT_6 REGISTERED COUNTRY COUNTRY CODE
SFCT_7 IMO NUMBER TEXT
SFCT_8 PASSPORT GIVEN NAMES TEXT
SFCT_9 PASSPORT LAST NAME TEXT
SFCT_10 PASSPORT GENDER MALE, FEMALE, UNSPECIFIED
SFCT_11 PASSPORT ISSUING STATE STATE CODE
SFCT_12 PASSPORT NATIONALITY STATE CODE
SFCT_13 PASSPORT DATE OF BIRTH DATE
SFCT_14 PASSPORT DOCUMENT TYPE PASSPORT, ID1, ID2
SFCT_15 PASSPORT ID NUMBER TEXT
SFCT_16 PASSPORT DATE OF EXPIRY DATE
SFCT_191 DOCUMENT ID TEXT
SFCT_192 DOCUMENT ID COUNTRY COUNTRY CODE
SFCT_193 DOCUMENT ID TYPE TEXT
path Parameters
groupId
required
string

Group ID under which we wish to manage Cases and perform screening

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/groups/%7BgroupId%7D/caseTemplate")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "groupScreeningType": "CASE_MANAGEMENT_AUDIT",
  • "groupId": "Group Id",
  • "customFields": [
    ],
  • "secondaryFieldsByProvider": {
    }
}

Get the ResolutionToolkit for the given Group.

Get the ResolutionToolkit for the given Group, used to construct a valid resolution request(s) on the results for a Case belonging to the given Group groupId.

path Parameters
groupId
required
string

ID of the Group to which the resolution toolkit belongs.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/groups/%7BgroupId%7D/resolutionToolkit")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "groupId": "GROUP_ID",
  • "providerType": "WATCHLIST",
  • "resolutionFields": {
    },
  • "resolutionRules": {
    }
}

Get all the ResolutionToolkits for the given Group

Get the ResolutionToolkits for the given Group for all enabled provider types, used to construct a valid resolution request(s) on the results for a Case belonging to the given Group groupId.

path Parameters
groupId
required
string

ID of the Group to which the resolution toolkits belong.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/groups/%7BgroupId%7D/resolutionToolkits")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "property1": {
    },
  • "property2": {
    }
}

Get the ResolutionToolkit for a specific provider type for the given Group

Get the ResolutionToolkit for a specific provider type the given Group, used to construct a valid resolution request(s) on the results for a Case belonging to the given Group groupId.

path Parameters
groupId
required
string

ID of the Group to which the resolution toolkit belongs.

providerType
required
string
Enum: "WATCHLIST" "CLIENT_WATCHLIST"

Provider type for which the resolution toolkit applies.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/groups/%7BgroupId%7D/resolutionToolkits/%7BproviderType%7D")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "groupId": "GROUP_ID",
  • "providerType": "WATCHLIST",
  • "resolutionFields": {
    },
  • "resolutionRules": {
    }
}

case

Operations for the case domain.

Check if a given caseId is available for use

caseIds must be unique within each Client. If any Group under a Client has a Case with a particular caseId, that caseId cannot be reused on another Case within the same Client. This endpoint allows the user to check if a given caseId is available to use when creating or updating a Case.

query Parameters
caseId
required
string

Id to check if it is available to use as a caseId

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.head("https://api.risk.lseg.com/screening/v2/caseIdentifiers?caseId=SOME_STRING_VALUE")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
[
  • {
    }
]

Return the CaseReference (caseId, caseSystemId) for a caseId

Returns the CaseReference containing the caseId and caseSystemId pair for an existing Case with the given caseId. This is useful if only the caseId is known but caseSystemId is required by other endpoints such as GET /cases/{caseSystemId}.

query Parameters
caseId
required
string

Case ID provided by the client or else generated by the system for the client

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/caseReferences?caseId=SOME_STRING_VALUE")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "caseSystemId": "string",
  • "caseId": "string"
}

Create a new case

Creates a new Case for asynchronous screening. Synchronous screening on the dedicated ZFS gateway host via /cases/screeningRequest should be used instead of this for Zero Footprint Screening (ZFS).

Info about available secondary fields can be found here.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Case to be created

name
required
string <= 1000 characters

Name to screen for this Case.

groupId
required
string <= 255 characters

Group identifier owning this case. The group determines whether the case is screened as Zero Footprint Screnning (ZFS) or not.

entityType
required
string
Enum: "INDIVIDUAL" "ORGANISATION" "VESSEL" "UNSPECIFIED"

Case Entity Type Enumeration

caseId
string <= 512 characters

Case ID provided by the Client or else generated by the system for the Client. This field is not applicable for 'Zero Footprint Screening (ZFS)'.

providerTypes
Array of strings (ProviderType) non-empty
Items Enum: "WATCHLIST" "PASSPORT_CHECK" "CLIENT_WATCHLIST" "MEDIA_CHECK"

Provider Types required to Screen this Case. For 'Zero Footprint Screening (ZFS)', only 'WATCHLIST' is supported.

object

Mapping from ProviderType to indicate whether Ongoing Screening is enabled for this Case on the specific ProviderType. Supported ProviderTypes: [WATCHLIST], [MEDIA_CHECK]. By default, value will be set from account settings. This field is not applicable for Zero Footprint Screening (ZFS).

Array of objects (Field) [ items ]

Case Custom Fields. Available custom fields and their definitions can be obtained via groups/{groupId}/caseTemplate. Custom fields cannot be used with 'Zero Footprint Screening (ZFS)'.

Array of objects (Field) [ items ]

Case Secondary Fields. Available secondary fields and their definitions can be obtained via groups/{groupId}/caseTemplate.

nameTransposition
boolean

Flag indicating whether name transposition is enabled for the case.

Responses

Request samples

Content type
application/json
{
  • "caseId": "Client Case Id",
  • "name": "John Smith",
  • "providerTypes": [
    ],
  • "caseScreeningState": {
    },
  • "customFields": [
    ],
  • "secondaryFields": [
    ],
  • "nameTransposition": true,
  • "groupId": "Client Group Id",
  • "entityType": "INDIVIDUAL"
}

Response samples

Content type
{
  • "caseId": "Client Case Id",
  • "name": "John Smith",
  • "providerTypes": [
    ],
  • "caseScreeningState": {
    },
  • "customFields": [
    ],
  • "secondaryFields": [
    ],
  • "nameTransposition": true,
  • "groupId": "Client Group Id",
  • "entityType": "INDIVIDUAL",
  • "lifecycleState": "ARCHIVED",
  • "creator": {
    },
  • "modifier": {
    },
  • "creationDate": "2016-02-18T14:00:00Z",
  • "modificationDate": "2016-02-18T14:00:00Z",
  • "outstandingActions": false,
  • "lastScreenedDatesByProviderType": {
    },
  • "providerTypeDetails": {
    }
}

Perform synchronous screening for a new case

Perform synchronous screening for a new case.

This endpoint can perform a synchronous screening for a set of valid case details and, if provided, set the ongoing screening (OGS) state for the given provider types. The supported provider types for setting the OGS state are WATCHLIST and MEDIA_CHECK. They both can be set to either INITIAL (OGS disabled) or ONGOING (OGS enabled) state. You cannot set the OGS state when using Zero Footprint Screening (ZFS) groups.

The returned result collection contains the regular case result details plus identity documents and important events. ZFS is enabled by specifying a ZFS group id in the body and is available for dedicated Zero-footprint API customers or Regular WC1 API customers using ZFS-specific groups.

The response may contain Special Interest Categories (SIC) records that depends on the user subscription type. This helps in SIC risk analysis:

  • if a user has subscription type is Premium or Premium Plus, the keywords for SIC subcategories provided in the "sources" field and full value of SIC keywords code in the "categories" field;

  • if a user has a Standard subscription type then the "categories" field will not contain SIC keywords;

  • the above behavior is the same for ZFS.

The example response body includes SIC with Premium or Premium Plus user subscription:

    {
      "sources":[
        "b_trwc_M:1TQ",
        "b_trwc_4"
      ],
      "categories":[
        "Special Interest Categories",
        "Other Bodies"
      ]
    }

Note: The maximum number of World-Check screenings (including initial, rescreening, and ZFP ones) that a client can perform in an hour is limited.

When using the API care should be taken when using operator words even when combined with an apostrophe, for example the below combinations will cause an error 403 to be returned:

  • String ‘AND (String)
  • String ‘OR (String)
  • String ‘AND NOT (String)
  • String ‘OR NOT (String)
  • String ‘AND AS (String)
  • String ‘OR AS (String)

Info about available secondary fields can be found here.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Screening Request

name
required
string <= 1000 characters

Name to screen for this Case.

groupId
required
string <= 255 characters

Group identifier owning this case. The group determines whether the case is screened as Zero Footprint Screnning (ZFS) or not.

entityType
required
string
Enum: "INDIVIDUAL" "ORGANISATION" "VESSEL" "UNSPECIFIED"

Case Entity Type Enumeration

caseId
string <= 512 characters

Case ID provided by the Client or else generated by the system for the Client. This field is not applicable for 'Zero Footprint Screening (ZFS)'.

providerTypes
Array of strings (ProviderType) non-empty
Items Enum: "WATCHLIST" "PASSPORT_CHECK" "CLIENT_WATCHLIST" "MEDIA_CHECK"

Provider Types required to Screen this Case. For 'Zero Footprint Screening (ZFS)', only 'WATCHLIST' is supported.

object

Mapping from ProviderType to indicate whether Ongoing Screening is enabled for this Case on the specific ProviderType. Supported ProviderTypes: [WATCHLIST], [MEDIA_CHECK]. By default, value will be set from account settings. This field is not applicable for Zero Footprint Screening (ZFS).

Array of objects (Field) [ items ]

Case Custom Fields. Available custom fields and their definitions can be obtained via groups/{groupId}/caseTemplate. Custom fields cannot be used with 'Zero Footprint Screening (ZFS)'.

Array of objects (Field) [ items ]

Case Secondary Fields. Available secondary fields and their definitions can be obtained via groups/{groupId}/caseTemplate.

nameTransposition
boolean

Flag indicating whether name transposition is enabled for the case.

startScreeningDate
string <date-time>

The starting date from which the records of the case in NameMatcher were indexed. This field is only applicable for Zero Footprint Screening (ZFS).

endScreeningDate
string <date-time>

The ending date from which the records of the case in NameMatcher were indexed. This field is only applicable for Zero Footprint Screening (ZFS).

Responses

Request samples

Content type
application/json
{
  • "caseId": "Client Case Id",
  • "name": "John Smith",
  • "providerTypes": [
    ],
  • "caseScreeningState": {
    },
  • "customFields": [
    ],
  • "secondaryFields": [
    ],
  • "nameTransposition": true,
  • "groupId": "Client Group Id",
  • "entityType": "INDIVIDUAL",
  • "startScreeningDate": "2020-08-01T15:00:00.003Z",
  • "endScreeningDate": "2021-08-02T15:00:00.003Z"
}

Response samples

Content type
{
  • "caseId": "string",
  • "name": "string",
  • "providerTypes": [
    ],
  • "customFields": [
    ],
  • "secondaryFields": [
    ],
  • "groupId": "string",
  • "entityType": "INDIVIDUAL",
  • "caseSystemId": "string",
  • "caseScreeningState": {
    },
  • "lifecycleState": "ARCHIVED",
  • "creator": {
    },
  • "modifier": {
    },
  • "assignee": {
    },
  • "creationDate": "2019-08-24T14:15:22Z",
  • "modificationDate": "2019-08-24T14:15:22Z",
  • "nameTransposition": true,
  • "outstandingActions": true,
  • "lastScreenedDatesByProviderType": {
    },
  • "lastIndexDatesByProviderType": {
    },
  • "providerTypeDetails": {
    },
  • "results": [
    ]
}

Update an existing Case by its caseSystemId

Updates an existing Case identified by the given caseSystemId. When the case is updated, all the non-empty fields for the case are required to be sent, including the updated field(s). Non-empty fields that are not sent when calling this endpoint will be overwritten as null. For example, if the date of birth for a case need to be updated, existing fields such as nationality, etc. should contain the original values, otherwise it will be updated as null. That is, all the other fields should be included in the body with their existing data. This applies to Custom Fields as well.

Note: When updating an existing Case details with Passport-Check details within the API, to check the details in the UI information you must refresh the page to view all updated details.

Info about available secondary fields can be found here.

path Parameters
caseSystemId
required
string

System generated ID for the Case

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Update Case

name
required
string <= 1000 characters

Name to screen for this Case.

note
string <= 1000 characters

Note added by the User.

caseId
string <= 512 characters

Case ID provided by the Client or else generated by the system for the Client. This field is not applicable for 'Zero Footprint Screening (ZFS)'.

providerTypes
Array of strings (ProviderType) non-empty
Items Enum: "WATCHLIST" "PASSPORT_CHECK" "CLIENT_WATCHLIST" "MEDIA_CHECK"

Provider Types required to Screen this Case. For 'Zero Footprint Screening (ZFS)', only 'WATCHLIST' is supported.

object

Mapping from ProviderType to indicate whether Ongoing Screening is enabled for this Case on the specific ProviderType. Supported ProviderTypes: [WATCHLIST], [MEDIA_CHECK]. By default, value will be set from account settings. This field is not applicable for Zero Footprint Screening (ZFS).

Array of objects (Field) [ items ]

Case Custom Fields. Available custom fields and their definitions can be obtained via groups/{groupId}/caseTemplate. Custom fields cannot be used with 'Zero Footprint Screening (ZFS)'.

Array of objects (Field) [ items ]

Case Secondary Fields. Available secondary fields and their definitions can be obtained via groups/{groupId}/caseTemplate.

nameTransposition
boolean

Flag indicating whether name transposition is enabled for the case.

Responses

Request samples

Content type
application/json
{
  • "caseId": "Client Case Id",
  • "name": "John Smith",
  • "providerTypes": [
    ],
  • "customFields": [
    ],
  • "secondaryFields": [
    ],
  • "nameTransposition": true,
  • "note": "Audit note"
}

Response samples

Content type
{
  • "caseId": "Client Case Id",
  • "name": "John Smith",
  • "providerTypes": [
    ],
  • "caseScreeningState": {
    },
  • "customFields": [
    ],
  • "secondaryFields": [
    ],
  • "nameTransposition": true,
  • "groupId": "Client Group Id",
  • "entityType": "INDIVIDUAL",
  • "lifecycleState": "ARCHIVED",
  • "creator": {
    },
  • "modifier": {
    },
  • "creationDate": "2016-02-18T14:00:00Z",
  • "modificationDate": "2016-02-18T14:00:00Z",
  • "outstandingActions": false,
  • "lastScreenedDatesByProviderType": {
    },
  • "providerTypeDetails": {
    }
}

Partial update an existing Case by its caseSystemId

Updates an existing Case identified by the given caseSystemId. When the case is updated, only updated field(s) for the case are required to be sent. If non-empty fields are not sent they will be left untouched. Case screening results related to the value provided in Screen query parameter. Calling the endpoint without any change in the existing case payload, but retained query parameter screen=SYNC, works as synchronous re-screening.

Note: The maximum number of World-Check screenings (including initial, rescreening, and ZFP ones) that a client can perform in an hour is limited.

When updating an existing Case details with Passport-Check details within the API, to check the details in the UI information you must refresh the page to view all updated details.

Info about available secondary fields can be found here.

path Parameters
caseSystemId
required
string

System generated ID for the Case

query Parameters
screen
string
Default: "NONE"
Enum: "NONE" "SYNC" "ASYNC"

Screen mode

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Update Case

note
string <= 1000 characters

Note added by the User.

caseId
string <= 512 characters

Case ID provided by the Client or else generated by the system for the Client. This field is not applicable for 'Zero Footprint Screening (ZFS)'.

name
string <= 1000 characters

Name to screen for this Case.

providerTypes
Array of strings (ProviderType) non-empty
Items Enum: "WATCHLIST" "PASSPORT_CHECK" "CLIENT_WATCHLIST" "MEDIA_CHECK"

Provider Types required to Screen this Case. For 'Zero Footprint Screening (ZFS)', only 'WATCHLIST' is supported.

object

Mapping from ProviderType to indicate whether Ongoing Screening is enabled for this Case on the specific ProviderType. Supported ProviderTypes: [WATCHLIST], [MEDIA_CHECK]. By default, value will be set from account settings. This field is not applicable for Zero Footprint Screening (ZFS).

Array of objects (Field) [ items ]

Case Custom Fields. Available custom fields and their definitions can be obtained via groups/{groupId}/caseTemplate. Custom fields cannot be used with 'Zero Footprint Screening (ZFS)'.

Array of objects (Field) [ items ]

Case Secondary Fields. Available secondary fields and their definitions can be obtained via groups/{groupId}/caseTemplate.

nameTransposition
boolean

Flag indicating whether name transposition is enabled for the case.

Responses

Request samples

Content type
application/json
{
  • "caseId": "Client Case Id",
  • "name": "John Smith",
  • "providerTypes": [
    ],
  • "customFields": [
    ],
  • "secondaryFields": [
    ],
  • "nameTransposition": true,
  • "note": "Audit note"
}

Response samples

Content type
{
  • "caseId": "string",
  • "name": "string",
  • "providerTypes": [
    ],
  • "customFields": [
    ],
  • "secondaryFields": [
    ],
  • "groupId": "string",
  • "entityType": "INDIVIDUAL",
  • "caseSystemId": "string",
  • "caseScreeningState": {
    },
  • "lifecycleState": "ARCHIVED",
  • "creator": {
    },
  • "modifier": {
    },
  • "assignee": {
    },
  • "creationDate": "2019-08-24T14:15:22Z",
  • "modificationDate": "2019-08-24T14:15:22Z",
  • "nameTransposition": true,
  • "outstandingActions": true,
  • "lastScreenedDatesByProviderType": {
    },
  • "lastIndexDatesByProviderType": {
    },
  • "providerTypeDetails": {
    },
  • "results": [
    ]
}

Fetch Full Case Details

Returns full details of the Case identified by the given 'caseSystemId'.

Note: A delay of up to 40s after Case is screened is recommended while fetching full Case details with aggregated summaries, although a delay of up to 5s would work in most of the cases. If aggregated summaries return nil stats, a responsible retry mechanism with a maximum of five retries is recommended for the Cases where stats are expected.

path Parameters
caseSystemId
required
string

System generated ID for the Case

query Parameters
aggregatedSummary
boolean

Flag to enable aggregated summary for case

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/cases/%7BcaseSystemId%7D?aggregatedSummary=SOME_BOOLEAN_VALUE")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "caseId": "Client Case Id",
  • "name": "John Smith",
  • "providerTypes": [
    ],
  • "caseScreeningState": {
    },
  • "customFields": [
    ],
  • "secondaryFields": [
    ],
  • "nameTransposition": true,
  • "groupId": "Client Group Id",
  • "entityType": "INDIVIDUAL",
  • "lifecycleState": "ARCHIVED",
  • "creator": {
    },
  • "modifier": {
    },
  • "creationDate": "2016-02-18T14:00:00Z",
  • "modificationDate": "2016-02-18T14:00:00Z",
  • "outstandingActions": false,
  • "lastScreenedDatesByProviderType": {
    },
  • "providerTypeDetails": {
    }
}

Delete a Case

Delete a Case identified by the given caseSystemId. The case must be first archived in order to delete it. The user must be active and have delete permissions. The client must have delete functionality enabled.

Note: After successful deletion, a corresponding audit with actionType 'DELETE_CASE' will be saved for the case. All other audits for this case will be deleted within 15 minutes.

path Parameters
caseSystemId
required
string

System generated ID for the Case

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.delete("https://api.risk.lseg.com/screening/v2/cases/%7BcaseSystemId%7D")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
[
  • {
    }
]

Request full or delta screening for an existing Case.

Make a request for screening of the Case identified by the given caseSystemId.

Screening could be synchronous or asynchronous operation. The type of Screening could be full or delta.

In the case of asynchronous Screening result will return immediately. As a result of this call, the screening request will be queued to be processed. When this request has been processed, there will be a new SCREENED_CASE audit event that can be queried via /cases/{caseSystemId}/auditEvents and then the results can be retrieved via /cases/{caseSystemId}/results.

In the case of a synchronous screening as a result of the call will be returned result collection contains the regular case result details plus identity documents and important events.

Delta Screening performs Screening from the time of the last screening date and shows new results that appeared after the last screening.

Note: The maximum number of World-Check screenings (including initial, rescreening, and ZFP ones) that a client can perform in an hour is limited.

path Parameters
caseSystemId
required
string

System generated ID for the Case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Content-Type
string

The media type of the request (e.g., 'application/json').

Content-Length
integer

The length of the request body in octets (8-bit bytes).

Request Body schema: application/json

Case Screening Request.

screeningMode
string
Enum: "FULL_SYNC" "FULL_ASYNC" "DELTA_SYNC" "DELTA_ASYNC"

Screening Mode Enumeration.

caseInfo
boolean

Flag indicating whether there will be information about the Case in response.

Responses

Request samples

Content type
application/json
{
  • "screeningMode": "FULL_SYNC",
  • "caseInfo": true
}

Response samples

Content type
{
  • "case": {
    },
  • "results": [
    ]
}

Enable OGS for a Case.

Enable Ongoing Screening for the Case identified by the given caseSystemId. This will schedule the Case to be re-screened periodically by the system. In order to enable Ongoing Screening for multiple or specific provider type fill out an optional request body with provider types for which to enable Ongoing Screening. If no request body provided Ongoing Screening request will be performed for WATCHLIST provider type.

path Parameters
caseSystemId
required
string

System generated ID for the Case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Content-Type
required
string

The media type of the request (e.g., 'application/json').

Content-Length
required
integer

The length of the request body in octets (8-bit bytes).

Request Body schema: application/json

Request containing details to enable Ongoing Screening for Case.

providerTypes
required
Array of strings (OngoingScreeningProviderType)
Items Enum: "WATCHLIST" "MEDIA_CHECK"

Provider types for which to enable/disable ongoing screening.

note
string <= 1000 characters

Note added by the User.

Responses

Request samples

Content type
application/json
{
  • "providerTypes": [
    ],
  • "note": "string"
}

Response samples

Content type
[
  • {
    }
]

Disable OGS for a Case.

Disable Ongoing Screening for the Case identified by the given caseSystemId. In order to disable Ongoing Screening for multiple or specific provider type fill out an optional request body with provider types for which to disable Ongoing Screening. If no request body provided Ongoing Screening request will be performed for WATCHLIST provider type.

path Parameters
caseSystemId
required
string

System generated ID for the Case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Content-Type
required
string

The media type of the request (e.g., 'application/json').

Content-Length
required
integer

The length of the request body in octets (8-bit bytes).

Request Body schema: application/json

Request containing details to disable Ongoing Screening for Case.

providerTypes
required
Array of strings (OngoingScreeningProviderType)
Items Enum: "WATCHLIST" "MEDIA_CHECK"

Provider types for which to enable/disable ongoing screening.

note
string <= 1000 characters

Note added by the User.

Responses

Request samples

Content type
application/json
{
  • "providerTypes": [
    ],
  • "note": "string"
}

Response samples

Content type
[
  • {
    }
]

Archive a Case.

Archive the Case identified by the given caseSystemId. This will put the case into a state from which it can be either unarchived or deleted. The user must be active and have the archive permission.

path Parameters
caseSystemId
required
string

System generated ID for the Case

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Responses

Request samples

HttpResponse<String> response = Unirest.put("https://api.risk.lseg.com/screening/v2/cases/%7BcaseSystemId%7D/archive")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
[
  • {
    }
]

Unarchive a Case

Unarchive the Case identified by the given caseSystemId. The user must be active and have the archive permission.

path Parameters
caseSystemId
required
string

System generated ID for the Case

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.delete("https://api.risk.lseg.com/screening/v2/cases/%7BcaseSystemId%7D/archive")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
[
  • {
    }
]

Bulk Update Archive States

Bulk Update Archive States of cases identified by the given caseSystemIds. The arhive states are updated according to the value specified in the "archive" field: if set to true then all the cases will be updated with the "archive" state, otherwise, the "unarchived" state will be used.

In response, the user receives a summary ("statuses") of the archiving operation for each case.

Example HTTP response below, shows the following summary:

  1. The first case with "caseSystemId1" has been archived successfully.
  2. The second case with "caseSystemId2" has been archived successfully.
  3. The third case with "caseSystemId3" has not been archived because it does not meet the validation criteria; "error" and "cause" fields contain detailed information on the error.

The user must be active and have the archive permission.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

A request on Bulk Update Archive States

archive
required
boolean

A flag indicating whether to Bulk Archive (true) or Unarchive (false) Cases.

caseSystemIds
required
Array of strings

An array of system generated Ids for the Cases

note
string <= 1000 characters

Note added by the user.

Responses

Request samples

Content type
application/json
{
  • "archive": true,
  • "caseSystemIds": [
    ],
  • "note": "Audit note"
}

Response samples

Content type
{
  • "statuses": [
    ]
}

Bulk Update Case Assignments

Bulk Update Case Assignments, where Cases are identified by the given caseSystemIds and assignee User is identified by the given userId (in case of assigning action). The case assignements are updated according to the value specified in the "userId" field: if set to null or is absent then the bulk unassigning action happens, otherwise, the bulk assigning to the User identified by the given userId action is performed.

In response, the user receives a summary ("statuses") of the assigning/unassigning operation for each case.

Example HTTP response below, shows the following summary:

  1. The first case with "caseSystemId1" has been assigned successfully.
  2. The second case with "caseSystemId2" has been assigned successfully.
  3. The third case with "caseSystemId3" has not been assigned because it does not meet the validation criteria; "error" and "cause" fields contain detailed information on the error.

The user must be active and have the archive permission.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

A request on Bulk Update Case Assignments

caseSystemIds
required
Array of strings

An array of system generated Ids for the Cases

userId
string

User to whom the cases will be assigned, or "UNASSIGN" when unassign action is expected

note
string <= 1000 characters

Note added by the user.

Responses

Request samples

Content type
application/json
{
  • "userId": "userId",
  • "caseSystemIds": [
    ],
  • "note": "Audit note"
}

Response samples

Content type
{
  • "statuses": [
    ]
}

Bulk Delete Cases

Bulk Delete Cases identified by the given caseSystemIds. The cases must be first archived in order to delete them. The user must be active and have delete permissions. The client must have delete functionality enabled.

In response, the user receives a summary ("statuses") of the archiving operation for each case.

Example HTTP response below, shows the following summary:

  1. The first case with "caseSystemId1" has been deleted successfully.
  2. The second case with "caseSystemId2" has been deleted successfully.
  3. The third case with "caseSystemId3" has not been deleted because it does not meet the validation criteria; "error" and "cause" fields contain detailed information on the error.
header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

A request on Bulk Delete Cases

caseSystemIds
required
Array of strings

An array of system generated Ids for the Cases

note
string <= 1000 characters

Note added by the user.

Responses

Request samples

Content type
application/json
{
  • "caseSystemIds": [
    ],
  • "note": "Audit note"
}

Response samples

Content type
{
  • "statuses": [
    ]
}

Bulk Move Cases Between Groups

Bulk Move Cases identified by the given caseSystemIds to the Group identified by the given groupId. The user must be active and have move cases between groups permissions. The client must have move cases functionality enabled. The current Group and the destination Group should contain identical custom fields. Cases can not be moved to ZFS group.

In response, the user receives a summary ("statuses") of the moving cases operation for each case.

Example HTTP response below, shows the following summary:

  1. The first case with "caseSystemId1" has been moved successfully.
  2. The second case with "caseSystemId2" has been moved successfully.
  3. The third case with "caseSystemId3" has not been moved because it does not meet the validation criteria; "error" and "cause" fields contain detailed information on the error.
header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

A request on Bulk Move Cases

groupId
required
string

Group to which the cases will be moved

caseSystemIds
required
Array of strings

An array of system generated Ids for the Cases

note
string <= 1000 characters

Note added by the user.

Responses

Request samples

Content type
application/json
{
  • "groupId": "groupId",
  • "caseSystemIds": [
    ],
  • "note": "note"
}

Response samples

Content type
{
  • "statuses": [
    ]
}

Bulk Update Ongoing Screening States

Bulk Update Ongoing Screening (OGS) States of cases with provided caseSystemIds and ProviderTypes specified in caseScreeningState. Ongoing screening can be performed for MEDIA_CHECK and WATCHLIST provider types. The user must be active and have CASE_OGS permissions.

In response, the user receives a summary ("statuses") of the World-Check/Media-Check Ongoing Screening operation for each case.

Example HTTP response below, shows the following summary:

  1. Watchlist Ongoing Screening successfully enabled for the first case with "caseSystemId1".
  2. Media Check Ongoing Screening successfully disabled for the second case with "caseSystemId2".
  3. World-Check/Media-Check Ongoing Screening operation can not be performed for the third case with "caseSystemId3" because it does not meet the validation criteria; "error" and "cause" fields contain detailed information on the error.
header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

A request on Bulk Update Ongoing Screening States

required
object

Mapping from ProviderType to toggle Ongoing Screening ON/OFF for these Cases on the specific ProviderType. Supported ProviderTypes [WATCHLIST, MEDIA_CHECK].

caseSystemIds
required
Array of strings

An array of system generated Ids for the Cases

note
string <= 1000 characters

Note added by the user.

Responses

Request samples

Content type
application/json
{
  • "caseScreeningState": {
    },
  • "caseSystemIds": [
    ],
  • "note": "Audit note"
}

Response samples

Content type
{
  • "statuses": [
    ]
}

Bulk Update Case Links

Bulk Update Case Links for Cases with provided caseSystemIds and relationshipTypes specified in relationshipType field. The case links are updated according to the value specified in the "link" field: if set to true then the link bulk action happens, otherwise, the unlinking is performed.

In response, the user receives a summary ("statuses") of the Link/Unlink operation for each case.

Example HTTP response below, shows the following summary:

  1. The first case with "caseSystemId1" was linked/unlinked successfully.
  2. The second case with "caseSystemId2" was linked/unlinked successfully.
  3. Link/Unlink operation can not be performed for the third case with "caseSystemId3" because it does not meet the validation criteria; "error" and "cause" fields contain detailed information on the error.
header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

A request on Bulk Update Case Links

link
required
boolean

A flag indicating whether to Bulk Link (true) or Unlink (false) Cases.

relationshipType
required
string
Enum: "SUBCASE_TO_PRIMARY" "PRIMARY_TO_SUBCASE"

Relationship type between cases.

required
Array of objects (CaseBulkLinkRequest) [ items ]

An array of case bulk link requests

note
string <= 1000 characters

Note added by the user.

Responses

Request samples

Content type
application/json
{
  • "link": true,
  • "relationshipType": "SUBCASE_TO_PRIMARY",
  • "caseSystemIds": [
    ],
  • "note": "Audit note"
}

Response samples

Content type
{
  • "statuses": [
    ]
}

Get collection of Results for a Case by its caseSystemId

Return a collection of Results for the Case identified by the given caseSystemId. The response may contain Special Interest Categories (SIC) records that depends on the user subscription type. This helps in SIC risk analysis: If a user has subscription type is Premium or Premium Plus, the keywords for SIC subcategories provided in the "sources" field and full value of SIC keywords code in the "categories" field. If a user has a Standard subscription type then the "categories" field will not contain SIC keywords. The above behavior is the same for Zero Footprint Screening (ZFS).

The example response body includes SIC with Premium or Premium Plus user subscription:

    {
      "sources":[
        "b_trwc_M:1TQ",
        "b_trwc_4"
      ],
      "categories":[
        "Special Interest Categories",
        "Other Bodies"
      ]
    }
path Parameters
caseSystemId
required
string

System generated ID for a Case

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/cases/%7BcaseSystemId%7D/results")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
[
  • {
    }
]

Add a review remark to the specified result IDs for the given case

Add a review remark to the specified result IDs for the given case.

path Parameters
caseSystemId
required
string

System generated ID for the Case

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Object representing the IDs to be reviewed, and the review remark

resultIds
required
Array of strings unique

Result IDs of the case we are wishing to review

remark
required
string

The review remark we wish to assign to the supplied result IDs

Responses

Request samples

Content type
application/json
{
  • "resultIds": [
    ],
  • "remark": "string"
}

Response samples

Content type
[
  • {
    }
]

Resolves a list of results.

Resolves a list of results for the Case identified by the given caseSystemId. The endpoint for the resolution toolkit '/groups/{groupId}/resolutionToolkit' provides the resolution rules to be applied when resolving results of any Case within a specific Group.

Any resultIds which relate to records that have been removed from World-Check One can only be resolved as FALSE.

path Parameters
caseSystemId
required
string

System generated ID for the Case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Content-Type
required
string

The media type of the request (e.g., 'application/json').

Content-Length
required
integer

The length of the request body in octets (8-bit bytes).

Request Body schema: application/json

Represents the request details required for resolving Results.

Note: Fields 'reasonId' and 'resolutionRemark' are required ONLY if they are specified accordingly in the configuration settings.

resultIds
required
Array of strings unique [ items <= 255 characters ]

Identifiers of a set of results linked to one Case.

statusId
required
string <= 255 characters

Unique status ID defined in Group's resolution toolkit and used when resolving this Result. Get the available status IDs and their details via groups/{group_id}/resolutionToolkit.

riskId
required
string <= 255 characters

Unique risk ID defined in Group's resolution toolkit and used when resolving this Result. Get the available risk IDs and their details via groups/{group_id}/resolutionToolkit.

reasonId
required
string <= 255 characters

Unique reason ID defined in Group's resolution toolkit and used when resolving this Result. Get the available reason IDs and their details via groups/{group_id}/resolutionToolkit.

resolutionRemark
required
string <= 1000 characters

Resolution remark added when resolving this Result.

Responses

Request samples

Content type
application/json
{
  • "statusId": "string",
  • "riskId": "string",
  • "reasonId": "string",
  • "resolutionRemark": "string",
  • "resultIds": [
    ]
}

Response samples

Content type
[
  • {
    }
]

Get ongoing screening updates.

Get ongoing screening updates for all Case objects that are visible to the current user and are flagged for ongoing screening.

Filter and sort the ongoing screening updates in the response by:

updateDate: The date and time of this ongoing screening update in ISO 8601 format (excluding Week and Ordinal dates). Required.

providerType: Ongoing screening provider type to query for results. Optional.

e.g. Filter body that specifies the page size to be 50 and queries the first page of ongoing screening updates for WATCHLIST and MEDIA_CHECK provider types occurred since 2016-07-26T00:00:00Z sorted by updateDate in DESCENDING order:

{
  "query": "updateDate>='2016-07-26T00:00:00Z', providerType==WATCHLIST, providerType==MEDIA_CHECK",
  "sort": [
    {
      "columnName": "updateDate",
      "order": "DESCENDING"
    }
  ],
  "pagination": {
    "currentPage": 1,
    "itemsPerPage": 50
  }
}
header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Filter and sort the ongoing screening updates in the response.

query
string

A query filter expression, which is written in a superset of the Atom Feed Item Query Language (FIQL). The FIQL is documented in https://tools.ietf.org/html/draft-nottingham-atompub-fiql-00, and the superset supported by the WC1 API documented in https://github.com/jirutka/rsql-parser.

RSQL/FIQL parser contains some reserved characters:

'"' | "'" | "(" | ")" | ";" | "," | "=" | "!" | "~" | "<" | ">"

If there are reserved characters or white spaces in the query expression, they must be escaped by enclosing them in single or double quotes. If you need to use both single and double quotes inside an argument, then you must escape one of them using \ (backslash). If you want to use \ literally, then double it as \\. Backslash has a special meaning only inside a quoted argument, not in unquoted argument. Using reserved characters or white spaces without escaping can lead to parsing and execution errors.

The query examples:

  • "query": "example=='TE!ST'"
  • "query": "example==\"TE'ST\""
  • "query": "example=='TE\\'ST'"

Argument can be a single value, or multiple values in parenthesis separated by comma. Value that does not contain any reserved character or a white space can be unquoted, other arguments must be enclosed in single or double quotes.

Example:

  • "query": "example1=='TE\\'ST', example2==TEST"
Array of objects (SortCriterion) [ items ]

The sort critieria to apply to the query

object (Pagination)

Inbound - the pagination to apply to the query.

Responses

Request samples

Content type
application/json
{
  • "query": "string",
  • "sort": [
    ],
  • "pagination": {
    }
}

Response samples

Content type
{
  • "searchCriteria": "updateDate>='2016-07-27T00:00:00Z'",
  • "totalResultCount": 45,
  • "paginationDetails": {
    },
  • "results": [
    ]
}

Assign the Case to a User.

Assign the Case to a User. '/users' endpoint provides the active users that a Case can be assigned to.

path Parameters
caseSystemId
required
string

System generated ID for the Case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

User to whom the case will be assigned.

userId
required
string <= 255 characters

Identifier of the assignee user.

note
string <= 1000 characters

Note added by the user.

Responses

Request samples

Content type
application/json
{
  • "userId": "string",
  • "note": "string"
}

Response samples

Content type
[
  • {
    }
]

Unassign a Case.

Once you have assigned the case to the User, you can now unassign the same case.

path Parameters
caseSystemId
required
string

System generated ID for the Case

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.delete("https://api.risk.lseg.com/screening/v2/cases/%7BcaseSystemId%7D/assignee")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
[
  • {
    }
]

Search for Cases based on specified criteria using filter or query parameters.

Search for Cases based on specified criteria using filter or query parameters.

This endpoint allows you to find cases that match your search criteria. You can provide these criteria through the CaseSearchRequest object, which includes 'query' and 'filter' fields. Expressions in 'query' and 'filter' must adhere to the Atom Feed Item Query Language (FIQL), which is documented in RFC 4288 and the superset supported by the WC1 API, as documented in WC1 API Query Language.

Note: To learn about the available search fields and their usage, you can use the GET /reference/searchFilters endpoint.

Response details can be customized using the 'detailLevel' field:

  • 'CASE': The search response will provide full Case details.
  • 'CASE_AND_RESULTS': The search response will include Сase details and Result summary related to this Case.
  • 'CASE_AND_AGGREGATED_RESULTS': The search response will provide full Case details with an aggregated Result summary, summarizing data from primary and sub-cases.
  • 'CASE_AND_RESULTS_AND_AGGREGATED_RESULTS': The search response will provide full Case details with a Result and aggregated(summarizing data from primary and sub-cases) summaries.

Number of results can be controlled through 'pagination' and 'sort' fields.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Content-Type
required
string

The media type of the request (e.g., 'application/json').

Content-Length
required
integer

The length of the request body in octets (8-bit bytes).

Request Body schema: application/json

The request containing search criteria.

query
string

A string containing the search query. Note: To find the available search fields, check for fields with 'QUERY' type in the GET /reference/searchFilters endpoint.

filter
string

A string containing filter criteria. Note: To find the available search fields, check for fields with 'FILTER' type in the GET /reference/searchFilters endpoint.

detailLevel
string (CaseDetailLevel)
Enum: "CASE" "CASE_AND_RESULTS" "CASE_AND_AGGREGATED_RESULTS" "CASE_AND_RESULTS_AND_AGGREGATED_RESULTS"

Enumeration that defines the detail level of the search response:

  • 'CASE': The search response will provide full Case details.
  • 'CASE_AND_RESULTS': The search response will include Сase details and Result summary related to this Case.
  • 'CASE_AND_AGGREGATED_RESULTS': The search response will provide full Case details with an aggregated Result summary, summarizing data from primary and sub-cases.
  • 'CASE_AND_RESULTS_AND_AGGREGATED_RESULTS': The search response will provide full Case details with a Result and aggregated(summarizing data from primary and sub-cases) summaries.
Array of objects (SortCriterion) [ items ]

An array of sorting criteria.

The list of available sort parameter names:

  • 'primaryName' - sort by the primary name for the Case;
  • 'caseId' - sort by the unique identifier for the Case;
  • 'caseSystemId' - sort by the system-generated ID for the Case;
  • 'creationDate' - sort by the time when the Case has been created;
  • 'modificationDateByUser' - sort by the time when the Case has been modified by the User;
  • 'modificationDateBySystem' - sort by the time when the Case has been modified by the system;
  • 'lastScreenedDate' - sort by the time when the Case was last screened;
  • 'primaryCase' - sort by the total child Cases count contained within the Case;
  • 'nameTransposition' - sort by the name transposition state for the Case;
  • 'lifecycleState' - sort by the lifecycle state for the Case;
  • 'watchlistCaseScreeningState' - sort by the World-Check ongoing screening state for the Case;
  • 'mediaCheckCaseScreeningState' - sort by the Media-Check ongoing screening state for the Case;
  • 'entityType' - sort by the entity type for the Case;
  • 'caseRating' - sort by the rating for the Case;
  • 'mandatoryActions' - sort by the number of mandatory actions on this Case;
  • 'watchlistUnresolved' - sort by the count of unresolved matches with the provider type 'WATCHLIST';
  • 'watchlistReviewRequired' - sort by the count of matches with the provider type 'WATCHLIST' that require review;
  • 'clientWatchlistUnresolved' - sort by the count of unresolved matches with the provider type 'CLIENT_WATCHLIST';
  • 'clientWatchlistReviewRequired' - sort by the count of matches with the provider type 'CLIENT_WATCHLIST' that require review;
  • 'mediaCheckReviewRequired' - sort by the count of matches with the provider type 'MEDIA_CHECK' that require review;
  • 'secondaryFieldCountryLocation' - sort by the country location or registered country secondary field value;
  • 'secondaryFieldNationality' - sort by the citizenship secondary field value;
  • 'secondaryFieldPlaceOfBirth' - sort by the place of birth secondary field value;
  • 'groupId' - sort by the name of the Group owning the Case;
  • 'creatorUserId' - sort by the full name of the User who created the Case;
  • 'modifierUserId' - sort by the full name of the User who modified the Case;
  • 'assigneeUserId' - sort by the full name of the User the Case is currently assigned to.
object (PaginationReferenceRequest)

Request model for defining pagination options.

Responses

Request samples

Content type
application/json
{
  • "query": "primaryName==Trump and caseId=in=(Donald, Melania)",
  • "filter": "providerType==WATCHLIST and entityType=in=(UNSPECIFIED, INDIVIDUAL) and creationDate=RANGE=(2023-01-01, 2023-05-31)",
  • "detailLevel": "CASE_AND_RESULTS_AND_AGGREGATED_RESULTS",
  • "sort": [
    ],
  • "pagination": {
    }
}

Response samples

Content type
{
  • "query": "caseName==Trump",
  • "filter": "providerType==MEDIA_CHECK",
  • "detailLevel": "CASE_AND_RESULTS_AND_AGGREGATED_RESULTS",
  • "sort": [
    ],
  • "pagination": {
    },
  • "results": [
    ]
}

User activity monitoring. Initial request.

Return a collection of Cases that were modified by users in particular date range. Endpoint allow to initiate search and retrieve the first page of result set. The query supports next field to specify searching criteria:

'modificationDate' - Time when the case has been modified by the user;

'assignedUserId' - Identifier of the User cases are assigned to;

'groupId' - Identifier of the Group that owns the case;

'creatorUserId' - Identifier of the case author;

'modifierUserId' - Identifier of the recent changes author;

'creationDate' - Time when the case has been created.

To retrieve the next set of results please use '/cases/summaries/cursor' endpoint.

Note: Cursor lifespan keeps extending if the cursor is accessed within its current lifespan. For example, once the cursor-id is generated using POST /cases/summaries endpoint, its lifespan is 60secs from there. Within that 60secs, if POST /cases/summaries/cursor endpoint is called, it extends the lifespan of the cursor to another 60secs from the point that call is made – and so on. If there are no subsequent calls to POST /cases/summaries/cursor endpoint using the same cursor within 60secs, cursor will expire.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

The "query" is a FIQL expression which allows specifying comparison expression on case fields and it also allows specifying boolean operators AND/OR. The "sort" allows specifying items order in the response. The "cursorOptions" allows specifying count of items in the first response.

query
string

A query filter expression, which is written in a superset of the Atom Feed Item Query Language (FIQL). The FIQL is documented in https://tools.ietf.org/html/draft-nottingham-atompub-fiql-00, and the superset supported by the WC1 API documented in https://github.com/jirutka/rsql-parser. The query supports next field to specify searching criteria:

'modificationDate' - Time when the case has been modified by the user;

'assignedUserId' - Identifier of the User cases are assigned to;

'groupId' - Identifier of the Group that owns the case.

'creatorUserId' - Identifier of the case author

'modifierUserId' - Identifier of the recent changes author

'creationDate' - Time when the case has been created

RSQL/FIQL parser contains some reserved characters:

'"' | "'" | "(" | ")" | ";" | "," | "=" | "!" | "~" | "<" | ">"

If there are reserved characters or white spaces in the query expression, they must be escaped by enclosing them in single or double quotes. If you need to use both single and double quotes inside an argument, then you must escape one of them using \ (backslash). If you want to use \ literally, then double it as \\. Backslash has a special meaning only inside a quoted argument, not in unquoted argument. Using reserved characters or white spaces without escaping can lead to parsing and execution errors.

The query examples:

  • "query": "example=='TE!ST'"
  • "query": "example==\"TE'ST\""
  • "query": "example=='TE\\'ST'"

Argument can be a single value, or multiple values in parenthesis separated by comma. Value that does not contain any reserved character or a white space can be unquoted, other arguments must be enclosed in single or double quotes.

Example:

  • "query": "example1=='TE\\'ST', example2==TEST"
Array of objects (SortCriterion) [ items ]

The sort critieria to apply to the query

object (CursorOptions)

Responses

Request samples

Content type
application/json
{
  • "query": "string",
  • "sort": [
    ],
  • "cursorOptions": {
    }
}

Response samples

Content type
{
  • "searchCriteria": "modificationDate>='2016-07-27T00:00:00Z'",
  • "totalResultCount": 2,
  • "sort": {
    },
  • "cursor": {
    },
  • "results": [
    ]
}

User activity monitoring. Subsequent request.

Continue loading result sets by cursor ID retrieved from POST/cases/summaries.

Note: Cursor lifespan keeps extending if the cursor is accessed within its current lifespan. For example, once the cursor-id is generated using POST /cases/summaries endpoint, its lifespan is 60secs from there. Within that 60secs, if POST /cases/summaries/cursor endpoint is called, it extends the lifespan of the cursor to another 60secs from the point that call is made – and so on. If there are no subsequent calls to POST /cases/summaries/cursor endpoint using the same cursor within 60secs, cursor will expire.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Request to continue cases retrieval.

cursorId
required
string

Identifier of the cursor returned by the data source and needs to be provided when scrolling to the next page of results. CursorID exists for 60 seconds.

Responses

Request samples

Content type
application/json
{
  • "cursorId": "string"
}

Response samples

Content type
{
  • "searchCriteria": "modificationDate>='2016-07-27T00:00:00Z'",
  • "totalResultCount": 2,
  • "sort": {
    },
  • "cursor": {
    },
  • "results": [
    ]
}

Save and screen multiple cases.

Save and screen multiple cases for the given group Id. Caller may include multiple cases with up to 50 entities in a single request (see Example HTTP request below). In response, the caller receives a summary of the creation operation for each case.

Example HTTP response below, shows the following summary:

  1. The first case has been created successfully.
  2. The second case has not been created successfully because it does not meet the validation criteria; "errors" and "cause" fields contain detailed information.

Example HTTP response

  [
      {
          "name": "Name 1",
          "caseId": "Case ID 1",
          "caseSystemId": "Case System ID 1",
          "nameTransposition": true,
          "caseScreeningState": {
              "WATCHLIST": "INITIAL"
          }
      },
      {
          "name": "Name 2",
          "caseId": "Case ID 2",
          "errors": [
              {
                  "error": "CASE_ID_EXISTS",
                  "cause": "Case IDs must be unique within the same client and request."
              }
          ]
      }
  ]

Note: The maximum number of World-Check screenings (including initial, rescreening, and ZFP ones) that a client can perform in an hour is limited.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Container of cases that is used in scope of creation operation.

groupId
required
string <= 255 characters

Group identifier owning the cases.

providerTypes
required
Array of strings (ProviderType) non-empty unique
Items Enum: "WATCHLIST" "PASSPORT_CHECK" "CLIENT_WATCHLIST" "MEDIA_CHECK"

Array of provider types used in screening the cases.

required
Array of objects (CaseDetails) non-empty unique [ items ]

Array of CaseDetails used in creation of cases. The maximum number of cases is configured in account settings.

nameTransposition
boolean

Flag indicating whether name transposition should be enabled for the cases. The value from the Account settings will be used if not provided.

object

Mapping from ProviderType to indicate whether Ongoing Screening is enabled for this Case on the specific ProviderType. Supported ProviderType [WATCHLIST]. By default, value will be set from account settings.

Responses

Request samples

Content type
application/json
{
  • "groupId": "Client Group Id",
  • "providerTypes": [
    ],
  • "nameTransposition": true,
  • "caseScreeningState": {
    },
  • "cases": [
    ]
}

Response samples

Content type
[
  • {
    }
]

Retrieve case screening status and aggregated result for multiple cases.

Retrieve case screening statuses and aggregated results. Caller may include multiple cases with up to 50 entities in a single request (see Example HTTP request below). In response, the caller receives a status and aggregated screening results for each case.

Example HTTP response

  Response example returned for request not containing "providerTypes" field.
  [
      {
          "caseSystemId": "Case System ID 1",
          "screeningStatus": "SCREENED",
          "requestFromScreenedDate": "2020-10-24T11:40:21.517Z",
          "lastScreenedDate": "2019-12-16T14:44:15.582Z",
          "providerSummaries": {
              "WATCHLIST": {
                  "totalMatches": 38,
                  "reviewRequired": 0,
                  "unresolved": 35
              }
          }
      },
      {
          "caseSystemId": "Case System ID 2",
          "screeningStatus": "NOT_SCREENED",
          "requestFromScreenedDate": "2020-10-24T11:40:21.517Z",
          "providerSummaries": {
              "WATCHLIST": {
                  "totalMatches": 0,
                  "reviewRequired": 0,
                  "unresolved": 0
              },
              "PASSPORT_CHECK": {
                  "isReviewRequired": false
              }
          }
      },
      {
          "caseSystemId": "Case System ID 3",
          "screeningStatus": "SCREENED",
          "requestFromScreenedDate": "2019-10-24T11:40:21.517Z",
          "lastScreenedDate": "2019-12-20T08:25:32.146Z",
          "providerSummaries": {
              "WATCHLIST": {
                  "totalMatches": 625,
                  "reviewRequired": 0,
                  "unresolved": 618
              }
          }
      }
  ]

  Response example returned for request containing "providerTypes" field.
  [
      {
          "caseSystemId": "Case System ID 1",
          "requestFromScreenedDate": "2020-10-24T11:40:21.517Z",
          "lastScreenedDate": "2019-12-16T14:44:15.582Z",
          "providerSummaries": {
              "WATCHLIST": {
                  "status": "SCREENED",
                  "totalMatches": 38,
                  "reviewRequired": 0,
                  "unresolved": 35
              }
          }
      },
      {
          "caseSystemId": "Case System ID 2",
          "requestFromScreenedDate": "2020-10-24T11:40:21.517Z",
          "providerSummaries": {
              "WATCHLIST": {
                  "status": "SCREENED",
                  "totalMatches": 0,
                  "reviewRequired": 0,
                  "unresolved": 0
              },
              "PASSPORT_CHECK": {
                  "isReviewRequired": false
              }
          }
      },
      {
          "caseSystemId": "Case System ID 3",
          "requestFromScreenedDate": "2019-10-24T11:40:21.517Z",
          "lastScreenedDate": "2019-12-20T08:25:32.146Z",
          "providerSummaries": {
              "WATCHLIST": {
                  "status": "SCREENED",
                  "totalMatches": 625,
                  "reviewRequired": 0,
                  "unresolved": 618
              },
              "MEDIA_CHECK": {
                  "status": "SCREENED",
                  "isReviewRequired":
              }
          }
      }
  ]
header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Allows to specify cases and their screening dates that are using to define the screening status.

Array of objects (ScreeningStatusRequest) unique [ items ]

Contains 'caseSystemId' and presumptive screening timestamp which should be checked.

providerTypes
Array of strings (ProviderType)
Items Enum: "WATCHLIST" "PASSPORT_CHECK" "CLIENT_WATCHLIST" "MEDIA_CHECK"

Provider types for which results are exposed.

Responses

Request samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Response samples

Content type
[
  • [
    ]
]

audit

Operations for the audit domain.

Get a filtered list of AuditEvents for a Case by its caseSystemId

Return all audit events related to cases visible to the current user. To get all audit events initial request with no payload should be provided. However, please note that when audit is requested without any date range for eventDate in the query, it returns audit data for the last 168 hours by default. Also, caller may filter and sort the response by:

eventDate: The time when the Audit Event was created (ISO 8601 format excluding Week and Ordinal dates)

   e.g. eventDate>=2010-07-28T22:25:51Z;eventDate<2015-07-28T22:25:51Z

actionType: Signifies the event links to a Case object. Please refer to ActionType object for detailed description.

   e.g. actionType=='ASSIGN_CASE'
        actionType=in=('ASSIGN_CASE', 'NEW_MATCH')

actionedByUserId: Identifier of the User who created this audit event. Please refer to AuditEvent/properties/actionedByUserId for detailed description.

   e.g. actionedByUserId==663b4481-5b45-40a4-8b76-54ef805beea5

The above criteria can also be combined

   e.g. eventDate>=20120915T155300;eventDate<=2015-07-28T22:25:51Z;actionType=='NEW_MATCH'
        actionedByUserId==663b4481-5b45-40a4-8b76-54ef805beea5;eventDate>=2010-07-28T22:25:51Z

Please note that the above examples are only for the query part of the Filter

path Parameters
caseSystemId
required
string

System generated ID for the Case

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Filter the AuditEvents in the response

query
string

A query filter expression, which is written in a superset of the Atom Feed Item Query Language (FIQL). The FIQL is documented in https://tools.ietf.org/html/draft-nottingham-atompub-fiql-00, and the superset supported by the WC1 API documented in https://github.com/jirutka/rsql-parser.

RSQL/FIQL parser contains some reserved characters:

'"' | "'" | "(" | ")" | ";" | "," | "=" | "!" | "~" | "<" | ">"

If there are reserved characters or white spaces in the query expression, they must be escaped by enclosing them in single or double quotes. If you need to use both single and double quotes inside an argument, then you must escape one of them using \ (backslash). If you want to use \ literally, then double it as \\. Backslash has a special meaning only inside a quoted argument, not in unquoted argument. Using reserved characters or white spaces without escaping can lead to parsing and execution errors.

The query examples:

  • "query": "example=='TE!ST'"
  • "query": "example==\"TE'ST\""
  • "query": "example=='TE\\'ST'"

Argument can be a single value, or multiple values in parenthesis separated by comma. Value that does not contain any reserved character or a white space can be unquoted, other arguments must be enclosed in single or double quotes.

Example:

  • "query": "example1=='TE\\'ST', example2==TEST"
Array of objects (SortCriterion) [ items ]

The sort critieria to apply to the query

object (Pagination)

Inbound - the pagination to apply to the query.

Responses

Request samples

Content type
application/json
{
  • "query": "string",
  • "sort": [
    ],
  • "pagination": {
    }
}

Response samples

Content type
{
  • "query": "string",
  • "sort": [
    ],
  • "pagination": {
    },
  • "totalResultCount": 0,
  • "results": [
    ]
}

Retrieves the audit event with the given 'auditEventId' belonging to the case identified by the given 'caseSystemId'.

Retrieves the audit event with the given 'auditEventId' belonging to the case identified by the given 'caseSystemId'.

path Parameters
caseSystemId
required
string

System generated ID for the Case.

auditEventId
required
string

ID of the audit event.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/cases/%7BcaseSystemId%7D/auditEvents/%7BauditEventId%7D")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "id": "Audit ID",
  • "objectId": "Object ID",
  • "eventDate": "Event date",
  • "actionedByUserId": "Actioned by User ID",
  • "actionedByUserName": "Actioned by User Name",
  • "note": "Note",
  • "entityType": "CASE",
  • "actionType": "CHANGED_CASE_MEDIA_CHECK_SMART_FILTER_PREFERENCE",
  • "sourceType": "API",
  • "auditEventToDate": null,
  • "details": [
    ],
  • "matchEvents": [
    ]
}

media-check

Operations for the Media-Check domain.

Retrieve MediaCheck results

Retrieve MediaCheck headlines results by the case ID.

The retrieval of MediaCheck headlines results may require a number of steps depending on the size of the headline result set.

  1. Initially the API consumer does basic search of MediaCheck news articles by specifying initial filters and facets to return.
  2. Later the API consumer may invoke the endpoint several times in order to scroll the results page by page or to narrow down the results by selecting specific facet values.

Initial search request usually contains:

  • pagination object with specified fields itemsPerPage and sort, while the field pageReference is not specified. It is possible not to specify the pagination object at all, in this case WC1-API will use the default pagination values.
  • facets object contains list of facet categories to return.
  • drilldownKeys is empty on initial search.
  • archivedArticles field set as true within the baseFilter object (see explanation below).

The archivedArticles field previously within the baseFilter object is deprecated and should not be used in future development work.

Additionally, you may also limit publication dates through publicationDate field within baseFilter object.

The sample initial search request below specifies search within Media Check news articles according to the Archive limit of the Media Check Group settings issued in 2017, and requests up to 10 geography facet values, and a default number of topic facet values:

    {
      "baseFilter": {
        "smartFilter": true
        "reviewRequiredArticles": true,
        "archivedArticles": true,
        "publicationDate": {
          "min": "2017-01-01T00:00:00.000Z",
          "max": "2018-01-01T00:00:00.000Z"
        }
      },
      "facets": {
        "geography": {
          "limit": 10
        },
        "topic": {}
      },
      "pagination": {
        "itemsPerPage": 25,
        "sort": "NEW_TO_OLD"
      }
    }

For example, consider the response returns a total result count of 100 articles, displaying 25 headlines per page. In order to retrieve the second page results, the one should include pageReferences field (the 26-50 news articles), or for the last page results (the 76-100 news articles).

There are also facet values for requested geographies and topics facets, as well as matchingEntities values because search request has "smartFilter": true.

    {
      "totalResultCount": 100,
      "results": [...25 items in the array...],
      "pageReferences": {
        "last": "tokenLastPage",
        "next": "tokenSecondPage"
      },
      "facets": {
        "geographies": [
          {
            "drilldownKey": "drillDownKeyUK",
            "facetLabel": "United Kingdom",
            "articleCount": "56"
          }
        ],
        "topics": [
          {
            "drilldownKey": "drillDownKeyFraud",
            "facetLabel": "Fraud",
            "articleCount": "43"
          }
        ],
        "matchingEntities": [
          {
            "drilldownKey": "drillDownKeyDonald",
            "facetLabel": "DONALD DUCK",
            "articleCount": "20",
            "matchStrength": "1"
          }
        ]
      }
    }

The second page results are only possible to be viewed after retrieving the first page of the headline result set. The next and subsequent pages results can be retrieved in a similar way, but additionally the request should include the pageReference field within the pagination object. For better performance there's no need to provide facets object while requesting the second page.

    {
      "pagination": {
        "pageReference": "tokenSecondPage"
      },
      "baseFilter": {
        "archivedArticles": true,
        "reviewRequiredArticles": true,
        "publicationDate": {
          "max": "2017-01-01T00:00:00.000Z",
          "min": "2017-12-31T23:59:59.999Z"
        }
      }
    }

Alternatively, it is possible to narrow down results to the "United Kingdom" and "Fraud" topics instead of scrolling over huge number of results. The example request looks like the initial search with the list of drilldownKeys.

    {
      "pagination": {
        "itemsPerPage": 25,
        "sort": "NEW_TO_OLD"
      },
      "baseFilter": {
        "archivedArticles": true,
        "reviewRequiredArticles": true,
        "publicationDate": {
          "max": "2017-01-01T00:00:00.000Z",
          "min": "2017-12-31T23:59:59.999Z"
        }
      },
      "facets": {...},
      "drilldownKeys": [
        "drillDownKeyFraud",
        "drillDownKeyUK"
      ]
    }

Note on articles count display: With deduplication on, the total articles count is returned, including duplicates, if any. The duplicate articles are returned in the duplicatesKey field. The API user can use this field in the Retrieve MediaCheck Article Duplicates endpoint to view the article duplicates.

For example, consider the following request:

  {
    "baseFilter": {
      "archivedArticles": true,
      "reviewRequiredArticles": true
    },
    "pagination": {
      "itemsPerPage": 25,
      "sort": "NEW_TO_OLD"
    }
  }

If the deduplication is on, the API user may recieve a response containing the duplicatesKey:

  {
    ...
    "results": [
      {
        ...
        "articleSummary": {
          ...
          "duplicatesKey": "someDuplicatedKeyHash",
          ...
        }
      },
      ...
    ],
    ...
    "totalResultCount": 10550,
    ...
  }

Then the value of the received duplicatesKey may be used in MediaCheckDuplicatesRequest:

  {
    "deduplicationHash": "someDuplicatedKeyHash"
  }

Afterwards the API user will get the response containing duplicated articles:

  {
    "duplicates": [
      "articleId": "someArticleId",
      ...
    ]
  }
path Parameters
caseSystemId
required
string

System generated ID for a Case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Accept-Language
string

A value that identifies GUI language for the request. The response will be provided in the selected GUI language where available, otherwise it will be returned in English. Note this cannot be used to filter content by language and is used to display localized metadata.

Request Body schema: application/json

A request to retrieve the news results.

drilldownKeys
Array of strings

Drill down keys for facet navigation.

object (MediaCheckBaseFilter)

Used to filter news search results.

object (MediaCheckResultsPagination)

Allows users to paginate across the full list of articles returned as part of the result set.

The object should have either pageReference field or sort + itemsPerPage fields defined.

object (MediaCheckFacetsRequest)

Facets for MediaCheckResultsRequest

Responses

Request samples

Content type
application/json
{
  • "drilldownKeys": [
    ],
  • "baseFilter": {
    },
  • "pagination": {
    },
  • "facets": {
    }
}

Response samples

Content type
{
  • "pageReferences": {
    },
  • "results": [
    ],
  • "totalResultCount": 89898,
  • "facets": {
    }
}

Retrieve article metadata by the article IDs

Retrieve Media Check headlines results by the article IDs.

Example HTTP request

    {
      "articleIds":[
        "articleID1",
        "articleID2",
        "articleID3"
      ]
    }
path Parameters
caseSystemId
required
string

System generated ID for the Case

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Accept-Language
string

A value that identifies UI language for request. The response will be provided in the selected UI language where available, otherwise it will be returned in English.

Request Body schema: application/json

Collection of Article IDs.

articleIds
required
Array of strings [ 1 .. 200 ] items unique

MediaCheck articles IDs. Request may contain up to 200 articles.

Responses

Request samples

Content type
application/json
{
  • "articleIds": [
    ]
}

Response samples

Content type
{
  • "results": [
    ]
}

Retrieve article metadata by the article ID

Retrieve Media Check headlines results by the article ID.

path Parameters
caseSystemId
required
string

System generated ID for the Case

articleId
required
string

MediaCheck news article ID

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Accept-Language
string

A value that identifies UI language for request. The response will be provided in the selected UI language where available, otherwise it will be returned in English.

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/cases/%7BcaseSystemId%7D/mediacheck/results/%7BarticleId%7D/metadata")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .header("Accept-Language", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "results": [
    ]
}

Retrieve MediaCheck news articles content

Retrieve MediaCheck news articles content and summary by the given caseSystemId and list of article IDs.

Example HTTP request

    {
      "articleIds":[
        "articleID1",
        "articleID2",
        "articleID3"
      ]
    }
path Parameters
caseSystemId
required
string

System generated ID for the Case

query Parameters
enableHighlight
boolean

Flag to enable terms highlight

context
string

Terms to highlight

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Request to retrieve MediaCheck new articles content.

articleIds
required
Array of strings [ 1 .. 200 ] items unique

MediaCheck articles IDs. Request may contain up to 200 unique articles.

Responses

Request samples

Content type
application/json
{
  • "articleIds": [
    ]
}

Response samples

Content type
{
  • "results": [
    ]
}

Retrieve content of single MediaCheck news article.

Retrieve content of single MediaCheck news article by the given caseSystemId and article ID.

path Parameters
caseSystemId
required
string

System generated ID for the Case

articleId
required
string

MediaCheck news article ID

query Parameters
enableHighlight
boolean

Flag to enable terms highlight

context
string

Terms to highlight

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/cases/%7BcaseSystemId%7D/mediacheck/results/%7BarticleId%7D/content?enableHighlight=SOME_BOOLEAN_VALUE&context=SOME_STRING_VALUE")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "results": [
    ]
}

Mark all MediaCheck news articles as reviewed for a case.

Marks all news articles as reviewed for the Case identified by the given caseSystemId.

path Parameters
caseSystemId
required
string

System generated ID for the Case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.put("https://api.risk.lseg.com/screening/v2/cases/%7BcaseSystemId%7D/mediacheck/results/review")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "dateReviewed": "2019-05-14T11:55:19.038Z"
}

Attach articles to a case.

Attach articles to a case identified by the given caseSystemId.

path Parameters
caseSystemId
required
string

System generated ID for the Case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Articles attachment.

articleIds
required
Array of strings [ 1 .. 200 ] items unique

MediaCheck articles IDs. Request may contain up to 200 articles.

risk
required
string

Definition of Media Check attached article risk level

reason
string <= 2000 characters

Reason description.

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "risk": "HIGH",
  • "articleIds": [
    ]
}

Response samples

Content type
{
  • "resolutions": [
    ]
}

Retrieve all articles attached to the case.

Retrieve Media Check results by the article attached to the case.

path Parameters
caseSystemId
required
string

System generated ID for the Case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Accept-Language
string

A value that identifies UI language for request. The response will be provided in the selected UI language where available, otherwise it will be returned in English.

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/cases/%7BcaseSystemId%7D/mediacheck/results/attach")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .header("Accept-Language", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "results": [
    ]
}

Detach articles from a case.

Detach articles from a case identified by the given caseSystemId.

path Parameters
caseSystemId
required
string

System generated ID for the Case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Articles detachment.

articleIds
required
Array of strings [ 1 .. 200 ] items unique

MediaCheck articles IDs. Request may contain up to 200 articles.

Responses

Request samples

Content type
application/json
{
  • "articleIds": [
    ]
}

Response samples

Content type
{
  • "resolutions": [
    ]
}

Detach single article from a case.

Detach single article from a case identified by the given caseSystemId.

path Parameters
caseSystemId
required
string

System generated ID for the Case.

articleId
required
string

MediaCheck news article ID.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.delete("https://api.risk.lseg.com/screening/v2/cases/%7BcaseSystemId%7D/mediacheck/results/%7BarticleId%7D/attach")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
[
  • {
    }
]

Retrieve mediacheck risk definitions

Retrieves a list of mediacheck risk definitions.

The mediacheck risk definitions are used when attaching mediacheck articles to a case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/mediacheck/risks")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
[
  • "HIGH"
]

Retrieve MediaCheck article duplicates.

Retrieve article duplicates by specifying article deduplicationHash.

path Parameters
caseSystemId
required
string

System generated ID for a Case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Accept-Language
string

A value that identifies GUI language for the request. The response will be provided in the selected GUI language where available, otherwise it will be returned in English. Note this cannot be used to filter content by language and is used to display localized metadata.

Request Body schema: application/json

Request containing data to retrieve article duplicates.

deduplicationHash
string

Hash string containing deduplication configuration.

Responses

Request samples

Content type
application/json
{
  • "deduplicationHash": "string"
}

Response samples

Content type
{
  • "results": [
    ]
}

client-watchlist

Operations for the Watchlist domain.

Create or update a provider source

Create or update a provider source for uploading entity records to. An example usage would be for a client watchlist.

path Parameters
identifier
required
string

Unique identifier for this provider source. Has to be alphanumeric.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Provider source details

abbreviation
required
string

Abbreviated form of this source's name.

identifier
required
string

An alphanumeric value

name
required
string <= 255 characters

Full name of this source.

providerSourceStatus
required
string
Enum: "ACTIVE" "DELETED" "HIDDEN"

Provider Source Status Enumeration

required
object (ProviderSourceType)
creationDate
string <date-time>
importIdentifier
string
object (Provider)
regionOfAuthority
string
subscriptionCategory
string
Default: "STANDARD"
Enum: "PREMIUM" "STANDARD"

Subscription Category Type Enumeration

modificationDate
string <date-time>

Modification date of source. This field is updated only when there is a change in either source name or description. This field does not capture any updates to the underlying records that are added/deleted to/from the source.

description
string

Description of the source.

Responses

Request samples

Content type
application/json
{
  • "abbreviation": "string",
  • "creationDate": "2019-08-24T14:15:22Z",
  • "identifier": "string",
  • "importIdentifier": "string",
  • "name": "string",
  • "provider": {
    },
  • "providerSourceStatus": "ACTIVE",
  • "regionOfAuthority": "string",
  • "subscriptionCategory": "PREMIUM",
  • "modificationDate": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "type": {
    }
}

Response samples

Content type
[
  • {
    }
]

Maintain your Watchlist data

Maintain your Watchlist data using the following supported entity actions.

  • entityCreateOrUpdate - Add a new entity to your Watchlist or replace if it already exists.

  • entityDelete - Mark the given entity as deleted in your Watchlist.

  • entitySupersede - Supersede enables you to redirect matches against your superseded entity to a new entity. This is useful if you want to redirect users with existing matches against an old entity to a newer / more accurate version of those entities.

  • entityPurge - Purge enables you to remove an entity as required by GDPR whereby the personally identifiable information is removed.

Due to the large number of entries within a Watchlist it is not possible to update the entire Watchlist in a single request The overall request must be split into blocks of up to 500 individual entity actions.

The response consists of a list of any entities which were not successfully processed and a reason for failure.

Note: The client watchlist record may not be considered for re-screening if the 'modificationDate' field has not been specified while modifying the record.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

A collection of maintenance actions to be performed on your Watchlist.

Array of objects (Entity) [ items ]
Array of objects (EntityDelete) [ items ]
Array of objects (EntitySupersede) [ items ]
Array of objects (EntityPurge) [ items ]

Responses

Request samples

Content type
application/json
{
  • "entityCreateOrUpdate": [
    ],
  • "entityDelete": [
    ],
  • "entitySupersede": [
    ],
  • "entityPurge": [
    ]
}

Response samples

Content type
{
  • "errors": [
    ]
}

user

Operations for the user domain.

Get a list of active users in the client's account.

Get a list of active users in the client's account.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/users")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
[
  • {
    }
]

passport-check

Operations for the Passport-Check domain.

Generates MRZ data

Performs generation of MRZ data according to provided data

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Object containing data for generation of MRZ

givenName
required
string <= 1000 characters

Name as in identifying document

lastName
required
string <= 1000 characters

Surname as in identifying document

gender
required
string
Default: "UNSPECIFIED"
Enum: "MALE" "FEMALE" "UNSPECIFIED"

Stated gender Type Enumeration

dateOfBirth
required
string <date>

Date of birth according ISO 8601 standard

issuingState
required
string

Code of state that issued identifying document

nationality
required
string

Code of nationality as in identifying document

identificationNumber
required
string <= 1000 characters

Number of identifying document

dateOfExpiry
required
string <date>

Expiry date of identifying document according ISO 8601 standard

documentType
required
string
Default: "PASSPORT"
Enum: "PASSPORT" "ID1" "ID2"

Passport Type Enumeration

Responses

Request samples

Content type
application/json
{
  • "givenName": "Name",
  • "lastName": "Surname",
  • "gender": "MALE",
  • "dateOfBirth": "2019-01-02",
  • "issuingState": "GBR",
  • "nationality": "GBS",
  • "identificationNumber": 123456789,
  • "dateOfExpiry": "2019-01-02",
  • "documentType": "PASSPORT"
}

Response samples

Content type
{
  • "lines": [
    ],
  • "isConformICAO": true
}

linked-cases

Operations for the linked cases domain.

Retrieve the list of case relationships

Retrieve the list of case relationships with cases linked to it.

Relationship type strategies examples:

  • primary-to-subcase : declares caseSystemId as a primary case and lists cases linked to it with primary-to-subcase relationship type.
  • subcase-to-primary : declares caseSystemId as a subcase and lists cases linked to it with subcase-to-primary relationship type.
path Parameters
caseSystemId
required
string

System generated ID for a Case

relationshipType
required
Array of strings unique
Items Enum: "primary-to-subcase" "subcase-to-primary"

Relationship type between cases. Multiple comma separated values allowed

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Request containing pagination to list case relationships.

object (Pagination)

Inbound - the pagination to apply to the query.

Responses

Request samples

Content type
application/json
{
  • "pagination": {
    }
}

Response samples

Content type
{
  • "pagination": {
    },
  • "totalResultCount": 0,
  • "results": [
    ]
}

Create links between cases

Create links between cases based on relationship type strategy(relationshipType).

Note: There is a maximum number of World-Check One relationships between cases:

  • Maximum 500 primary cases are allowed per a subcase.
  • Maximum 50 subcases are allowed per a primary case.

Relationship type strategies examples:

  • primary-to-subcase : declares caseSystemId as a primary case and cases listed in linkedCasesRequest as subcases which will be linked to a primary case.
  • subcase-to-primary : declares caseSystemId as a subcase and cases listed in linkedCasesRequest as primary cases which will be linked to a subcase.

Example HTTP request

    {
      "relatedCaseSystemIds":[
        "Case System ID 1",
        "Case System ID 2",
      ]
    }
path Parameters
caseSystemId
required
string

System generated ID for a case.

relationshipType
required
string
Enum: "primary-to-subcase" "subcase-to-primary"

Relationship type between cases.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Related case system IDs.

relatedCaseSystemIds
required
Array of strings [ 1 .. 25 ] items unique

Related case system IDs.

note
string <= 1000 characters

Note added by the user.

Responses

Request samples

Content type
application/json
{
  • "relatedCaseSystemIds": [
    ],
  • "note": "Audit note"
}

Response samples

Content type
[
  • {
    }
]

Delete links between cases

Unlink cases based on relationship type strategy(relationshipType).

Relationship type strategies examples:

  • primary-to-subcase : declares caseSystemId as a primary case and cases listed in linkedCasesRequest as subcases which will be unlinked from a primary case.
  • subcase-to-primary : declares caseSystemId as a subcase and cases listed in linkedCasesRequest as primary cases which will be unlinked from a subcase.
path Parameters
caseSystemId
required
string

System generated ID for a Case.

relationshipType
required
string
Enum: "primary-to-subcase" "subcase-to-primary"

Relationship type between cases.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

Related case system IDs.

relatedCaseSystemIds
required
Array of strings [ 1 .. 25 ] items unique

Related case system IDs.

note
string <= 1000 characters

Note added by the user.

Responses

Request samples

Content type
application/json
{
  • "relatedCaseSystemIds": [
    ],
  • "note": "Audit note"
}

Response samples

Content type
[
  • {
    }
]

case-rating

Operations for the rating domain.

Retrieve a case rating

Retrieve the case rating in the case provided in the request path.

path Parameters
caseSystemId
required
string

System generated ID for a case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/cases/%7BcaseSystemId%7D/rating")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "caseRating": "NO_RISK",
  • "reason": "string",
  • "createdDate": "2019-08-24T14:15:22Z",
  • "createdBy": "string"
}

Update a case rating

Update the case rating in the case provided in the request path. The request contains a detailed reason to make it easier to resolve a case based on screening results. The reason is not a required field in the request.

Example HTTP request

    {
      "caseRating": "HIGH",
      "reason": "The reason"
    }
path Parameters
caseSystemId
required
string

System generated ID for a case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Content-Type
required
string

The media type of the request (e.g., 'application/json')

Content-Length
required
integer

The length of the request body in octets (8-bit bytes)

Request Body schema: application/json

The object representing a case rating.

caseRating
required
string
Enum: "NO_RISK" "LOW" "MEDIUM" "HIGH" "UNKNOWN" "NOT_RATED"

The case rating types.

reason
string <= 1000 characters

The reason for setting the new case rating type of the case.

Responses

Request samples

Content type
application/json
{
  • "caseRating": "NO_RISK",
  • "reason": "string"
}

Response samples

Content type
[
  • {
    }
]

smart-filter

Operations for the smart filter domain.

Retrieve smart filter on a case

Retrieve the smart filter state on the case provided in the request path. The request body should be empty for the case provided in the request path ('caseSystemId'). The case should be created with enabled mediacheck provider.

path Parameters
caseSystemId
required
string

System generated ID for a case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/cases/%7BcaseSystemId%7D/mediacheck/smartFilter")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "smartFilter": true
}

Enable smart filter on a case

Update the smart filter state on the case provided in the request path. The group setting "Allow users to enable/disable the Smart Filter" should be equal to true to have the ability to update the smart filter state on the case. The request body should be empty for the case provided in the request path ('caseSystemId'). The case should be created with enabled mediacheck provider. If the smart filter has already enabled then the smart filter status will not be updated.

path Parameters
caseSystemId
required
string

System generated ID for a case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.put("https://api.risk.lseg.com/screening/v2/cases/%7BcaseSystemId%7D/mediacheck/smartFilter")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
[
  • {
    }
]

Disable smart filter on a case

Update the smart filter state on the case provided in the request path. The group setting "Allow users to enable/disable the Smart Filter" should be equal to true to have the ability to update the smart filter state on the case. The request body should be empty for the case provided in the request path ('caseSystemId'). The case should be created with enabled mediacheck provider. If the smart filter has already disabled then the smart filter status will not be updated.

path Parameters
caseSystemId
required
string

System generated ID for a case.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details)

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format

Responses

Request samples

HttpResponse<String> response = Unirest.delete("https://api.risk.lseg.com/screening/v2/cases/%7BcaseSystemId%7D/mediacheck/smartFilter")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
[
  • {
    }
]

reporting

Operations for the report domain.

Submit request for async report based on the given filter conditions and return the 'reportId'.

Submit request for async report based on the given filter conditions and return the 'reportId'.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Content-Type
required
string

The media type of the request (e.g., 'application/json').

Content-Length
required
integer

The length of the request body in octets (8-bit bytes).

Request Body schema: application/json

The payload for async report request.

query
required
string

The query string used for fetching the source data for the report.

The query supports next field to specify searching criteria:

  • 'caseId' - Case ID provided by the client;

The query examples:

  • "query": "example=='TE!ST'"
  • "query": "example==\"TE'ST\""
  • "query": "example=='TE\\'ST'"
  • "query": "example=="TEST DATA""
filter
required
string

The filters to be applied on the dataset returned by using the query.

The filter supports next field to specify searching criteria:

  • 'caseSystemId': Case System ID generated by the system for the client;

The filter examples:

  • "filter": "example=='TE!ST'"
  • "filter": "example==\"TE'ST\""
  • "filter": "example=='TE\\'ST'"
  • "filter": "example=="TEST DATA""
required
Array of objects (SortCriterion) [ items ]

The sort criteria applied to the response.

reportFilter
required
string

The filters to be applied on the record level dataset.

The reportFilter supports next field to specify searching criteria:

  • 'providerType': Array of provider types used in record level filtration and does not have default providerType value.
  • 'includeUnresolvedMatches': represents the boolean value for the record level filtration and default value is false.
  • 'includePositiveMatches': represents the boolean value for the record level filtration and default value is false.
  • 'includePossibleMatches': represents the boolean value for the record level filtration and default value is false.
  • 'includeFalseMatches': represents the boolean value for the record level filtration and default value is false.
  • 'includeUnspecifiedMatches': represents the boolean value for the record level filtration and default value is false.
  • 'includeAudit': represents the boolean value for the record level filtration and default value is true.
  • 'includePassportCheck': represents the boolean value for the record level filtration and default value is false.
  • 'includeMediaCheckFullArticles': represents the boolean value for the record level filtration and default value is false.
  • 'includeMediaCheckHeadlines': represents the boolean value for the record level filtration and default value is false.

Note: The record filters – 'includeUnresolvedMatches', 'includePositiveMatches', 'includePossibleMatches', 'includeFalseMatches' & 'includeUnspecifiedMatches', allow for the export of the full matched records in addition to the Case Dossier Report. This selection does not affect the summary of all matched records included in the Case Dossier Report. The other filters 'includeMediacheckHeadlines', 'includeMediacheckArticles', 'includePassportCheck' & 'includeAudit' are applicable for the inclusion or exclusion of these sections in the Case Dossier report.

The report Level Filter examples:

example 1: To generate a case dossier PDF report for the matched World-Check records with multiple record filters along with the additional filter sections namingly 'includePassportCheck', 'includeMediaCheckFullArticles' or 'includeMediaCheckHeadlines', 'includeAudit'.

 {
    "reportFilter": 
     "(includeUnresolvedMatches==true; 
       includePositiveMatches==true; 
       includePossibleMatches==true; 
       includeFalseMatches==true; 
       includeUnspecifiedMatches==true; 
       providerType==WATCHLIST),
       (includePassportCheck==true),
       (includeMediaCheckFullArticles==true),
       (includeMediaCheckHeadlines==true),
       (includeAudit==true)"
 }   

example 2: To generate a case dossier PDF report for the matched World-Check or Client-Watchlist records with multiple record filters along with the additional filter sections namingly 'includePassportCheck', 'includeMediaCheckFullArticles' or 'includeMediaCheckHeadlines'.

 {
    "reportFilter": 
     "(includeUnresolvedMatches==true; 
       includePositiveMatches==true; 
       includePossibleMatches==true; 
       providerType==WATCHLIST),
       (includeFalseMatches==true; 
       includeUnspecifiedMatches==true; 
       providerType==CLIENT_WATCHLIST),
       (includePassportCheck==true),
       (includeMediaCheckFullArticles==true),
       (includeMediaCheckHeadlines==true)";
 }   

example 3: To generate a case dossier PDF report which includes only filter sections like 'includePassportCheck', 'includeAudit', 'includeMediaCheckFullArticles' or 'includeMediaCheckHeadlines' without the matched World-Check or Client-Watchlist records.

 {
   "reportFilter": 
    "includePassportCheck==true,
    includeAudit==true,
    includeMediaCheckFullArticles==true,
    includeMediaCheckHeadlines==true";
 }   
reportType
required
string (ReportType)
Value: "CASE_DOSSIER"

The type of report.

reportName
string

Name for the report. If not provided, system will generate the name for the report based on the type of report.

customAttributes
string

Custom attributes for the reports (specific to the type of the report). E.g. notes for case dossier report.

The Custom attributes examples:

  • "customAttributes": "note==data".
  • "customAttributes": "note=='note is custom attribute'".
  • "customAttributes": "note=="note is custom attribute"".

Responses

Request samples

Content type
application/json
{
  • "query": "caseId==SomeCustomCaseId",
  • "filter": "caseSystemId==SomeCaseSystemId",
  • "reportType": "CASE_DOSSIER",
  • "reportName": "Report Name",
  • "reportFilter": "includeUnresolvedMatches==false;providerType==WATCHLIST",
  • "customAttributes": "note==data",
  • "sort": [
    ]
}

Response samples

Content type
{
  • "query": "caseId==SomeCustomCaseId",
  • "filter": "caseSystemId==SomeCaseSystemId",
  • "reportType": "CASE_DOSSIER",
  • "reportName": "Report Name",
  • "reportFilter": "includeUnresolvedMatches==false;providerType==WATCHLIST",
  • "customAttributes": "note==data",
  • "sort": [
    ],
  • "reportId": "Report ID"
}

Get the report status for the given report ID.

Get the report status for the given report ID.

path Parameters
reportId
required
string

Report ID for which the status needs to be fetched.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/reports/%7BreportId%7D/status")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
{
  • "reportId": "Report ID",
  • "reportName": "Report Name",
  • "progressStatus": "COMPLETED",
  • "reportType": "CASE_DOSSIER",
  • "startDate": "2019-08-28T10:05:15.000Z",
  • "completionDate": null,
  • "deletionDate": null,
  • "errorLog": false,
  • "summary": {
    }
}

Download the report for given report ID.

Download the report for given report ID.

path Parameters
reportId
required
string

Report ID for which the report needs to be fetched.

header Parameters
Authorization
required
string

The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details).

Date
required
string

The date and time at which the message was originated in 'RFC 1123' format.

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v2/reports/%7BreportId%7D")
  .header("content-type", "application/json")
  .header("Authorization", "SOME_STRING_VALUE")
  .header("Date", "SOME_STRING_VALUE")
  .asString();

Response samples

Content type
No sample