LSEG World-Check One API (3.0.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.

    © 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

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/v3/apiInfo")
  .asString();

Response samples

Content type
application/json
{
  • "version": "3.0.0",
  • "systemDateTime": "2024-10-24T11:46:28.131Z",
  • "apiDocumentationLink": "wc1-api.documentation.com"
}

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 case 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 /references/search-filters endpoint.

filter
string

A string containing filter criteria. Note: To find the available search fields, check for fields with 'FILTER' type in the GET /references/search-filters 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 case 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
application/json
{
  • "query": "caseName==Trump",
  • "filter": "providerType==MEDIA_CHECK",
  • "detailLevel": "CASE_AND_RESULTS_AND_AGGREGATED_RESULTS",
  • "sort": [
    ],
  • "pagination": {
    },
  • "results": [
    ]
}

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 (GenderType)
Default: "UNSPECIFIED"
Enum: "MALE" "FEMALE" "UNSPECIFIED"

Individual's gender.

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
application/json
{
  • "lines": [
    ],
  • "isConformICAO": true
}

Validate Passport.

Performs validation of Passport.

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.

accepted
required
boolean

Name as in identifying document.

caseSystemId
string

Case System Id for the Case.

note
string <= 1000 characters

Notes for Auditing Purpose.

Responses

Request samples

Content type
application/json
{
  • "accepted": true,
  • "caseSystemId": "string",
  • "note": "Notes"
}

Response samples

Content type
application/json
[
  • {
    }
]

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

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)

Date
required
string

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

Request Body schema: application/json

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

Array of objects (ClientWatchlistEntity) [ 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
application/json
{
  • "errors": [
    ]
}

Create or update a provider source

Create or update a provider source for uploading entity records. 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 <= 255 characters

Abbreviated form of this source's 'name'.

identifier
required
string <= 255 characters ^[\sa-zA-Z0-9]*$

An alphanumeric value.

name
required
string <= 255 characters

Full name of this source.

providerSourceStatus
required
string (ProviderSourceStatus)
Enum: "ACTIVE" "DELETED" "HIDDEN" "INACTIVE" "DRAFT" "PURGED"

Provider source status enumeration.

required
object (ProviderSourceType)

Details about the Provider's source type.

creationDate
string <date-time>

Creation date and time.

regionOfAuthority
string

Region of the Provider's authority.

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": "ABC",
  • "identifier": "Provider Source ID",
  • "name": "Provider Source",
  • "providerSourceStatus": "ACTIVE",
  • "type": {
    },
  • "creationDate": "2023-01-25T14:00:00Z",
  • "regionOfAuthority": "Region",
  • "modificationDate": "2023-02-12T14:00:00Z",
  • "description": "Description"
}

Response samples

Content type
application/json
[
  • {
    }
]

zfs

Operations for the ZFS domain.

Get all Groups for the identified Users.

  • The default value is to get all the top-level Groups with their immediate descendants.

  • There are additional options as shown below

    showAllChildGroups - This option shows all levels of Groups from the top-level Groups and all its Hierarchy.

    showOnlyZfs - No Hierarchy on this list, a flat list of all 'ZFS' Groups is produced.

query Parameters
showAllChildGroups
boolean

Show All Child Groups in addition to Primary Group and immediate descendants if set to 'true'.

showOnlyZfs
boolean

If this parameter is set to 'true' then show only 'ZFS' Groups, if it is set to 'false' then show both 'ZFS' and 'non-ZFS' 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/v3/groups?showAllChildGroups=SOME_BOOLEAN_VALUE&showOnlyZfs=SOME_BOOLEAN_VALUE")
  .asString();

Response samples

Content type
application/json
[
  • {
    }
]

Get a specified Group including its immediate descendants.

Get a specified Group including its immediate descendants.

path Parameters
groupId
required
string

The Group 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.get("https://api.risk.lseg.com/screening/v3/groups/%7BgroupId%7D")
  .asString();

Response samples

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

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

The Group 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.get("https://api.risk.lseg.com/screening/v3/groups/%7BgroupId%7D/case-template")
  .asString();

Response samples

Content type
application/json
{
  • "groupId": "Group ID",
  • "groupScreeningType": "CASE_MANAGEMENT_AUDIT",
  • "customFields": [
    ],
  • "secondaryFieldsByProvider": {
    }
}

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.

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

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

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

The example response body:

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/v3/references/records/%7Bid%7D")
  .asString();

Response samples

Content type
application/json
Example
{
  • "entityType": "CountryEntity",
  • "referenceId": "string",
  • "recordStatus": {
    },
  • "recordDates": [
    ],
  • "recordType": {
    },
  • "categories": [
    ],
  • "lastPublishedUpdateCategory": "UNKNOWN",
  • "dates": {
    },
  • "locations": {
    },
  • "names": {
    },
  • "provider": {
    },
  • "identifications": {
    },
  • "connections": {
    },
  • "sources": [
    ],
  • "furtherInformation": {
    },
  • "sourceReferenceLinks": {
    },
  • "translatedEntity": {
    }
}

Save and Screen a Case

This endpoint creates and screens new cases. Cases can be created by using 2 modes in parameter query:

  • ASYNC: Creation of cases for asynchronous screening where the case is automatically added to the screening queue. Case details are shown in response. To check progress use screening status endpoint.
  • SYNC: Creation of cases for synchronous screening. Match results are shown in response.

Note: Only SYNC option should be used for ZFS screening.

query Parameters
screen
string
Default: "SYNC"
Enum: "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).

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)

Date
required
string

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

Request Body schema: application/json

Update Case payload.

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 Screening (ZFS) or not.

entityType
required
string (CaseEntityType)
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 unique
Items Enum: "watchlist" "passportCheck" "mediaCheck" "clientWatchlist" "uboCheck"

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 'ProviderType's: '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 GET /groups/{groupId}/caseTemplate endpoint. 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 GET /groups/{groupId}/caseTemplate endpoint.

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. The date should be less than today.

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
application/json
{
  • "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": {
    },
  • "caseRating": "NO_RISK",
  • "results": [
    ],
  • "caseResultsSummary": {
    }
}

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/v3/users")
  .asString();

