Skip to main content

Making API Requests

Environments

The different environments have their own base URLs:

EnvironmentBase URLDescription
Productionhttps://api.risk.lseg.com/data/world-check/{version}*Returns real data
Sandboxhttps://api.risk.lseg.com/data/world-check/sandbox/{version}*Returns synthetic data

Each of these environments require their own set of entitlements.

API Requests

Parameters that can be set when making an API request:

ParameterTypeAPINotes
limitqueryRecords, ReferencesSets the maximum number of records in an API response page
cursorqueryRecords, ReferencesIdentifies the page to be retrieved in a multi-page response
queryHashheaderRecords, ReferencesRequired when sending a request using a cursor
newSincequeryReferencesIndicate that the request is for getting Reference records published for the first time
changedSincequeryReferencesIndicate that the request is for getting updated Reference records
modequeryRecordsSets the API mode to either records (default) or count

Please go through the provided Postman collection to see a comprehensive ready-to-run examples of World-Check On Demand API requests.

Sample API request for retrieving all World-Check records (no filters in the payload), showing the limit as query parameter.
curl --location 'https://api.refinitiv.com/risk-intel/v1/records?limit=1000' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '{}'

For the Records API, the request payloads are queries containing a filter or combination of filters. Please see the section on Filters & Parameters for details.

The References API has its own set of Filters & Parameters as well.

Logging

To facilitate troubleshooting when raising a case with LSEG, please log the following information when making API requests:

  • full URL, including the query parameters sent
  • request header details with redacted bearer token
  • request payload (when available)
  • response message or snippet of the data where the issue is
  • meta object details in the response (when available)

Please raise all concerns via the LSEG MyAccount Portal.

Errors

If there are entitlement errors, you will get a message similar to this:

Error message when the token do not have any entitlement.
{
"error": {
"code": "403",
"id": "d987654321-3f56-4556-967d-123abc987",
"message": "Access denied",
"status": "Forbidden",
"errors": [
{
"key": "entitlement",
"reason": "access denied. No entitlement found in the token."
}
]
}
}

It is also possible to have missing entitlements in the token:

Error message when the token are missing the correct entitlements.
{
"error": {
"id": "8323f4e9-3adf-4c27-8575-a1d6c7431bf9",
"code": "insufficient_scope",
"message": "access denied. Scopes required to access the resource: [trapi.risk-intel.wcod.records.read]. Missing scopes: [trapi.risk-intel.wcod.records.read]",
"status": "Forbidden"
}
}

These errors could be due to the following:

  • incorrect scope in the token request
  • no license or incorrect license assigned to the service account