swagger: '2.0' info: title: London Stock Exchange Group LSEG World-Check One Api-Info Reporting API description: 'The World-Check One API enables developers to integrate the next generation of LSEG screening capabilities into existing workflows and internal systems (such as CRMs) in order to help streamline the processes for on-boarding, KYC and third party due diligence. The API provides, among other features: - The ability to screen entity names, with or without secondary fields such as date of birth for individuals. These names are called “cases” within the World-Check One system. - The ability to retrieve results of the screening process from the World-Check database - The ability to flag cases for Ongoing Screening, and retrieve the World-Check results from the Ongoing Screening process. - The ability to submit request for reports. - The ability to fetch the status of the report requests and download the completed reports. > © 2018 - 2023 LSEG. All rights reserved. Republication or redistribution of LSEG content, including by framing or similar means, is prohibited without the prior written consent of LSEG. ''LSEG'' and the LSEG logo are registered trademarks and trademarks of LSEG and its affiliated companies. ' version: 2.61.0 termsOfService: https://www.lseg.com/en/risk-intelligence/screening-solutions/world-check-kyc-screening/one-kyc-verification contact: name: LSEG World-Check One API Q&A url: https://community.developers.refinitiv.com/index.html email: c3r.api1@lseg.com license: name: Commercial url: https://www.lseg.com/en/risk-intelligence/screening-solutions/world-check-kyc-screening/one-kyc-verification host: api-worldcheck.refinitiv.com basePath: /v2 schemes: - https consumes: - application/json produces: - application/json - application/octet-stream tags: - name: Reporting description: Operations for the report domain. paths: /reports: post: operationId: submitRequestForAsyncReport tags: - Reporting summary: London Stock Exchange Group Submit request for async report based on the given filter conditions and return the 'reportId'. description: Submit request for async report based on the given filter conditions and return the 'reportId'. parameters: - name: Authorization description: The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details). in: header type: string required: true - name: Date description: The date and time at which the message was originated in 'RFC 1123' format. in: header type: string required: true - name: Content-Type description: The media type of the request (e.g., 'application/json'). in: header type: string required: true - name: Content-Length description: The length of the request body in octets (8-bit bytes). in: header type: integer required: true - name: asyncReportRequest description: The payload for async report request. in: body schema: $ref: '#/definitions/AsyncReportRequest' responses: 200: description: The response to async report request returns the request details and report ID. schema: $ref: '#/definitions/AsyncReportResponse' 400: $ref: '#/responses/BadRequest' 401: $ref: '#/responses/Unauthorized' 404: $ref: '#/responses/CannotReturnResponse' 409: $ref: '#/responses/Conflict' 415: $ref: '#/responses/UnsupportedMediaType' 429: $ref: '#/responses/TooManyRequests' 500: $ref: '#/responses/UnexpectedError' /reports/{reportId}/status: get: operationId: getSingleReportStatusByReportId tags: - Reporting summary: London Stock Exchange Group Get the report status for the given report ID. description: Get the report status for the given report ID. parameters: - name: Authorization description: The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details). in: header type: string required: true - name: Date description: The date and time at which the message was originated in 'RFC 1123' format. in: header type: string required: true - name: reportId description: Report ID for which the status needs to be fetched. in: path type: string required: true responses: 200: description: The report status for single report with the report ID. schema: $ref: '#/definitions/ReportStatus' 400: $ref: '#/responses/BadRequest' 401: $ref: '#/responses/Unauthorized' 404: $ref: '#/responses/CannotReturnResponse' 415: $ref: '#/responses/UnsupportedMediaType' 429: $ref: '#/responses/TooManyRequests' 500: $ref: '#/responses/UnexpectedError' /reports/{reportId}: get: operationId: getReportDataByReportId tags: - Reporting summary: London Stock Exchange Group Download the report for given report ID. description: Download the report for given report ID. parameters: - name: Authorization description: The authorization credentials including 'keyId', 'algorithm', 'headers', 'signature' (see 'Security and Authentication details' documentation section for more details). in: header type: string required: true - name: Date description: The date and time at which the message was originated in 'RFC 1123' format. in: header type: string required: true - name: reportId description: Report ID for which the report needs to be fetched. in: path type: string required: true produces: - application/octet-stream - application/json responses: 200: description: The report data for single report with the report ID. schema: type: string format: binary 400: $ref: '#/responses/BadRequest' 401: $ref: '#/responses/Unauthorized' 404: $ref: '#/responses/CannotReturnResponse' 415: $ref: '#/responses/UnsupportedMediaType' 429: $ref: '#/responses/TooManyRequests' 500: $ref: '#/responses/UnexpectedError' definitions: AsyncReportRequest: type: object description: "A model contains 'query', 'filter', 'reportFilter', 'customAttributes' expression, which is written in a superset of the Atom Feed Item Query Language (FIQL).\n\nThe FIQL is documented in ,\nand the superset supported by the WC1 API documented in .\n\nRSQL/FIQL parser contains some reserved characters:\n\n`'\"' | \"'\" | \"(\" | \")\" | \";\" | \",\" | \"=\" | \"!\" | \"~\" | \"<\" | \">\"`\n\nIf there are reserved characters or white spaces in the query expression, they must be escaped by enclosing\nthem in single or double quotes. If you need to use both single and double quotes inside an argument, then\nyou must escape one of them using `\\` (backslash). If you want to use `\\` literally, then double it as `\\\\`.\nBackslash has a special meaning only inside a quoted argument, not in unquoted argument. Using reserved\ncharacters or white spaces without escaping can lead to parsing and execution errors.\n\nArgument can be a single value, or multiple values in parenthesis separated by comma. Value that does not\ncontain any reserved character or a white space can be unquoted, other arguments must be enclosed in single\nor double quotes.\n\n**Example:**\n * \"query\": \"example1=='TE\\\\\\\\'ST', example2==TEST\"\n" required: - query - filter - sort - reportFilter - reportType properties: query: type: string description: "The query string used for fetching the source data for the report.\n\nThe query supports next field to specify searching criteria:\n- 'caseId' - Case ID provided by the client;\n\nThe query examples:\n * \"query\": \"example=='TE!ST'\"\n * \"query\": \"example==\\\\\"TE'ST\\\\\"\"\n * \"query\": \"example=='TE\\\\\\\\'ST'\"\n * \"query\": \"example==\\\"TEST DATA\\\"\"\n" filter: type: string description: "The filters to be applied on the dataset returned by using the query. \n\nThe filter supports next field to specify searching criteria:\n- 'caseSystemId': Case System ID generated by the system for the client;\n\nThe filter examples:\n * \"filter\": \"example=='TE!ST'\"\n * \"filter\": \"example==\\\\\"TE'ST\\\\\"\"\n * \"filter\": \"example=='TE\\\\\\\\'ST'\"\n * \"filter\": \"example==\\\"TEST DATA\\\"\"\n" reportType: description: The report type specifies the type of the report, like case dossier, case summary etc. $ref: '#/definitions/ReportType' reportName: type: string description: Name for the report. If not provided, system will generate the name for the report based on the type of report. reportFilter: type: string description: "The filters to be applied on the record level dataset.\n\nThe reportFilter supports next field to specify searching criteria:\n* 'providerType': Array of provider types used in record level filtration and does not have default providerType value.\n* 'includeUnresolvedMatches': represents the boolean value for the record level filtration and default value is false.\n* 'includePositiveMatches': represents the boolean value for the record level filtration and default value is false.\n* 'includePossibleMatches': represents the boolean value for the record level filtration and default value is false.\n* 'includeFalseMatches': represents the boolean value for the record level filtration and default value is false.\n* 'includeUnspecifiedMatches': represents the boolean value for the record level filtration and default value is false.\n* 'includeAudit': represents the boolean value for the record level filtration and default value is true.\n* 'includePassportCheck': represents the boolean value for the record level filtration and default value is false.\n* 'includeMediaCheckFullArticles': represents the boolean value for the record level filtration and default value is false.\n* 'includeMediaCheckHeadlines': represents the boolean value for the record level filtration and default value is false.\n\n**Note:** The record filters – 'includeUnresolvedMatches', 'includePositiveMatches', 'includePossibleMatches', 'includeFalseMatches' &\n 'includeUnspecifiedMatches', allow for the export of the full matched records in addition to the Case Dossier Report.\n This selection does not affect the summary of all matched records included in the Case Dossier Report. \n The other filters 'includeMediacheckHeadlines', 'includeMediacheckArticles', 'includePassportCheck' & 'includeAudit' are applicable\n for the inclusion or exclusion of these sections in the Case Dossier report.\n\nThe report Level Filter examples:\n\nexample 1: To generate a case dossier PDF report for the matched World-Check records with multiple record filters along with the\n additional filter sections namingly 'includePassportCheck', 'includeMediaCheckFullArticles' or 'includeMediaCheckHeadlines',\n 'includeAudit'.\n\n``` \n {\n \"reportFilter\": \n \"(includeUnresolvedMatches==true; \n includePositiveMatches==true; \n includePossibleMatches==true; \n includeFalseMatches==true; \n includeUnspecifiedMatches==true; \n providerType==WATCHLIST),\n (includePassportCheck==true),\n (includeMediaCheckFullArticles==true),\n (includeMediaCheckHeadlines==true),\n (includeAudit==true)\"\n } \n```\nexample 2: To generate a case dossier PDF report for the matched World-Check or Client-Watchlist records\n with multiple record filters along with the additional filter sections namingly 'includePassportCheck',\n 'includeMediaCheckFullArticles' or 'includeMediaCheckHeadlines'.\n\n```\n {\n \"reportFilter\": \n \"(includeUnresolvedMatches==true; \n includePositiveMatches==true; \n includePossibleMatches==true; \n providerType==WATCHLIST),\n (includeFalseMatches==true; \n includeUnspecifiedMatches==true; \n providerType==CLIENT_WATCHLIST),\n (includePassportCheck==true),\n (includeMediaCheckFullArticles==true),\n (includeMediaCheckHeadlines==true)\";\n } \n```\nexample 3: To generate a case dossier PDF report which includes only filter sections like 'includePassportCheck',\n 'includeAudit', 'includeMediaCheckFullArticles' or 'includeMediaCheckHeadlines' without the matched \n World-Check or Client-Watchlist records.\n\n``` \n {\n \"reportFilter\": \n \"includePassportCheck==true,\n includeAudit==true,\n includeMediaCheckFullArticles==true,\n includeMediaCheckHeadlines==true\";\n } \n```\n" customAttributes: type: string description: "Custom attributes for the reports (specific to the type of the report). E.g. notes for case dossier report.\n\nThe Custom attributes examples: \n * \"customAttributes\": \"note==data\".\n * \"customAttributes\": \"note=='note is custom attribute'\".\n * \"customAttributes\": \"note==\\\"note is custom attribute\\\"\".\n" sort: type: array description: The sort criteria applied to the response. items: $ref: '#/definitions/SortCriterion' example: query: caseId==SomeCustomCaseId filter: caseSystemId==SomeCaseSystemId reportType: CASE_DOSSIER reportName: Report Name reportFilter: includeUnresolvedMatches==false;providerType==WATCHLIST customAttributes: note==data sort: - columnName: caseId order: ASCENDING Error: type: object required: - error - cause properties: error: type: string cause: type: string objectId: type: string ReportType: type: string description: The type of report. enum: - CASE_DOSSIER ReportStatus: type: object required: - reportId - reportName - progressStatus - reportType properties: reportId: type: string description: Report ID for which the data needs to be fetched. reportName: type: string description: Name for the report. If not provided, system will generate the name for the report based on the type of report. progressStatus: description: Represents the status of the report for the specified 'reportId'. $ref: '#/definitions/ReportProgressStatus' reportType: description: The report type specifies the type of the report, like case dossier, case summary etc. $ref: '#/definitions/ReportType' startDate: type: string description: Represents the start date of the report. format: date-time completionDate: type: string description: Represents the completion date of the report. format: date-time deletionDate: type: string description: Represents the deletion date of the report. format: date-time summary: description: Summary of the report. $ref: '#/definitions/ReportSummary' example: reportId: Report ID reportName: Report Name progressStatus: COMPLETED reportType: CASE_DOSSIER startDate: 2019-08-28 10:05:15+00:00 completionDate: null deletionDate: null summary: processedCount: 13.0 progressPercentage: 50.0 SortCriterion: type: object description: Sort specification properties: columnName: type: string description: The field to sort on order: type: string description: The sort order enum: - ASCENDING - DESCENDING ReportSummary: type: object required: - processedCount - progressPercentage properties: processedCount: type: integer description: Represents number of records processed. format: int32 progressPercentage: type: integer description: Represents progress percentage of records processed. format: int32 ReportProgressStatus: type: string description: 'The real-time progress status of report during download. - COMPLETED - Report is successfully generated. - IN_PROGRESS - Report generation is in progress. - FAILED - Report failed to generate. Contact helpdesk for more details. - WAITING - Report is waiting in queue and yet to be processed. - UNKNOWN - Report status is unknown. Contact helpdesk for more details. - CANCELLED - Report request has been cancelled. ' enum: - COMPLETED - IN_PROGRESS - FAILED - WAITING - UNKNOWN - CANCELLED AsyncReportResponse: type: object description: Represents the Async Report Response which contains report ID. allOf: - $ref: '#/definitions/AsyncReportRequest' - type: object required: - reportId properties: reportId: type: string description: The response containing 'reportId', which is retrieved by processing case dossier report request. example: query: caseId==SomeCustomCaseId filter: caseSystemId==SomeCaseSystemId reportType: CASE_DOSSIER reportName: Report Name reportFilter: includeUnresolvedMatches==false;providerType==WATCHLIST customAttributes: note==data sort: - columnName: caseId order: ASCENDING reportId: Report ID responses: BadRequest: description: Bad request schema: type: array items: $ref: '#/definitions/Error' UnsupportedMediaType: description: For requests with payloads, an unsupported Content-Type was specified. The World-Check One API only supports a content type of application/json. CannotReturnResponse: description: Cannot return response schema: type: array items: $ref: '#/definitions/Error' TooManyRequests: description: The API client is making too many concurrent requests, and some are being throttled. Throttled requests can be retried (with an updated request Date and HTTP signature) after a short delay. UnexpectedError: description: Unexpected error schema: type: array items: $ref: '#/definitions/Error' Conflict: description: Conflict error. schema: type: array items: $ref: '#/definitions/Error' Unauthorized: description: The request has failed an authorisation check. This can happen for a variety of reasons, such as an invalid or expired API key, an invalid HMAC signature or a request timing issue/problem with the Date header value. The API client should ensure a correctly synchronised clock is used to generate request timestamps. externalDocs: description: Refer to the LSEG Developer Portal for additional documentation on the World-Check One API. url: https://developers.lseg.com/en/api-catalog/customer-and-third-party-screening/world-check-one-api x-tagGroups: - name: Upcoming Features and Changes tags: - upcoming - name: Zero Footprint Screening tags: - zfs - name: Case Management and Audit tags: - api-info - reference - group - case - audit - media-check - client-watchlist - user - passport-check - linked-cases - case-rating - smart-filter - reporting