Response samples

Content type
application/json
[
  • {
    }
]

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/v3/references/countries")
  .asString();

Response samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

references

Operations for the reference domain.

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.

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

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

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

The example response body:

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/v3/references/records/%7Bid%7D")
  .asString();

Response samples

Content type
application/json
Example
{
  • "entityType": "CountryEntity",
  • "referenceId": "string",
  • "recordStatus": {
    },
  • "recordDates": [
    ],
  • "recordType": {
    },
  • "categories": [
    ],
  • "lastPublishedUpdateCategory": "UNKNOWN",
  • "dates": {
    },
  • "locations": {
    },
  • "names": {
    },
  • "provider": {
    },
  • "identifications": {
    },
  • "connections": {
    },
  • "sources": [
    ],
  • "furtherInformation": {
    },
  • "sourceReferenceLinks": {
    },
  • "translatedEntity": {
    }
}

Get a list of available providers and their sources.

Get a list of 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).

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)

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/v3/references/providers")
  .asString();

Response samples

Content type
application/json
[
  • {
    }
]

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/v3/references/search-filters")
  .asString();

Response samples

Content type
application/json
{
  • "freeTextParameters": [
    ],
  • "customFieldParameters": [
    ],
  • "predefinedParameters": [
    ]
}

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/v3/references/countries")
  .asString();

Response samples

Content type
application/json
{
  • "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/v3/references/nationalities")
  .asString();

Response samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Get Identity Document Location Types Dataset 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/v3/references/identity-documents")
  .asString();

Response samples

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

groups

Operations for the groups domain.

Get all Groups for the identified Users.

  • The default value is to get all the top-level Groups with their immediate descendants.

  • There are additional options as shown below

    showAllChildGroups - This option shows all levels of Groups from the top-level Groups and all its Hierarchy.

    showOnlyZfs - No Hierarchy on this list, a flat list of all 'ZFS' Groups is produced.

query Parameters
showAllChildGroups
boolean

Show All Child Groups in addition to Primary Group and immediate descendants if set to 'true'.

showOnlyZfs
boolean

If this parameter is set to 'true' then show only 'ZFS' Groups, if it is set to 'false' then show both 'ZFS' and 'non-ZFS' 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/v3/groups?showAllChildGroups=SOME_BOOLEAN_VALUE&showOnlyZfs=SOME_BOOLEAN_VALUE")
  .asString();

Response samples

Content type
application/json
[
  • {
    }
]

Get a specified Group including its immediate descendants.

Get a specified Group including its immediate descendants.

path Parameters
groupId
required
string

The Group 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.get("https://api.risk.lseg.com/screening/v3/groups/%7BgroupId%7D")
  .asString();

Response samples

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

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

The Group 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.get("https://api.risk.lseg.com/screening/v3/groups/%7BgroupId%7D/case-template")
  .asString();

Response samples

Content type
application/json
{
  • "groupId": "Group ID",
  • "groupScreeningType": "CASE_MANAGEMENT_AUDIT",
  • "customFields": [
    ],
  • "secondaryFieldsByProvider": {
    }
}

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.

path Parameters
groupId
required
string

The Group 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.get("https://api.risk.lseg.com/screening/v3/groups/%7BgroupId%7D/resolution-toolkits")
  .asString();

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Create or update one or more group preference(s) in the WC1 UMS for the given group ID.

path Parameters
groupId
required
string

The Group 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.

Content-Length
required
integer

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

Content-Type
required
string

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

Request Body schema: application/json

The payload for group preferences request.

required
Array of objects (Preference) [ items ]

Responses

Request samples

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

Response samples

Content type
application/json
[
  • {
    }
]

Get the preference value for the group preference by groupID & preference Type.

path Parameters
groupId
required
string

The Group ID.

preferenceType
required
string

Type for which the preference 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/v3/groups/%7BgroupId%7D/preferences/%7BpreferenceType%7D")
  .asString();

Response samples

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

Update the group preference in the WC1 UMS for the given group ID and preference Type.

path Parameters
groupId
required
string

The Group ID.

preferenceType
required
string

Type for which the preference 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.

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 group preference request.

preferenceValue
required
string

Responses

Request samples

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

Response samples

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

Delete the preference for the given group id and preference Type.

path Parameters
groupId
required
string

The Group ID.

preferenceType
required
string

Type for which the preference 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.delete("https://api.risk.lseg.com/screening/v3/groups/%7BgroupId%7D/preferences/%7BpreferenceType%7D")
  .asString();

Response samples

Content type
application/json
[
  • {
    }
]

users

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/v3/users")
  .asString();

Response samples

Content type
application/json
[
  • {
    }
]

cases

Check if a given 'caseId' is available for use.

The '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.

path 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.head("https://api.risk.lseg.com/screening/v3/references/cases/%7BcaseId%7D")
  .asString();

Response samples

Content type
application/json
[
  • {
    }
]

Returns the CaseReference containing the 'caseId' and 'caseSystemId' pair for an existing Case with the given '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} endpoint.

path 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/v3/references/cases/%7BcaseId%7D")
  .asString();

Response samples

Content type
application/json
{
  • "caseId": "Case ID",
  • "caseSystemId": "Case System ID"
}

Save and Screen a Case

This endpoint creates and screens new cases. Cases can be created by using 2 modes in parameter query:

  • ASYNC: Creation of cases for asynchronous screening where the case is automatically added to the screening queue. Case details are shown in response. To check progress use screening status endpoint.
  • SYNC: Creation of cases for synchronous screening. Match results are shown in response.

Note: Only SYNC option should be used for ZFS screening.

query Parameters
screen
string
Default: "SYNC"
Enum: "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).

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)

Date
required
string

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

Request Body schema: application/json

Update Case payload.

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 Screening (ZFS) or not.

entityType
required
string (CaseEntityType)
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 unique
Items Enum: "watchlist" "passportCheck" "mediaCheck" "clientWatchlist" "uboCheck"

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 'ProviderType's: '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 GET /groups/{groupId}/caseTemplate endpoint. 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 GET /groups/{groupId}/caseTemplate endpoint.

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. The date should be less than today.

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
application/json
{
  • "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": {
    },
  • "caseRating": "NO_RISK",
  • "results": [
    ],
  • "caseResultsSummary": {
    }
}

Retrieve Case screening status.

Case screening statuses can be returned using this endpoint. The status for multiple cases (up to 50) can be requested in a single request. Results returned show 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).

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)

Date
required
string

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

Request Body schema: application/json

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

required
Array of objects (ScreeningStatusRequest) [ items ]

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

providerTypes
Array of strings (ProviderType) unique
Items Enum: "watchlist" "passportCheck" "mediaCheck" "clientWatchlist" "uboCheck"

Provider types for which results are exposed.

Responses

Request samples

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

Response samples

Content type
application/json
[
  • [
    ]
]

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) need to be sent. There is a query parameter with the PATCH endpoint ?screen=NONE/ASYNC/SYNC/DELTA_SYNC, which allows different results to be shown:

  • NONE: Pure update; no screening by default.
  • ASYNC: Update; screening request is added automatically to queue for asynchronous screening and
    response contains only Case details and no results (no need to initiate screening using async endpoint).
  • SYNC (FULL SYNC): Update and screen synchronously with results in response.
  • DELTA_SYNC: Update and screen synchronously from last screened date.

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: "SYNC" "ASYNC" "NONE" "DELTA_SYNC"

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

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)

Date
required
string

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

Request Body schema: application/json

Update Case payload.

object

The object representing a Case rating.

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 unique
Items Enum: "watchlist" "passportCheck" "mediaCheck" "clientWatchlist" "uboCheck"

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 'ProviderType's: '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 GET /groups/{groupId}/caseTemplate endpoint. 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 GET /groups/{groupId}/caseTemplate endpoint.

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,
  • "note": "Audit note"
}

Response samples

Content type
application/json
{
  • "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": {
    },
  • "caseRating": "NO_RISK",
  • "results": [
    ],
  • "caseResultsSummary": {
    }
}

Fetch Full Case Details

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

The information provided will include simple summaries of the single case or an aggregated summary (current case plus any linked cases). The counts provided are :

  • split by resolution per source
  • split for Watchlist records by resolution by sub category

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/v3/cases/%7BcaseSystemId%7D?aggregatedSummary=SOME_BOOLEAN_VALUE")
  .asString();

Response samples

Content type
application/json
{
  • "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",
  • "modificationDateByUser": "2016-02-18T14:00:00Z",
  • "modificationDateBySystem": "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/v3/cases/%7BcaseSystemId%7D")
  .asString();

Response samples

Content type
application/json
[
  • {
    }
]

Assign the Case to a User.

Assign the Case to a User. 'GET /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

Assign Case payload.

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": "User ID",
  • "note": "Note"
}

Response samples

Content type
application/json
[
  • {
    }
]

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/v3/cases/%7BcaseSystemId%7D/assignee")
  .asString();

Response samples

Content type
application/json
[
  • {
    }
]

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/v3/cases/%7BcaseSystemId%7D/archive")
  .asString();

Response samples

Content type
application/json
[
  • {
    }
]

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/v3/cases/%7BcaseSystemId%7D/archive")
  .asString();

Response samples

Content type
application/json
[
  • {
    }
]

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

Review Cases by adding specific result IDs and add a remark to the Review. There will only be a single review remark for the group of result IDs selected. To add a separate remark for each review then a result IDs and result remark must be processed individually.

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.

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
application/json
[
  • {
    }
]

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 GET 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 GET groups/{group_id}/resolutionToolkit.

reasonId
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 GET groups/{group_id}/resolutionToolkit.

resolutionRemark
string <= 2000 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
application/json
[
  • {
    }
]

Retrieve a Case Rating.

Retrieve the Case Rating of the specified Case using '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.get("https://api.risk.lseg.com/screening/v3/cases/%7BcaseSystemId%7D/rating")
  .asString();

Response samples

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

Retrieve the results for a screened case.

Return a collection of Results for the Case identified by the given caseSystemId. using the results/summary endpoint you can view the filter responses giving an idea of which filters you can apply for more granularity.

path Parameters
caseSystemId
required
string

System generated ID for the Case.

query Parameters
onlySummary
boolean

If true, then only send results filters summary in response, if false or not given then respond with results filters summary plus all results.

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)

user_name
string

The unique user id for the client making a request to the WC1 Public API.

X-Request-ID
string

The unique request Id for each request generated by the WC1 API Gateway.

Request Body schema: application/json

The filters we want to apply when fetching results for a case.

filter
string

A string containing filter criteria.The Available Filters are given below.

  • 'resolutionType'
  • 'matchedTermType'
  • 'matchStrength'
  • 'sourceCategories'
  • 'gender'
  • 'dateOfBirth'
  • 'identificationType'
  • 'placeOfBirth'
  • 'citizenship'
  • 'country'
  • 'recordSubType'
  • 'pepStatus'
  • 'specialInterestCategory'
  • 'pepCategory'
  • 'keyword'
  • 'creationDate'
  • 'modificationDate'
  • 'lastAlertDate'
  • 'reviewRequired'
  • 'reviewRequiredDate'
Array of objects (SortCriterion) [ items ]

An array of sorting criteria.

The list of available sort parameter names:

  • 'matchStrength'
  • 'gender'
  • 'recordSubType'
  • 'pepStatus'
  • 'creationDate'
  • 'modificationDate'
  • 'lastAlertDate'
  • 'reviewRequiredDate'
object (PaginationReferenceRequest)

Request model for defining pagination options.

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "resultsCount": 0,
  • "filter": "string",
  • "sort": [
    ],
  • "pagination": {
    },
  • "summary": {
    },
  • "results": [
    ]
}

Retrieve the list of Case links.

Retrieve the list of Cases linked to the specified Case.

Link type examples:

  • primary-to-subcase : declares caseSystemId as a primary Case and lists Cases linked to it with primary-to-subcase link type.
  • subcase-to-primary : declares caseSystemId as a subcase and lists Cases linked to it with subcase-to-primary link type.
path Parameters
caseSystemId
required
string

System generated ID for the Case.

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

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

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v3/cases/%7BcaseSystemId%7D/links/%7BlinkType%7D")
  .asString();

Response samples

Content type
application/json
{
  • "totalResultCount": 0,
  • "results": [
    ]
}

Create or delete links between Cases.

Create or delete links between Cases based on link type strategy (linkType). You can link / unlink cases in two ways:

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

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

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

Example HTTP request

    {
      "linkedCases":[
        "Case System ID 1",
        "Case System ID 2",
      ]
    }
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

The payload for linked cases request.

link
required
boolean

Identifies which operation (link or unlink) should be performed.

linkType
required
string (LinkType)
Enum: "subcase-to-primary" "primary-to-subcase"

Link type between Cases.

relatedCases
Array of strings unique

Related Case system IDs.

note
string <= 1000 characters

Note added by the User.

Responses

Request samples

Content type
application/json
{
  • "link": true,
  • "linkedCases": [
    ],
  • "linkType": "primary-to-subcase",
  • "note": "Audit note"
}

Response samples

Content type
application/json
[
  • {
    }
]

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.

User can submit ongoing screening updates request through the OgsUpdateFilter object, which includes 'filter' and 'matchFilter' fields. Expressions in 'filter' and 'matchFilter' 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.

Ongoing screening updates are available in two modes. i.e.FULL or SUMMARY mode.

e.g.1. Filter body that specifies the items per page to be 1000 and queries the first page of ongoing screening updates for WATCHLIST and MEDIA_CHECK provider types occurred from 2023-01-11T00:00:00Z to 2023-12-15T00:00:00Z, sorted by updateDate in ASCENDING order with SUMMARY mode:

 
   - ONGOING_SCREENING_UPDATES with SUMMARY Mode
   {
       "filter": "updateDate=RANGE=(2023-01-11T00:00:00Z,2023-12-15T00:00:00Z);providerType=in=('MEDIA_CHECK','WATCHLIST');groupId=='groupId1';caseSystemId=='caseSystemId1'",
       "pagination": {
         "itemsPerPage": 1000,
         "pageReference": "Reference ID of the requested page"
       },
       "mode": "SUMMARY",
       "sort": [
         {
           "columnName": "updateDate",
           "order": "ASCENDING"
         }
       ]
   }

e.g.2. Filter body that specifies the items per page to be 1000 and queries the first page of ongoing screening updates for WATCHLIST and MEDIA_CHECK provider types and specified groupId, occurred from 2023-01-11T00:00:00Z to 2023-12-15T00:00:00Z, sorted by updateDate in ASCENDING order along with match filters applied by resolutionStatus, reviewRequired updates for specified caseSystemId in FULL mode:

  - ONGOING_SCREENING_UPDATES with FULL Mode
  {
    "filter": "updateDate=RANGE=(2023-01-11T00:00:00Z,2023-12-15T00:00:00Z);providerType=in=('MEDIA_CHECK','WATCHLIST');groupId=='groupId1';resultType=='UPDATED';caseSystemId=='caseSystemId1'",
    "matchFilter": "resolutionStatus=in=('POSITIVE','POSSIBLE','UNSPECIFIED','FALSE');reviewRequired=='FALSE'"
    "pagination": {
      "itemsPerPage": 1000,
      "pageReference": "Reference ID of the requested page"
    },
    "mode": "FULL",
    "sort": [
      {
        "columnName": "updateDate",
        "order": "ASCENDING"
      }
    ]
  }
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.

filter
required
string

A string containing filter criteria which used to query the ongoing screening updates.

The filter supports below fields to specify searching criteria:

  • updateDate: The date and time of the ongoing screening update in ISO 8601 format(excluding Week and Ordinal dates). e.g. 2023-01-11T00:00:00Z (Mandatory).

  • providerType: Provider type to query the ongoing screening results(Optional). Supports == and RANGE operator. The following providerTypes are allowed:

    • WATCHLIST : It includes results from both WATCHLIST and CLIENT_WATCHLIST.
    • MEDIA_CHECK : It includes results from MEDIA_CHECK.
  • groupId: Group and its respective subgroups to query the ongoing screening results(Optional). Supports == operator. e.g. groupId=='groupId1'

  • resultType: Determines result set under a case which got updated. Accepts either NEW or UPDATED values(Optional). Supports == operator. Applicable for FULL mode.

    • NEW : It will return only new results under a case.
    • UPDATED : It will return only updated results under a case.
  • caseSystemId: System generated ID for the Case to query the ongoing screening results(Optional). Supports == and IN operator. The maximum number of caseSystemId allowed is 50.

    Note: This will also be provided as part of Notification Payload under Push Notification for OGS updates.

matchFilter
required
string

MatchFilters are constraint to be applied on the results under each case object. Following Filters are allowed:

  • resolutionStatus : Represents resolution status of the case. Supports == and IN operator. Applicable for FULL mode. The Available resolutionStatus are given below:

    • POSITIVE
    • POSSIBLE
    • FALSE
    • UNSPECIFIED
  • reviewRequired : Boolean flag to indicate whether require review for the ogs updates. Supports == operator. Applicable for FULL mode.

mode
required
string <= 10 characters
Default: "FULL"

Ongoing screening updates are available in two modes. i.e.FULL or SUMMARY mode.

  • FULL : This mode provides the result level data along with count under each case which got updated.
  • SUMMARY : This mode provides the count of new and updated result under each case which got updated.
required
Array of objects (SortCriterion) [ items ]

An array of sorting criteria.

The list of available sort parameter names:

  • updateDate
  • caseSystemId
required
object (PaginationReferenceRequest)

Request model for defining pagination options.

Responses

Request samples

Content type
application/json
{
  • "filter": "updateDate=RANGE=(2023-01-11T00:00:00Z,2023-12-15T00:00:00Z);providerType=in=('MEDIA_CHECK','WATCHLIST')",
  • "matchFilter": ""
}

Response samples

Content type
Example
{
  • "filter": "updateDate=RANGE=(2023-01-11T00:00:00Z,2023-12-15T00:00:00Z);providerType=in=('MEDIA_CHECK','WATCHLIST');groupId=='groupId1';resultType=='UPDATED';caseSystemId=='caseSystemId1'",
  • "matchFilter": "resolutionStatus=in=('POSITIVE','POSSIBLE','UNSPECIFIED','FALSE');reviewRequired=='FALSE'",
  • "mode": "FULL",
  • "sort": [
    ],
  • "totalResultCount": 1,
  • "pagination": {
    },
  • "results": [
    ]
}

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, 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.
  • sort object supports sorting by publicationDate.The default sort is DESCENDING order.
  • facets object contains list of facet categories to return.
  • drilldownKeys is empty on initial search.

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,
        "publicationDate": {
          "min": "2017-01-01T00:00:00.000Z",
          "max": "2018-01-01T00:00:00.000Z"
        }
      },
      "facets": {
        "geographies": {
          "limit": 10
        },
        "topics": {}
      },
      "sort": {
         "columnName": "publicationDate",
         "order": "DESCENDING"
      },
      "pagination": {
        "itemsPerPage": 25
      }
    }

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.

    {
      "sort":  {
         "columnName": "publicationDate",
         "order": "DESCENDING"
      },
      "pagination": {
        "pageReference": "tokenSecondPage"
      },
      "baseFilter": {
        "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.

    {
     "sort":  {
       "columnName": "publicationDate",
       "order": "DESCENDING",
      },
      "pagination": {
        "itemsPerPage": 25
      },
      "baseFilter": {
        "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": {
      "reviewRequiredArticles": true
    },
    "sort":  {
      "columnName": "publicationDate",
      "order": "DESCENDING",
    }, 
    "pagination": {
      "itemsPerPage": 25,
    }
  }

If the deduplication is on, the API user may receive 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 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 data to retrieve article duplicates.

drilldownKeys
Array of strings

Drill down keys for facet navigation.

object (MediaCheckBaseFilter)

Used to filter news search results.

object (MediaCheckSortCriterion)

Details of sorting on a specific column.

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": {
    },
  • "sort": {
    },
  • "pagination": {
    },
  • "facets": {
    }
}

Response samples

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

Retrieve MediaCheck article duplicates.

Retrieve article duplicates by specifying article deduplicationHash.

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-Length
required
integer

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

Content-Type
required
string

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

Request Body schema: application/json

Request containing data to retrieve article duplicates.

deduplicationHash
required
string

Hash string containing deduplication configuration.

Responses

Request samples

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

Response samples

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

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.

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v3/cases/%7BcaseSystemId%7D/media-check/results/attachments")
  .asString();

Response samples

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

Attach / Detach the articles to a case.

Attach / Detach 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.

Request Body schema: application/json

Request To Attach and Detach the Articles.

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

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

attachment
required
boolean

True to Attach and False to Detach

reason
string <= 2000 characters

Reason description.

risk
string (MediaCheckArticleRisk)
Enum: "NO_RISK" "UNKNOWN" "HIGH" "LOW" "MEDIUM"

Media check attached article risk level.

Responses

Request samples

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

Response samples

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

Mark media-check news articles as reviewed for a case.

Marks media-check 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.

Request Body schema: application/json

Request body to review the media-check articles.

note
string <= 1000 characters

Note added by the user.

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "dateReviewed": "2019-05-14T11:55:19.038Z",
  • "note": "note"
}

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
application/json
{
  • "results": [
    ]
}

bulk

Operations for the bulk cases.

Save and screen multiple linked cases.

Save and screen multiple cases for the given group Id. Caller may include multiple cases with up to 1000 entities in a single request (see Example HTTP request below). Also it is possible to include audit note, start screening date and parent case system id. If parent case system id is present then newly created case will be linked to specified parent. 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.

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.

groupId
required
string <= 255 characters

Group identifier owning the cases.

providerTypes
required
Array of strings (ProviderType) non-empty unique
Items Enum: "watchlist" "passportCheck" "mediaCheck" "clientWatchlist" "uboCheck"

Array of provider types used in screening the cases.

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.

note
string

An optional audit note.

object

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

Responses

Request samples

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

Response samples

Content type
application/json
[
  • {
    }
]

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. Case screening state can be ONGOING or INITIAL. "ONGOING" means enable OGS for the specified systemCaseId's "INITIAL" means disable OGS for the specified systemCaseId's The user must be active and have CASE_OGS permissions. A list of failed cases only will be displayed under the Summary Count.

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:

World-Check/Media-Check Ongoing Screening operation can not be performed for the case with "caseSystemId3" because it does not meet the validation criteria; "errors" field 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.

caseSystemIds
required
Array of strings unique

An array of system generated Ids for the Cases

object

A mapping from ProviderType to indicate whether ongoing screening is enabled for this Case on the specific ProviderType. By default, the value is set from account settings.

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
application/json
{
  • "id": "string",
  • "summary": {
    },
  • "failedCases": [
    ]
}

Bulk Move Cases Between Groups.

To Move Cases between Groups you can select Cases using the "caseSystemId" field to move the specified Case to another Group.

The User must be active and have the move Cases between Groups Permission and must be a member of both the original group and the group the Cases are to be moved to. The current Group and the destination Group should contain identical custom fields. Cases can not be moved to ZFS Groups.

In the response, the user receives a summary of the action showing total count of cases processed and this count split between success and failed. A list of failed cases only will be displayed under the summary - showing the "caseSytemId" , "caseId " 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
application/json
{
  • "id": "string",
  • "summary": {
    },
  • "failedCases": [
    ]
}

Bulk Delete Cases.

For each given "caseSystemId", the system will delete the Case from the database when this endpoint is run. The Case must be archived before it can be deleted. The user must be active and have the delete permission, and the client must have the delete function enabled. In the response, the user receives a summary of the action showing total count of Cases processed and this count split between success and failed. A list of failed cases only will be displayed under the summary - showing the "caseSytemId" , "caseId " has not been deleted because it does not meet the validation criteria "error" and "cause" fields contain detailed information on the error.

Example HTTP response below, shows the following summary:

  1. "caseSystemId1", "caseId" has not been deleted because it does not meet the validation criteria; "error" and "cause" fields contain detailed information of 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 unique

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
application/json
{
  • "id": "string",
  • "summary": {
    },
  • "failedCases": [
    ]
}

Bulk Update Archive States.

For each given caseSystemIds, the Archive status can be updated by changing the value in the "archive" field. "archive" = true then Cases will be "Archived". "archive" = false then Cases are "Unarchived". Archive and Unarchive cannot be in the same request and the number of cases to action must be <=1000, if left blank the default will be true i.e. Archive. To complete this operation the User must be Active and have the Archive permission.

In the response, the user receives a summary of the action showing total count of cases processed and this count split between success and failed. A list of failed cases only will be displayed under the summary - showing the "caseSystemId","caseId" has not been archived/unarchived because it does not meet the validation criteria "error" and "cause" fields contain detailed information on the error.

Example HTTP response below, shows the following summary: "caseSystemId1","caseId" has not been Archived because it does not meet the validation criteria; "error" and "cause" fields contain detailed information of 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 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
application/json
{
  • "id": "string",
  • "summary": {
    },
  • "failedCases": [
    ]
}

Bulk Update Case Links

Bulk Update Case Links for cases by specifying caseSystemID and the Link type specific in linkType field. The case links are updated according to the value specified in the "linkType" field. If set to "true" creates a link , set to "false" then unlinking is performed. The user must be active and have the "merge case" permission to perform these actions. The Parent Case Manager will also need to be enabled at client level. The user can add notes to this function to explain reason for links - there is only one note for all the caseSystemId's. In the response, the user receives a summary of the action showing total count of cases processed and this count split between success and failed. A list of failed cases only will be displayed under the summary Example HTTP response below, shows the following summary: "caseSystemId1" , "caseId" has not been linked because it does not meet the validation criteria; " error" and "cause" fields contain detailed information of 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.

linkType
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
application/json
{
  • "id": "string",
  • "summary": {
    },
  • "failedCases": [
    ]
}

Bulk Update Case Assignments

For each given 'caseSystemId', the assignee can be updated by changing the value in the "userid" field. If the "userId" field value is null, then the cases will be unassigned. If an active user id is selected then the case will be assigned to that "userid". To complete this operation the user must be active and have the assign permission. Assign and unassign cannot be in the same request and the number of cases to action must be <1000.

In the response, the user receives a summary of the action showing total count of cases processed and this count split between success and failed. A list of failed cases only will be displayed under the summary - showing the "caseSystemId" , "caseId " has not been deleted because it does not meet the validation criteria "error" and "cause" fields contain detailed information on the error.

*Example HTTP response below, shows the following summary:

  1. "caseSystemId1", "caseId" has not been assigned because it does not meet the validation criteria; "error" and "cause" fields contain detailed information of 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 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
application/json
{
  • "id": "string",
  • "summary": {
    },
  • "failedCases": [
    ]
}

audit

Operations for the audit domain.

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/v3/cases/%7BcaseSystemId%7D/audit-events/%7BauditEventId%7D")
  .asString();

Response samples

Content type
application/json
{
  • "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": [
    ]
}

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

Provides a list of all audit events related to the specified caseSystemId entered. To get the full list of audit events for the case the request should have no payload i.e. no query parameters entered.
However, please note that if an audit list is requested without any date range for eventDate in the query, it will only returns audit data for the last 168 hours/ 7 days (168 hours) by default.

The list returned can be filtered/sorted in the body of the query 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"
filter
string
matchFilter
string
mode
string
Default: "FULL"

FULL or SUMMARY

Array of objects (SortCriterion) [ items ]

The sort critieria to apply to the query

object (PaginationRequestDetails)

Inbound - the pagination to apply to the query.

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "query": "string",
  • "filter": "string",
  • "matchFilter": "string",
  • "mode": "string",
  • "sort": [
    ],
  • "totalResultCount": 0,
  • "pagination": {
    },
  • "results": [
    ]
}

reports

Operations for the report domain.

Submit request for async report based on the given query and filter conditions.

Submit request for async report based on the query and filter criteria/conditions.

This endpoint allows you to submit async request for the report generation using the query and filter conditions. User can submit the async request through the AsyncReportRequest object, which includes 'query', 'filter', 'reportFilter', 'customAttributes' fields. Expressions in 'query', 'filter', 'reportFilter', 'customAttributes' 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:

  • A single report can process only 500 cases at a time. Client can not export report if this limit is exceeded.
  • To learn about the available search fields and their usage, you can use the GET /references/search-filters endpoint.
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-Length
required
integer

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

Content-Type
required
string

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

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.

Note:

  • To find the available search fields, check for fields with 'QUERY' type in the GET /references/search-filters endpoint.
  • The 'QUERY' expression can include a maximum of 10 caseId's in searching criteria.
  • Either the 'query' or 'filter' criteria is mandatory to submit async report request.
filter
required
string

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

Note:

  • To find the available filter fields, check for fields with 'FILTER' type in the GET /references/search-filters endpoint.
  • The 'FILTER' expression can include a maximum of 10 caseSystemId's in searching criteria.
  • Either the 'query' or 'filter' criteria is mandatory to submit async report request.
required
Array of objects (SortCriterion) [ items ]

The array of sort criteria applied to the response.

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.
reportFilter
required
string

The filters to be applied on the record level dataset.

The reportFilter supports below fields to specify searching criteria:

  • providerType: Array of provider types used in record level filtration and does not have default providerType value. The list of supported providerTypes are:

    • WATCHLIST
    • CLIENT_WATCHLIST
  • 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"

Represents the type of report. Currently supports CASE_DOSSIER report type.

reportName
required
string

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

customAttributes
required
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==5v0euvdiguhp1j3sws0a6i0c7 and primaryName==John and idNumbersValue==798777677",
  • "filter": "creationDate==2010-01-01 and providerType==WATCHLIST and entityType=in=(UNSPECIFIED, INDIVIDUAL)",
  • "reportType": "CASE_DOSSIER",
  • "sort": [
    ],
  • "reportName": "Report Name",
  • "reportFilter": "(includeUnresolvedMatches==true and includePositiveMatches==true and includePossibleMatches==false and includeFalseMatches==true and includeUnspecifiedMatches==false and providerType==WATCHLIST) or (includePassportCheck==true) or (includeMediaCheckFullArticles==true) or (includeMediaCheckHeadlines==false) or (includeAudit==true)",
  • "customAttributes": "note==data"
}

Response samples

Content type
application/json
{
  • "query": "caseId==5v0euvdiguhp1j3sws0a6i0c7 and primaryName==John and idNumbersValue==798777677",
  • "filter": "creationDate==2010-01-01 and providerType==WATCHLIST and entityType=in=(UNSPECIFIED, INDIVIDUAL)",
  • "reportType": "CASE_DOSSIER",
  • "sort": [
    ],
  • "reportName": "Report Name",
  • "reportFilter": "(includeUnresolvedMatches==true and includePositiveMatches==true and includePossibleMatches==false and includeFalseMatches==true and includeUnspecifiedMatches==false and providerType==WATCHLIST) or (includePassportCheck==true) or (includeMediaCheckFullArticles==true) or (includeMediaCheckHeadlines==false) or (includeAudit==true)",
  • "customAttributes": "note==data",
  • "reportId": "5v0f6tiiryfp1j8mckrhi8kjs"
}

Get the report status for the given report ID.

Get the report status for the given report ID.

path Parameters
reportId
required
string

Unique report 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.get("https://api.risk.lseg.com/screening/v3/reports/%7BreportId%7D/status")
  .asString();

Response samples

Content type
application/json
{
  • "reportId": "5v0f6tiiryfp1j8mx7cr9c01y",
  • "reportName": "CaseDossierReport",
  • "progressStatus": "COMPLETED",
  • "reportType": "CASE_DOSSIER",
  • "startDate": "2024-12-06T12:08:03.898Z",
  • "completionDate": "2024-12-06T12:08:05.363Z",
  • "deletionDate": "2024-12-11T12:08:05.363Z",
  • "errorLog": false,
  • "summary": {
    }
}

Get the report status for all the active reports by pagination params.

Get the report status for all active reports by pagination parameters such as itemsPerPage and pageReference.
Allows users to paginate across the full list of report status returned as part of the result set.

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.

Request Body schema: application/json

The pagination request to get report status for all the active reports.

itemsPerPage
integer <int32>

The number of items to return per page. The maximum number of items per page allowed is 1000.

pageReference
string

A reference to a specific page.

Responses

Request samples

Content type
application/json
{
  • "itemsPerPage": 2,
  • "pageReference": "Reference ID of the requested page"
}

Response samples

Content type
application/json
{
  • "totalItems": 2,
  • "paginationDetails": {
    },
  • "reports": [
    ]
}

Get the errors details for the given 'reportId'.

This endpoint provides the errors details for the given 'reportId'. Client can identify that whether the given 'reportId' has error log via GET /reports/{reportId}/status endpoint.

path Parameters
reportId
required
string

Unique report 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.get("https://api.risk.lseg.com/screening/v3/reports/%7BreportId%7D/errors")
  .asString();

Response samples

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

Download the report for given report ID.

Download the report for given report ID. The report can not be download whenever the report generation falls
under the below progress status:

  • IN_PROGRESS - Report generation is in progress.
  • FAILED - Report failed to generate.
  • WAITING - Report is waiting in queue and yet to be processed.
  • UNKNOWN - Report status is unknown.
  • CANCELLED - Report request has been cancelled.

NOTE: Generated case dossier report via POST /reports endpoint will only be available upto 3 days from the date of generation.

path Parameters
reportId
required
string

Unique report 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.get("https://api.risk.lseg.com/screening/v3/reports/%7BreportId%7D")
  .asString();

Response samples

Content type
No sample

Cancel the report request for the given report ID.

Cancel the async case dossier report generation via 'POST /reports' endpoint for the given report ID. The report generation can not be cancel whenever report is already completed, failed or in cancelled state.

path Parameters
reportId
required
string

Unique report 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/v3/reports/%7BreportId%7D")
  .asString();

Response samples

Content type
application/json
[
  • {
    }
]

notifications

Operations for push notifications subscriptions.

Create Subscription.

Create the subscription based on the request.

Subscription request consists of subscriptionType, subscriptionAuth, subscriptionEventType, list of recipients. Client can obtain list of recipients for the identified Users via GET /groups endpoint.

All the mentioned parameters are mandatory for creating a subscription.

Subscription creation response contains the subscription details. Subscription Auth Credentials will be encrypted and masked in response.

Note: If the combination of recipientId and subscriptionEventType already exists, then System will not allow to create a subscription.

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')

Request Body schema: application/json

Payload for creating a subscription.

subscriptionType
required
string <= 1000 characters

Represents the mode of subscription. Currently supports only WEBHOOK.

required
object (SubscriptionAuth)

Generic authentication model of the subscription. Authentication model currently supports HMAC and OAUTH. The SubscriptionAuth contains the url, authType, credentials for respective authentication models.

For hmac authentication, Credentials contains following parameters:

  • apiKey
  • apiSecret

For oauth authentication, Credentials contains following parameters:

  • clientId
  • clientSecret
  • tokenUrl
subscriptionEventType
required
string <= 1000 characters

The event type that subscribed by the subscription. Currently supports only OGS_UPDATES.

recipients
required
Array of strings

Represents list of groupId's, which are to be intended recipients for the subscription to be created.

Responses

Request samples

Content type
application/json
Example

Example request payload for creating a subscription with hmac credentials.

{
  • "subscriptionType": "WEBHOOK",
  • "subscriptionAuth": {},
  • "subscriptionEventType": "OGS_UPDATES",
  • "recipients": [
    ]
}

Response samples

Content type
application/json
Example

Example response of an active subscription with hmac credentials.

Note : Subscription response for OAUTH auth type will be the same with respective subscriptionAuth details for OAUTH.

{
  • "subscriptionType": "WEBHOOK",
  • "subscriptionAuth": {
    },
  • "subscriptionEventType": "OGS_UPDATES",
  • "recipients": [
    ],
  • "subscriptionId": "6728a25f15abcd307ae54a081",
  • "creationDate": "2024-09-10T05:02:11.000Z",
  • "modifiedDate": "2024-09-10T07:08:09.000Z",
  • "subscriptionStatus": {
    }
}

Get Subscription details by Subscription ID.

Retrieve the Subscription details based on the given 'subscriptionId'.

path Parameters
subscriptionId
required
string <= 1000 characters

The Unique Subscription 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.

Content-Type
required
string

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

Responses

Request samples

HttpResponse<String> response = Unirest.get("https://api.risk.lseg.com/screening/v3/notifications/subscriptions/%7BsubscriptionId%7D")
  .asString();

Response samples

Content type
application/json
Example

Example response of an active subscription with hmac credentials.

Note : Subscription response for OAUTH auth type will be the same with respective subscriptionAuth details for OAUTH.

{
  • "subscriptionType": "WEBHOOK",
  • "subscriptionAuth": {
    },
  • "subscriptionEventType": "OGS_UPDATES",
  • "recipients": [
    ],
  • "subscriptionId": "6728a25f15abcd307ae54a081",
  • "creationDate": "2024-09-10T05:02:11.000Z",
  • "modifiedDate": "2024-09-10T07:08:09.000Z",
  • "subscriptionStatus": {
    }
}

Update Subscription.

Updates an existing subscription by the given 'subscriptionId' with the provided fields.

  • When the subscription needs to be updated, updating field(s) need to be sent in the request payload.
  • Subscription will have an intermediate status 'SUBSCRIPTION_UPDATE_IN_PROGRESS' to avoid multiple updates to the subscription simultaneously.
  • Verification of subscriptionAuth will be re-triggered :
    1. If any of the fields of subscriptionAuth is updated.
    2. If Subscription status is changed to "ACTIVE" from any of the other status.
  • The status is updated accordingly in the response if the re-verification is done depending on the update request.

Updating status of subscription :

  • A subscription status can be updated to INACTIVE only if the subscription is in ACTIVE status.
  • A subscription status can only have "ACTIVE" and "INACTIVE" value for update.
path Parameters
subscriptionId
required
string <= 1000 characters

The Unique Subscription 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.

Content-Type
required
string

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

Request Body schema: application/json

The payload for update subscription.

subscriptionType
string <= 1000 characters

Represents the mode of subscription. Currently supports only WEBHOOK.

object (SubscriptionAuth)

Generic authentication model of the subscription. Authentication model currently supports HMAC and OAUTH. The SubscriptionAuth contains the url, authType, credentials for respective authentication models.

For hmac authentication, Credentials contains following parameters:

  • apiKey
  • apiSecret

For oauth authentication, Credentials contains following parameters:

  • clientId
  • clientSecret
  • tokenUrl
subscriptionEventType
string <= 1000 characters

The event type that is subscribed by the subscription. Currently supports only OGS_UPDATES.

recipients
Array of strings

The list of unique recipient Ids to update subscription. Client can obtain list of groupId's for the identified Users via GET /groups endpoint.

Note: If the combination of recipientId and subscriptionEventType already exists, then System will not allow to update the subscription.

object (UpdateSubscriptionStatus)

Subscription status can be updated either from ACTIVE to INACTIVE or INACTIVE to ACTIVE status.

Note:

  • Whenever subscription needs to be updated with INACTIVE status, only the subscriptionStatus field is allowed in the request payload.
  • Whenever subscription will be updated from INACTIVE status to ACTIVE status, verification of Subscription Auth will be re-triggered.

Responses

Request samples

Content type
application/json
Example

Example request payload for updating recipients of a subscription.

Note : Existing recipients will be overridden with the recipients provided in the request.

{
  • "recipients": [
    ]
}

Response samples

Content type
application/json
Example

Example response of an active subscription with hmac credentials.

Note : Subscription response for OAUTH auth type will be the same with respective subscriptionAuth details for OAUTH.

{
  • "subscriptionType": "WEBHOOK",
  • "subscriptionAuth": {
    },
  • "subscriptionEventType": "OGS_UPDATES",
  • "recipients": [
    ],
  • "subscriptionId": "6728a25f15abcd307ae54a081",
  • "creationDate": "2024-09-10T05:02:11.000Z",
  • "modifiedDate": "2024-09-10T07:08:09.000Z",
  • "subscriptionStatus": {
    }
}

Delete Subscription details based on the given Subscription ID.

Delete Subscription details based on the given 'subscriptionId'.

path Parameters
subscriptionId
required
string <= 1000 characters

The Unique Subscription 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/v3/notifications/subscriptions/%7BsubscriptionId%7D")
  .asString();

Response samples

Content type
application/json
[
  • {
    }
]