0% found this document useful (0 votes)
2 views103 pages

Tick History REST API Guide

The Tick History REST API User Guide provides comprehensive information on using the Tick History API, including its structure, workflows, and authentication processes. It is designed for software engineers familiar with APIs and outlines key functionalities, reporting workflows, and best practices. The document also includes resources for learning and development, as well as support options for users.

Uploaded by

vyasprateek8
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views103 pages

Tick History REST API Guide

The Tick History REST API User Guide provides comprehensive information on using the Tick History API, including its structure, workflows, and authentication processes. It is designed for software engineers familiar with APIs and outlines key functionalities, reporting workflows, and best practices. The document also includes resources for learning and development, as well as support options for users.

Uploaded by

vyasprateek8
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Tick History

REST API User Guide


Document version 1.0
December 2023
About This Document

Contents
About This Document ........................................................................................................................... 5
Feedback ............................................................................................................................................................. 5
Support ................................................................................................................................................................ 5
1 Learning Resources & Development Tools ..................................................................................... 6
Learning Resources ............................................................................................................................................. 6
Tools .................................................................................................................................................................... 6
2 Product Interfaces ............................................................................................................................ 10
Application Programming Interface (API) ........................................................................................................... 10
Product Website................................................................................................................................................. 10
3 Using the REST API .......................................................................................................................... 11
URI Structure ..................................................................................................................................................... 11
Client Firewall Access ........................................................................................................................................ 11
Verbs ................................................................................................................................................................. 11
Message Structure ............................................................................................................................................. 12
Headers ............................................................................................................................................................. 13
Conditions .......................................................................................................................................................... 14
REST API Reference Tree ................................................................................................................................. 14
Asynchronous Services and Clients ................................................................................................................... 15
Polling Request Status ....................................................................................................................................... 15
Request File Download ...................................................................................................................................... 16
Requirements..................................................................................................................................................... 18
Best Practices & Fair Usage Policy .................................................................................................................... 18
4 Authentication .................................................................................................................................. 19
Verifying Your Credentials ................................................................................................................................. 19
Verifying Your Permissions ................................................................................................................................ 20
Creating an Authentication Token ...................................................................................................................... 21
Applying an Authentication Token...................................................................................................................... 21
5 Search Functions ............................................................................................................................. 23
Historical Instruments ........................................................................................................................................ 23
Historical Chains ................................................................................................................................................ 24
Other Historical Searches .................................................................................................................................. 26
Speed Guide Pages ........................................................................................................................................... 26
6 Tick History Workflows .................................................................................................................... 30
On-Demand Workflow ........................................................................................................................................ 30
Stored & Scheduled Workflow ........................................................................................................................... 31

2
About This Document

Venue by Day Workflow ..................................................................................................................................... 32


Workflow Comparison ........................................................................................................................................ 32
7 On-Demand Workflow ...................................................................................................................... 33
Request.............................................................................................................................................................. 33
Response ........................................................................................................................................................... 33
8 Tick History Reports ........................................................................................................................ 35
Time & Sales...................................................................................................................................................... 36
Market Depth ..................................................................................................................................................... 38
Intraday Summaries ........................................................................................................................................... 40
Raw Report ........................................................................................................................................................ 42
Elektron Timeseries ........................................................................................................................................... 44
Standard Events ................................................................................................................................................ 47
Terms and Conditions ........................................................................................................................................ 50
Historical Reference ........................................................................................................................................... 52
9 Stored & Scheduled Workflow ........................................................................................................ 55
Step 1 – Instrument List – Create a New List ..................................................................................................... 55
Step 2 – Instrument List - Add instrument(s) ...................................................................................................... 55
Step 3 - Report Template – Create Report Profile ............................................................................................. 56
Step 4 – Submit Report Request ....................................................................................................................... 58
Step 5 – Request Report Status ........................................................................................................................ 59
Step 6 – List Report Files ................................................................................................................................... 59
Step 7 - Download Report Files ......................................................................................................................... 60
10 Administration ................................................................................................................................ 61
Instrument Lists.................................................................................................................................................. 61
Report Templates .............................................................................................................................................. 68
Create a Custom Report .................................................................................................................................... 72
Schedules .......................................................................................................................................................... 74
Report Retrieval ................................................................................................................................................. 78
11 Venue by Day Workflow ................................................................................................................. 87
Content Access .................................................................................................................................................. 88
Content Hierarchy .............................................................................................................................................. 88
View the Available Venue Files .......................................................................................................................... 89
Look Up the Available Venue Files within a Date Range. .................................................................................. 92
Download Your Venue Files............................................................................................................................... 95
Validating Downloads ........................................................................................................................................ 97
12 Reference Information ................................................................................................................... 98
Identifier Types .................................................................................................................................................. 98
ContentField Properties ..................................................................................................................................... 98
HTTP Response Codes ..................................................................................................................................... 98

3
About This Document

Product Attributes .............................................................................................................................................. 99


Checking Request Status................................................................................................................................. 101
Headers for File Download............................................................................................................................... 102
Headers for Minimizing Response Information ................................................................................................ 102
Errors ............................................................................................................................................................... 102

4
About This Document

About This Document


This user guide provides details on the Tick History REST Application Programming Interface (API), working
environment, and supporting resources.

This document:

– Describes the REST API and how it applies to Tick History.


– Illustrates the three types of reporting workflows.
– Explains how requests are submitted and responses are processed.
– Outlines the API’s key endpoints (functions).
– Lists learning and development resources for the REST API.

For general information about Tick History concepts and entities, please see the Tick History User Guide, which
both describe Tick History within the context of its graphical user interface (GUI). This document is intended for
software engineers who are familiar with the general principles of APIs. It assumes they are also familiar with their
intended programming language.

Feedback
We invite your comments, corrections, and suggestions about this document: access the Feedback option under
Help & Support at MyAccount. Your feedback helps us continue to improve our user assistance.

Support
MyAccount is the LSEG portal that provides a single access point for timesaving support services, along with
billing, user management, and information.

For support using Tick History, please raise a query by accessing Help & Support at MyAccount. You are
encouraged to subscribe to the following support channels to keep informed of changes to products and data, and
to be notified of any service issues or changes:

Change Notifications
– Product change notifications detail new, enhanced, or changed functionality, which may require your action,
in products that you use.
– Content change notifications alert you to upcoming changes to real-time and historical data across all asset
classes that are relevant to you.
– RIC change notifications inform you of planned changes to RICs. This is the market level identifier key
unique to LSEG used to identify securities.

Service Alerts
You can subscribe to alerts about planned maintenance and unplanned service issues affecting your products
and services and be notified via SMS or email.
1 Learning Resources & Development Tools

1 Learning Resources &


Development Tools
Tick History is hosted on the DataScope Select platform and makes its content available through a REST API and
a GUI.

Learning Resources
In addition to the resources listed below, which focus on concerns specific to using Tick History’s REST API, you
can learn about general Tick History concepts and entities in the Tick History User Guide, which describes Tick
History within the context of its graphical user interface (GUI). It is necessary that you understand these concepts
to fully employ the functionality that the REST API makes available.

Developer Community
LSEG Developer Community provides information about LSEG APIs. Its Tick History REST API portal offers a
Quick Start section, code samples, tutorials, and other documentation.

The portal requires free registration to access documentation and sample code.

REST API Reference and Help Topics


The REST API Help site hosts a wealth of information about using the REST API, including:

– Important coding techniques for the Tick History and DataScope Select REST API, described via the Key
Mechanisms option of the SDK menu.
– Additional help topics accessed via the SDK menu.
– The REST API Reference tree, which documents the API’s endpoints and properties, and includes working C#
and HTTP code examples.

This site requires your DSS API login for access.

REST API Example Application


The REST API Example application is available for download on the REST API Help site. It provides C# and
HTTP sample code. This site requires your DSS API login for access.

– The Example application will run in Visual Studio 2012+ as a Project or as standalone application (executable
under \bin\debug\[Link] or \bin\release depending on the version).
– When a function is selected, the main pane will display the selected API task with the steps involved.
– The view of the API messages can be toggled between C# Full, C# Snippet, and HTTP.
– The HTTP Request is the actual message sent to the API, with response displayed below it.
– You may model your application to simulate all the functions in this application to help understand how to best
use the REST API for Tick History.

Tools
The RESTAPI comes with an SDK for the .NET framework. You can use the SDK with any programming
language that targets .NET. The Example application illustrates the use of the SDK with the C# programming
language. There are also third-party API development and testing tools that you might find helpful, such as:

– Postman, which provides a GUI platform for building, testing, documenting, and sharing your REST API
requests.

6
1 Learning Resources & Development Tools

– Fiddler, which can help you debug your REST API applications by capturing network traffic between your client
and the Internet.

This is not an endorsement of these products, and there are others; these are just examples to help get you
started.

Postman
Postman is available as an app on Windows, Mac, Linux, and Chrome. It allows users to create and send HTTP
requests using the request builder, write test cases to validate response data, response times and more.

After installing Postman, launch the application from the start menu. The interface is clean and simple. The initial
setup focuses on Authorization and Header definition and is only done once.

Authorization
1. A quick way to setup authentication is to click the Authorization tab, then select the Type: “Basic Auth”

2. Populate your user credentials in the Username and Password fields.

7
1 Learning Resources & Development Tools

Header Parameters
1. Click the Headers tab.

2. Add 3 header parameters

These ensure that the connection type and content format coincide with how we will interact with the REST API.
The value for Authorization will dynamically populate so you only have to add the key.

If you leave out the Content-Type is omitted the following error is returned:

Response
HTTP/1.1 415 Unsupported Media Type
{
"error": {
"message":"The request entity's media type 'text/plain' is not supported for this resource."
}
}

Submitting a Request
Let us conduct a historical instrument look up, the first request in this user guide, as an example. Refer to the
Request URL field and enter the URI and the endpoint
([Link]

1. This example requires an API verb change so click the pull down menu and select “POST”.

[Link]

2. Click the Body tab to switch to the Body screen.

8
1 Learning Resources & Development Tools

3. Enter the parameters of the request in the open form field below. Remember to select the raw radio button
above. Click Send when ready.

[Link]

4. You are now able to conduct all the API functions by conducting steps outlined in this section.

[Link]

9
2 Product Interfaces

2 Product Interfaces
Users are provided user IDs to access Tick History on the DataScope Select platform through the following web
resources:

– Application programming interface (API) ([Link]


– Graphical user interface (GUI) ([Link]

Tick History Intraday Summaries, Market Depth, Time and Sales, and Raw reports are available under Custom
Solutions on the GUI. Venue by Day content is available under Standard Solutions. Tick History’s GUI website
and API provide identical functionality and content access.

Application Programming Interface (API)


The URI ([Link] may be viewed in any web browser as it operates
over HTTPS protocol.

Product Website
Users must visit the Tick History website, via the DataScope Select Home page, to set their preferences. Refer to
the Tick History User Guide for further details about the GUI version of the product. Preferences are available in
the dropdown accessible by clicking on your username on the navigation bar.

10
3 Using the REST API

3 Using the REST API


REST, which stands for Representational State Transfer, is an architectural style based on a stateless, client-
server, cacheable communications protocol, usually HTTP/HTTPS.

To the extent that systems conform to the constraints of REST they can be called RESTful. RESTful systems
typically, but not always, communicate over Hypertext Transfer Protocol (HTTP) with the same HTTP verbs (GET,
POST, PUT, DELETE, etc.) that web browsers use to send/retrieve data to and from remote web servers.

The Tick History REST API is based on the Open Data Protocol (OData) which is an application level protocol for
interacting with data via RESTful interfaces. The protocol supports the description of data models and the editing
and querying of data according to those models.

RESTful systems interface with external systems as web resources identified by Uniform Resource Identifiers
(URIs), for example /fruit/apple, which can be operated upon using standard verbs such as GET /fruit/apple.

This document assumes readers understand these concepts. More information on the terms can be found on the
following Wikipedia links:

– REST ([Link]
– JSON ([Link]
– HTTP Methods ([Link]
– HTTPS ([Link]
– URI ([Link]
– OData Protocol ([Link]
[Link])

URI Structure
The Tick History API web service is accessed through the Uniform Resource Identifier (URI):

[Link]

The Version 1 in the URI refers to the API definition version in DataScope Select and not of the Oasis OData
version, which is currently 4.0.

The service on this URI is available 24 hours a day, seven days a week except for maintenance periods
published ahead of schedule. Service alerts and product change notifications are available for subscription
through MyAccount.

Client Firewall Access


Client firewalls must allow connectivity to [Link] on port 443.

Verbs
These indicate the desired action to be performed on a resource. The resource may be pre-existing data or data
that is generated dynamically and depends on the server implementation.

Servers can be configured to support any combination of methods. The most Common are GET, POST, PUT and
DELETE. For the purposes of Tick History, these are the 4 verbs used with the REST API.

11
3 Using the REST API

The concept of idempotence is important to understand, as a verb that is idempotent will produce the same result
no matter how many times you do it. A simple analogy of this is multiplying something by 1 where the results will
always be the same no matter how many times a number is multiplied by it.

Idempotent Semi-Idempotent Non-Idempotent

GET PUT DELETE POST

GET behaves like a read-only function which means the results from the first and subsequent requests are
identical.

PUT and DELETE are semi-idempotent as the result of the initial request differs from all the subsequent requests.
The initial PUT request creates an object while subsequent PUT requests overwrite the same newly created
object. The initial DELETE request purges an object. Subsequent DELETE requests are no longer effective as
the purged object no longer exists.

POST is viewed as the only non-idempotent method as it creates new objects with subsequent requests creating
even more, so exercise caution in this situation while testing and learning the API.

Message Structure
Tick History relies on JavaScript Object Notation (JSON), a lightweight data interchange format based on a
subset of the JavaScript programming language standard, for exchanging structured information in the
implementation of web services, and relies on other application layer protocols, most notably HTTPS for message
negotiation and transmission.

JSON is a text format that is language independent, but uses conventions that are familiar to programmers of the
C-family of languages (C, C++, JavaScript, and so on).

Collections of data represent a set of entries. Collections are represented as an array of objects with one object
for each entry within the collection. When representing collection level metadata, the array of objects representing
a set of entries is included as the value of a “results” name/value pair.

OData V1: {
"d" : [
{ ... },
{ ... },
{ ... },
]
}
OData V2: {
"d" : {
"results": [
{ ... },
{ ... },
{ ... }
]
}
}

12
3 Using the REST API

OData v2 supports two or more pieces of collection-level metadata: an entry count (number of entities for a
collection) and “next links” when a partial listing of a collection is represented. This capability is particularly useful
for pagination when requesting large data collections that cannot be retrieved all at once.

OData V2: {
"d" : {
"results": [ {
"__metadata": {
"uri": "[Link]
"type": "[Link]" }, "ID": 0, "Name": "Food",
"Products": {
"__deferred": {
"uri": "[Link]
}
}
},
{ /* another Category Entry */ },
{ /* another Category Entry */ },
{ /* another Category Entry */ }
],
"__count": "3",
"__next": "[Link]
}
}

Headers
Headers are a component of HTTP messages and define the operating parameters of the transaction. All header
fields are name-value pairs separated by a colon and terminated by a new line. Long lines can be folded into
multiple lines; continuation lines start with either a blank space or tab character. The end of the header fields is
indicated by an empty line, followed by the body of the message.

They should not contain actual data and should be used for things that do not involve the name of the resource
(included in the URL), state of the resource (included in the body) or parameters directly affecting the resource
(included in the URL).

Tick History supports a variety of headers that covers everything delivered on the REST API. Here is list of
common headers.
Header Field Name Description Example
Accept Content-Types that are acceptable for the Accept: application/json;
response [Link]=minimal
Accept-Charset Character sets that are acceptable Accept-Charset: utf-8
Accept-Encoding List of acceptable encodings Accept-Encoding: gzip, deflate
Accept-Language List of acceptable human languages for Accept-Language: en-CA
response
Content-Length The length of the request body in octets (8-bit Content-Length: 348
bytes)
Content-MD5 A Base64-encoded binary MD5 checksum of Content-MD5:
the content of the request body, for Venue by Q2hlY2sgSW50ZWdyaXR5IQ==
Day requests. For more information, see
Validating Downloads.
Content-Type The MIME type of the body of the request (used Content-Type: application/x-www-form-
with POST and PUT requests) urlencoded
Authorization Authentication credentials for HTTP Token <your_auth_token_goes_here>
authentication
The REST API supports [Link]= ‘none’ or ‘minimal’. ‘full’ is not currently supported. Minimal and none
help to diminish the number of tags in the JSON code, which makes parsing a far simpler task to do while
minimizing the payload size and bandwidth used.

13
3 Using the REST API

Conditions
Conditions are settings in the report request that influence or determine the manner of outcome on the report
data. Each report template uniquely applies conditions based on the content type.

REST API Reference Tree


You are encouraged to visit the REST API Reference tree at the REST API Help as a primary source of reference
for all restful functions and supported conditions.

Each API function (also known as an endpoint) is described in the API Reference tree. The Help menu also
provides access to sample code and to information about development techniques. The desktop API Example
Application should also be the first tool to reach for when embracing REST for Tick History

14
3 Using the REST API

Asynchronous Services and Clients


Tick History reporting requires time to process and is more suitable for an asynchronous mode of processing.
This means that a client connection may be released after the server responds with an HTTP status code
acknowledgement. While the use of server-side asynchronous processing will not improve the request processing
time perceived by the client, it will however increase the throughput of the server, by releasing the initial request
thread back and be ready to accept and process new incoming request connections.

It is important to note that the asynchronous response does not need to be resumed from the thread started from
the resource method. The asynchronous response can be resumed even from a different request processing
thread. To set this parameter, the HTTP Header (per RFC7240) is applied with a respond-async preference. This
allows clients to request that the service processes the request asynchronously.

Request
POST [Link]
Prefer: respond-async
{
"ExtractionRequest”: ...
}

Response
HTTP/1.1 202 Accepted
Status:InProgress
Progress: 1
Preference-Applied: respond-async
Location: [Link]
tractionId='0x05432da4dd2e2e3f')

This 202 Accepted response produced a Status of InProgress and returned the location of the report job
(highlighted above). You will issue a GET against this location to poll the report to determine when it has
completed.

Concurrent Requests
Each API request triggers a function to run and return an acknowledgement response. While some functions, like
reference requests, respond quickly, most create a job in a queue which subsequently runs at a time after the
function call has received its HTTP response acknowledgement.

To support consistent performance and optimize response times for the most users, Tick History applies
execution limits and queuing on a per-report template basis. You can submit a maximum of 50 concurrent
requests per report template. The number of concurrent extractions that can be processed on a per-report and
per-user basis is two for all report templates except Historical Reference and Elektron Timeseries report
templates. Concurrent extraction processing is not supported for Historical Reference and Elektron Timeseries
report templates.

Polling Request Status


Report requests that process asynchronously will return a 202 Accepted status code. This request will need to be
queried to poll the processing Status. The polling function is illustrated here:

Request
GET
[Link]
='0x05432da4dd2e2e3f’)
Authorization: Token <your_auth_token_goes_here>
Prefer: respond-async

15
3 Using the REST API

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"JobId": "0x05432da4dd2e2e3f",
"Notes": [
"Extraction Services Version 10.7.35662 (6a8afc92e222), Built Apr 30 2021
17:07:16\nUser ID: 9007660\nExtraction ID: 2000000000533706\nSchedule: 0x0570a0ea31ec3156 (ID
= 0x0000000000000000)\nInput List (1 items): (ID = 0x0570a0ea31ec3156) Created: 04/05/2021
13:58:59 Last Modified: 04/05/2021 13:58:59\nReport Template (10 fields):
_OnD_0x0570a0ea31ec3156 (ID = 0x0570a0ea39bc3156) Created: 04/05/2021 13:54:46 Last Modified:
04/05/2021 13:54:46\nSchedule dispatched via message queue (0x0570a0ea31ec3156), Data source
identifier (9D186D4A108140F29A916E05621B1704)\nSchedule Time: 04/05/2021 13:54:46\nProcessing
started at 04/05/2021 13:54:46\nProcessing completed successfully at 04/05/2021
13:58:59\nExtraction finished at 04/05/2021 17:58:59 UTC, with servers: tm04n01, TRTH (245.58
secs)\nHistorical Instrument <RIC,.AD.N> expanded to 1 RIC: .AD.N.\nManifest:
#RIC,Domain,Start,End,Status,Count\nManifest: .AD.N,Market Price,,,Inactive,0\n"
]
}

Once a 200 OK status code is returned, then it is time to retrieve the report by JobID '0x05432da4dd2e2e3f’.

Request File Download


The file download is initiated by using the RawExtractionResults operation with the JobID. This example shows
JobID '0x05432da4dd2e2e3f’ continued from the previous section.

You can download the file faster by retrieving it directly from Amazon Web Services, as shown below and as
described in Downloading Files Faster via Direct Download From Amazon Web Services.

Request
GET [Link]
5432da4dd2e2e3f’)/$value
Authorization: Token <your_auth_token_goes_here>
X-Direct-Download: true
Prefer: respond-async

Response
HTTP/1.1 200 OK
Accept-Ranges: bytes
#RIC,Domain,Date-Time,Type,MsgClass/FID number,UpdateType/Action,FID Name,FID Value,FID Enum
String,PE Code,Template Number,Key/Msg Sequence Number,Number of FIDs
[Link],Market Price,2021-04-25T23:35:53.323542895Z,Raw,UPDATE,UNSPECIFIED,,,,5438,,6320,2
,,,FID,3823,,VMA_5D,9942140,
,,,FID,3824,,VMA_30D,12602179,
[Link],Market Price,2021-04-25T23:35:53.363555423Z,Raw,UPDATE,UNSPECIFIED,,,,5438,,6336,2
,,,FID,3823,,VMA_5D,9942140,
,,,FID,3824,,VMA_30D,12602179,
[Link],Market Price,2021-07-26T00:10:03.549885078Z,Raw,UPDATE,CLOSING_RUN,,,,5438,,6366,83
,,,FID,21,,HST_CLOSE,268.65,
,,,FID,79,,HSTCLSDATE,2021-04-25,
,,,FID,1465,,ADJUST_CLS,268.65,
,,,FID,5,,TIMACT,,
,,,FID,6,,TRDPRC_1,,
,,,FID,7,,TRDPRC_2,,
,,,FID,8,,TRDPRC_3,,

Downloading Files Faster via Direct Download From Amazon Web Services
You can download output files faster by retrieving them directly from the Amazon Web Services (AWS) cloud in
which they are hosted. Simply include the HTTP header field X-Direct-Download: true in the request, and the
request will be automatically redirected to Amazon, ensuring that you receive the file in the shortest possible time.
You can directly download:

– Custom report output files. This is supported for Tick History Time and Sales, Tick History Market Depth,
Tick History Intraday Summaries, and Tick History Raw reports.

16
3 Using the REST API

– Venue by Day (VBD) files. This is supported for all Venue by Day files.

Note that this requires an Internet connection. API users who are on a private network but who are not also
connected to the Internet will not be able to download directly from Amazon. Note also that if you use a firewall
you may need to whitelist certain locations, as described in Accessing DataScope: Options & Requirements
available on MyAccount.

Example: Custom Report, HTTP


GET [Link]
5432da4dd2e2e3f’)/$value
Authorization: Token <your_auth_token_goes_here>
X-Direct-Download: true
Prefer: respond-async

Example: Custom Report, .NET SDK


var extractionResult = [Link](extractionRequest);
[Link]("x-direct-download", "true");
var streamResponse = [Link](extractionResult);

Example: Venue by Day, HTTP


GET [Link]
ries('0x0569a825b7cc3156')/$value
Authorization: Token <your_auth_token_goes_here>
X-Direct-Download: true
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Example: Venue by Day, .NET SDK


var context = new StandardExtractionsContext(new
Uri("[Link] "<your user id>", "<your
password>");
[Link]("x-direct-download", "true");
var stream = [Link]("<packageDeliveryId>");

If Directly Downloading from Amazon Generates an Error


When you download custom report and VBD files directly from Amazon Web Services, note that some HTTP
clients handle redirection to Amazon in a way that requires your intervention. When these clients redirect the
initial download request, they forward all the HTTP header fields from the original request as part of the new
(redirected) request, including the Authorization header field that contains the DataScope Select authentication
token. Amazon interprets this token as an Amazon token, causing the request to fail with the following error:

Only one auth mechanism allowed; only the X-Amz-Algorithm query parameter, Signature query string parameter
or the Authorization header should be specified

If your HTTP client forwards all header fields when it redirects, you need to either use a different HTTP client, or
else do the following:

1. Configure your HTTP client to not redirect a request when it receives a 302 status code.

2. When you receive the Tick History download response with the 302 status code, read the response’s
Location header field and send the original download request to that URL. Be sure to omit the
Authorization header field and the X-Direct-Download header field.

We recommend that you send the original download request to the new location as soon after receiving the
location as possible. The location URL expires six hours after having been issued.

17
3 Using the REST API

Requirements
To use the Tick History REST API, in your user preferences you must allow the following:

Importing historical instruments. You can set this:

– Via the GUI, by selecting your name in the DataScope Select menu bar > Preferences > General Preferences
> Instrument Lists section > Allow Import of Historical Instruments.
– Via the REST API, using the AllowHistoricalInstruments parameter of the /Users/UserPreferences endpoint.

Importing open-access instruments. You can set this:

– Via the GUI, by selecting your name in the DataScope Select menu bar > Preferences > General Preferences
> Instrument Lists section > Allow import of Open Access Instruments from Real-Time Feed.
– Via the REST API, using the ImportOfOpenAccessRicsAllowed parameter of the /Users/UserPreferences
endpoint.

Importing inactive instruments

This is required only when extracting Corporate Actions data for historical RICs. You can set this:

– Via the GUI, by selecting your name in the DataScope Select menu bar > Preferences > General Preferences
> Instrument Lists section > Allow Import of Inactive Instruments into Instrument Lists.
– Via the REST API, using the ImportOfExpiredInstrumentsAllowed parameter of the /Users/UserPreferences
endpoint.

Best Practices & Fair Usage Policy


Best practices are recognized techniques for using Tick History quickly and effectively while reducing
opportunities for error. One kind of best practice is to account for extraction limits and other kinds of processing
limits in your code. For information about Tick History best practices and limits, see the DataScope Select & Tick
History Best Practices and Fair Usage Policy, available on MyAccount and the LSEG Developer Community via
the Tick History Documentation page.

18
4 Authentication

4 Authentication
When you submit a Tick History request, you must authenticate that you are authorized to submit it by providing a
temporary authentication token. You create an authentication token with your user ID and password. The token
remains valid for 24 hours. If a token has expired, you simply create a new one. You can reuse a token as often
as you like within that 24-hour period. Token requests are limited to 20-30 requests per 300 seconds. Note that
these limits are subject to change. In a direct HTTP request, you specify a token in the request header.

If you use the .NET SDK, authentication is even easier: you supply your user ID and password when you create a
context, and the SDK automatically manages the creation of your authentication token, and automatically creates
a new one as necessary when the old one has expired.

If you do not use the SDK, manage the token yourself:

– Create an authentication token if you do not have one.


Save the token so that you can include it in your request headers.
– Create code to handle an HTTP 401 (Unauthorized) status code:

i. Create a new authentication token.


ii. Save the new token, overwriting the old one.
iii. Resubmit the request that generated the 401.

Verifying Your Credentials


Before attempting your first API request, it is recommended that you verify that your user ID and password work.
Use a web browser and visit the Tick History website ([Link]), and then log in with your
User ID.

A successful log in confirms that your user ID will work on the API as well.

19
4 Authentication

If your log in reports an error, you may either click the “Forgotten your password?” link below the sign in button or
visit MyAccount to raise a support case for assistance.

Note that all users are asked to change their passwords upon initial sign in. This ensures that the password is
defined by the user at this point in time. While this prompt will not be repeated thereafter, the password can be
changed on the Tick History website under the user preferences menu.

Verifying Your Permissions


After login, verify that your permissions enable you to access the Tick History report templates you plan to use.
Click the DATASCOPE SELECT menu button, and then click Report Templates or Create.

Scroll through the list of report templates to see if the Tick History reports are listed. Consider using the template
filter above the list and select “Permissioned” to shorten the report list.

20
4 Authentication

Category Report
Tick History Time and Sales
Market Depth
Intraday Summaries
Raw
Reference Data Terms and Conditions
Historical Reference
Corporate Actions Standard Events
Pricing Data Elektron Time Series

Creating an Authentication Token


The following example illustrates how to create an authentication token using the Authentication/RequestToken.
You provide your Tick History user ID and password in the appropriate fields.

Request
POST [Link]
Content-Type: application/json
Prefer: respond-async
{
"Credentials": {
"Username": "Your Username",
"Password": "Your Password"
}
}

Response
HTTP/1.1 200 OK
{
"@[Link]": "[Link]
ng",
"value": "iM3nRfyPWmrKF7RNjS7Hl2JGijKAt_lErD3LEhB6Ayn6CkMQ48aO8meIiij0L4SC1VNlZcRslGBntJT7
AOl34c1Xv4epjcw5E_OabHmYVtq-J3mz_X-BW2Y2zFsntwv31ngtLV6qVwGEs12fcXvSUZL9LSx5BUlD2RVsR4lU_47AdX
7eXLRsdmKl22_U1I0CuvLGJg-vAOkeX-Iw4FBokye5kSqcq9-aIQeryjkP35Dn1lafR7hLNUACPx2kjwojLgTvJDPsX4Wl
CkQuJrOx34e9mLZ4fY1rk8iY2qMQKYE="
}

Note that if an authentication token is used beyond 24 hours, the API will respond with an HTTP 401
(Authentication required) status code. This indicates that you need to request a new authentication token.

Applying an Authentication Token


This example shows how an authentication token is applied when performing a UserID 9005463 lookup.

Request
GET [Link]
Authorization: Token <”iM3nRfyPWmrKF7RNjS7Hl2JGijKAt_lErD3LEhB6Ayn6CkMQ48aO8meIiij0L4SC1VNlZcR
slGBntJT7AOl34c1Xv4epjcw5E_OabHmYVtq-J3mz_X-BW2Y2zFsntwv31ngtLV6qVwGEs12fcXvSUZL9LSx5BUlD2RVsR
4lU_47AdX7eXLRsdmKl22_U1I0CuvLGJg-vAOkeX-Iw4FBokye5kSqcq9-aIQeryjkP35Dn1lafR7hLNUACPx2kjwojLgT
vJDPsX4WlCkQuJrOx34e9mLZ4fY1rk8iY2qMQKYE=">
Prefer: respond-async

21
4 Authentication

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"UserId": 9005463,
"UserName": "John Smith",
"Email": "[Link]@[Link]",
"Phone": "12126877421"
}

Each API request example in this document includes the Authorization header field with a placeholder where your
authentication token should be. Remember that authentication tokens are applied with the Token prefix.

22
5 Search Functions

5 Search Functions
This chapter introduces the historical search functions available in the REST API. It also explains when and how
to retrieve Speed Guide pages.

Tick History users can also employ all the search functions available in the DataScope Select REST API. These
provide current data for active instruments (unlike Tick History’s historical search functions, which provide current
and historical data for active and inactive instruments). DataScope Select’s search functions include
EquitySearch, FuturesAndOptionsSearch, and PeLookup, which returns permissioning entity (PE) codes for one
or more RICs; these functions are described in the REST API Reference tree, which you can access at the REST
API Help.

Historical Instruments
Instrument identifiers are the key to content in Tick History. To determine the appropriate identifiers to use to
extract Tick History content, search for historical instruments to determine whether the identifiers of interest are
found on the platform. When using alternative identifier types such as ISIN, CUSIP and SEDOL, you can identify
the RIC equivalent or identify the source identifiers.

The following example demonstrates how to conduct a historical instrument search with ISIN US4592001014 for
a single day.

Request
POST [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async
{
"Request": {
"Identifier": "US4592001014",
"IdentifierType": "Isin",
"Range": {
"Start": "2008-01-01T00:00:00.000Z",
"End": "2008-01-01T00:00:00.000Z"
}
}
}

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
[Link])",
"value": [
{
"Identifier": "IBM",
"IdentifierType": "Ric",
"Source": "",
"Key": "VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxJQk18",
"Description": "Historical Instrument",
"InstrumentType": "Unknown",
"Status": "Valid",
"DomainCode": "6",
"FirstDate": "1996-01-02T00:00:00.000Z",
"LastDate": "2021-04-08T00:00:00.000Z",
"History": [
]
},
{
"Identifier": "IBM.C",
"IdentifierType": "Ric",

23
5 Search Functions

"Source": "",
"Key": "VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxJQk0uQ3w",
"Description": "Historical Instrument",
"InstrumentType": "Unknown",
"Status": "Valid",
"DomainCode": "6",
"FirstDate": "1996-01-02T00:00:00.000Z",
"LastDate": "2021-04-08T00:00:00.000Z",
"History": [
]
},
{
"Identifier": "[Link]",
"IdentifierType": "Ric",
"Source": "",
"Key": "VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxJQk0uREZ8",
"Description": "Historical Instrument",
"InstrumentType": "Unknown",
"Status": "Valid",
"DomainCode": "6",
"FirstDate": "2006-05-13T00:00:00.000Z",
"LastDate": "2021-04-08T00:00:00.000Z",
"History": [
]
},
{
"Identifier": "IBM.F",
"IdentifierType": "Ric",
"Source": "",
"Key": "VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxJQk0uRnw",
"Description": "Historical Instrument",
"InstrumentType": "Unknown",
"Status": "Valid",
"DomainCode": "6",
"FirstDate": "1996-01-01T00:00:00.000Z",
"LastDate": "2021-04-08T00:00:00.000Z",
"History": [
]
}
•••
]
}

This ISIN US4592001014 resolves to dozens of RICs.

Tick History Instrument Search is available via both the API and the website. The Tick History website refers to
this feature simply as Historical.

Historical Chains
A list of identifier constituents for ChainRics can be retrieved for a specific point in time. This example shows the
search for the ChainRic 0#HO: on the date of 2008-01-01T00:00:00.000Z. It is recommended that you use a
single date range and adjust as needed.

Request
POST [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async
{
"Request": {
"ChainRics": [
"0#HO:"
],
"Range": {
"Start": "2008-01-01T00:00:00.000Z",
"End": "2008-01-01T00:00:00.000Z"
}
}
}

24
5 Search Functions

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
[Link])",
"value": [
{
"Identifier": "0#HO:",
"IdentifierType": "ChainRIC",
"Source": "",
"Key":
"VjF8MHgxMDAwMDAwMDAwMDAwMDAwfDB4MTAwMDAwMDAwMDAwMDAwMHx8Q0hSfENIUnxDSFJ8SHx8MCNITzp8",
"Description": "Historical Chain",
"InstrumentType": "Unknown",
"Status": "Valid",
"Constituents": [
{
"Identifier": "HOF0",
"IdentifierType": "Ric",
"Source": "",
"Key":
"VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxIT0YwfA",
"Description": "Historical Instrument",
"InstrumentType": "Unknown",
"Status": "Valid",
"DomainCode": "6",
"Start": "2008-01-01T00:00:00.000Z",
"End": "2008-01-01T00:00:00.000Z"
},
{
"Identifier": "HOF8",
"IdentifierType": "Ric",
"Source": "",
"Key":
"VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxIT0Y4fA",
"Description": "Historical Instrument",
"InstrumentType": "Unknown",
"Status": "Valid",
"DomainCode": "6",
"Start": "2008-01-01T00:00:00.000Z",
"End": "2008-01-01T00:00:00.000Z"
},
{
"Identifier": "HOF9",
"IdentifierType": "Ric",
"Source": "",
"Key":
"VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxIT0Y5fA",
"Description": "Historical Instrument",
"InstrumentType": "Unknown",
"Status": "Valid",
"DomainCode": "6",
"Start": "2008-01-01T00:00:00.000Z",
"End": "2008-01-01T00:00:00.000Z"
},
{
"Identifier": "HOX9",
"IdentifierType": "Ric",
"Source": "",
"Key":
"VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxIT1g5fA",
"Description": "Historical Instrument",
"InstrumentType": "Unknown",
"Status": "Valid",
"DomainCode": "6",
"Start": "2008-01-01T00:00:00.000Z",
"End": "2008-01-01T00:00:00.000Z"
},
{
"Identifier": "HOZ0",
"IdentifierType": "Ric",
"Source": "",
"Key":
"VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxIT1owfA",
"Description": "Historical Instrument",
"InstrumentType": "Unknown",
"Status": "Valid",
"DomainCode": "6",
"Start": "2008-01-01T00:00:00.000Z",

25
5 Search Functions

"End": "2008-01-01T00:00:00.000Z"
},
{
"Identifier": "HOZ8",
"IdentifierType": "Ric",
"Source": "",
"Key":
"VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxIT1o4fA",
"Description": "Historical Instrument",
"InstrumentType": "Unknown",
"Status": "Valid",
"DomainCode": "6",
"Start": "2008-01-01T00:00:00.000Z",
"End": "2008-01-01T00:00:00.000Z"
},

{
"Identifier": "HOZ9",
"IdentifierType": "Ric",
"Source": "",
"Key":
"VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxIT1o5fA",
"Description": "Historical Instrument",
"InstrumentType": "Unknown",
"Status": "Valid",
"DomainCode": "6",
"Start": "2008-01-01T00:00:00.000Z",
"End": "2008-01-01T00:00:00.000Z"
}
]
}
]
}

Other Historical Searches


In addition to using HistoricalSearch and HistoricalChainResolution, you can perform searches using the following
search functions:

– HistoricalCriteriaSearch enables you to search for instruments using a variety of criteria, including country,
exchange, instrument type, and maturity date.
– ReferenceHistory returns reference history events within a date range for one or more RICs.

These search functions are described, with parameters and examples, in the API Reference Tree.

Speed Guide Pages


Speed Guides are a tool for navigating content, and for retrieving that content formatted as character-based
pages. Although these pages are usually viewed by analysts on a screen, you can also use the API to retrieve
these pages and access the data that is encoded on the page. This is an alternative method to retrieving data as
field/value pairs in a conventional report extraction.

The following table provides RICs of some standard Speed Guide pages:
Speed Guide Page Name Description
ALERT Access service alerts for an earlier period by specifying the period’s date range in
the report request. This can be helpful if you need to know what alerts, if any, were
in effect at an earlier point in time.
SPEED/GUIDE2, SPEED/GUIDE3 Speed Guide codes.

What Kinds of Content Should I Retrieve as a Speed Guide Page?


Some kinds of relatively static content, such as contract specifications, exchange trading hours, and past service
alerts, may be available only as Speed Guide pages, and you must retrieve them that way.

However, you can retrieve most other kinds of data, including most financial data, more effectively by having the
API retrieve their fields in a conventional field-based report extraction (using ExtractRaw or ExtractWithNotes), as

26
5 Search Functions

illustrated in the other chapters of this Tick History REST API User Guide and in the Tick History REST API Use
Cases Reference. Retrieving data in this conventional way is more direct, simpler to process, and less prone to
update complications, than is retrieving it as a Speed Guide page.

How to Retrieve a Speed Guide Page


To retrieve a Speed Guide page using the Tick History REST API, use the ExtractRaw endpoint against the Raw
report template, and specify the page’s RIC. In the request, set AllowHistoricalInstruments to true, and set the
date range to at least seven days. You can see this illustrated in Example: Speed Guide Retrieval Request &
Response.

The date range is important, because a page’s information is brought up to date in two kinds of ways:

– Refreshes, which present the current state of an entire page. It supplies a snapshot of the page at one point in
time. Most pages are refreshed at least once in seven days, although some pages are refreshed at a different
rate.
– Updates, which indicate changes to an individual page row, or to individual page characters. (Different pages
use different kinds of updates.) Updates to a page are usually issued more frequently than refreshes.
To understand how an update affects a page, you need to apply all a page’s updates, in sequence, to the
page’s previous refresh.

A page retrieval often retrieves a combination of updates and refreshes, and you must distinguish the two kinds of
data from each other and process each kind accordingly. For an illustration of how refreshes and updates
compare to each other, see Example: Comparing Page Refreshes and Updates.

Example: Speed Guide Retrieval Request & Response


The following request retrieves the Speed Guide page CBT/TY, which defines the contract specifications for the
U.S. Treasury 10-year futures traded on the CBOT exchange. Important elements of page retrieval (allowing
historical instruments and setting the date range to at least seven days) are highlighted.
POST [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async
{
"ExtractionRequest": {
"@[Link]": "#
[Link]",
"IdentifierList": {
"@[Link]":
"#[Link]",
"ValidationOptions": {
"AllowHistoricalInstruments": true
},
"UseUserPreferencesForValidationOptions": false,
"InstrumentIdentifiers": [
{
"Identifier": "CBT/TY",
"IdentifierType": "Ric"
}
]
},
"Condition": {
"MessageTimeStampIn": "GmtUtc",
"ReportDateRangeType": "Range",
"QueryStartDate": "2021-12-28T00:00:00.000Z",
"QueryEndDate": "2017-01-05T00:00:00.000Z",
"ExtractBy": "Ric",
"SortBy": "SingleByRic",
"DomainCode": "MarketPrice",
"DisplaySourceRIC": true
}
}
}

27
5 Search Functions

After polling the report job, the following page of information is returned. The label indicating that the content is a
refresh (as opposed to an update) is highlighted.
HTTP/1.1 200 OK
#RIC,Domain,Date-Time,Type,MsgClass/FID number,UpdateType/Action,FID Name,FID Value,FID Enum String,PE
Code,Template Number,Key/Msg Sequence Number,Number of FIDs
CBT/TY,Market Price,2021-12-31T06:43:37.300583102Z,Raw,REFRESH,,,,,3245,82,95,32
,,,FID,1,,PROD_PERM,3245,
,,,FID,2,,RDNDISPLAY,151,
,,,FID,259,,RECORDTYPE,234,
,,,FID,315,,ROW80_1," CBOT 10 YEAR US T-NOTES PIT TRADED CBT/TY",
,,,FID,316,,ROW80_2,"Contract Details, Trading Hours for the CBOT 10 year US T-Note Future. ",
,,,FID,317,,ROW80_3," ",
,,,FID,318,,ROW80_4," ",
,,,FID,319,,ROW80_5,"CHAIN RIC - <0#2TY:>for(Delisted) <0#TY:>for composite, ",
,,,FID,320,,ROW80_6," <0#1TY:> for Globex <0#3TY:> for all-or none ",
,,,FID,321,,ROW80_7,"MARKET DEPTH RIC - <1TY>+<month code>+<year>+<m> eg: <1TYU9m> ",
,,,FID,322,,ROW80_8," and 0#+1TY+M+Y eg: <0#1TYU9> ",
,,,FID,323,,ROW80_9,"OPTIONS CHAIN RIC - <0#2TY+><0#2TY++><0#1TY+>;**<0#3TY+> for AON. ",
,,,FID,324,,ROW80_10," Weekly Pit <0#2TYW+> Globex <0#1TYW+> ",
,,,FID,325,,ROW80_11," m=month, u= year; <0#3TY+> for All or None ",
,,,FID,326,,ROW80_12,"UNIT OF TRADING - US Dollar ",
,,,FID,327,,ROW80_13,"CONTRACT SIZE - $100,000 ",
,,,FID,328,,ROW80_14,"CONTRACT MONTHS - The first three consecutive contracts in the March,",
,,,FID,329,,ROW80_15," June, September, and December quarterly cycle ",
,,,FID,330,,ROW80_16," ",
,,,FID,331,,ROW80_17,"MINIMUM PRICE LIMIT - Points ($1,000) and 1/2 of 1/32 of a point ($15.625 ",
,,,FID,332,,ROW80_18," per contract) i.e., 84-16 equals 84 16/32, 84-165 ",
,,,FID,333,,ROW80_19," equals 84 16.5/32 ",
,,,FID,334,,ROW80_20,"SPREADS - <0#2TY-:> <0#2TU-TY:> <0#2FV-TY:> <0#2TY-US:> ",
,,,FID,335,,ROW80_21," PIT (Delisted) <0#1TY-US:> ",
,,,FID,336,,ROW80_22," Reduced Tick <0#1TYRT-:> ",
,,,FID,337,,ROW80_23," <0#1BON-:> <0#1NOL-:> ",
,,,FID,338,,ROW80_24,Last Trading Day - Seventh business day preceding the last business day,
,,,FID,339,,ROW80_25," of the delivery month. Trading in expiring contracts",
,,,FID,5357,,CONTEXT_ID,2704,
,,,FID,6401,,DDS_DSO_ID,12337,
,,,FID,6480,,SPS_SP_RIC,.[SPSDC4,
,,,FID,8635,,RCS_AS_CL2,,

Example: Comparing Page Refreshes and Updates


The following example retrieves the page CNTSYFIX1 over several days at the end of December 2021. It
highlights the labels that indicate which content is an update and which content is a refresh. The refresh returns
the entire page, complete with all values, while each update returns only changed values.
HTTP/1.1 200 OK
#RIC,Domain,Date-Time,Type,MsgClass/FID number,UpdateType/Action,FID Name,FID Value,FID Enum String,PE
Code,Template Number,Key/Msg Sequence Number,Number of FIDs
CNTSYFIX1,Market Price,2021-12-24T00:35:39.030674948Z,Raw,REFRESH,,,,,5144,82,399,32
,,,FID,1,,PROD_PERM,5144,
,,,FID,2,,RDNDISPLAY,151,
,,,FID,259,,RECORDTYPE,41,
,,,FID,315,,ROW80_1,12:30 23DEC16 FIXING@11:30 CN91290 CNTSYFIX1,
,,,FID,316,,ROW80_2," CNY TREASURY BONDS REFERENCE RATES ",
,,,FID,317,,ROW80_3," ",
,,,FID,318,,ROW80_4," 1Y | 2Y | 3Y | 5Y ",
,,,FID,319,,ROW80_5,"BMK Bond Code 160012 | 160009 | 160022 | 160021 ",
,,,FID,320,,ROW80_6," BID/ ASK | BID/ ASK | BID/ ASK | BID/ AS",
,,,FID,321,,ROW80_7,BOC CN 2.9829/ 2.8829 | 3.0824/ 2.9824 | 3.1061/ 3.0061 | 3.1150/ 3.,
,,,FID,322,,ROW80_8,BOCI CN 2.9800/ 2.9200 | 3.0800/ 3.0200 | 3.1000/ 3.0400 | 3.1100/ 3.,
,,,FID,323,,ROW80_9,PING AN SECS 2.9700/ 2.8700 | 3.0800/ 2.9800 | 3.1100/ 3.0100 | 3.1100/ 3.,
,,,FID,324,,ROW80_10,"CIB SH UNQ/ UNQ | UNQ/ UNQ | UNQ/ UNQ | UNQ/ ",
,,,FID,325,,ROW80_11,CMB CN 3.3000/ 3.1000 | 3.1600/ 3.0100 | 3.1700/ 3.0200 | 3.2300/ 3.,
,,,FID,326,,ROW80_12,CITIC BK 2.9500/ 2.8700 | 3.0500/ 2.9700 | 3.0800/ 3.0000 | 3.0900/ 3.,
,,,FID,327,,ROW80_13,EVRBRIT BK 3.2200/ 2.7000 | 3.1500/ 2.8000 | 3.1500/ 2.8100 | 3.3000/ 2.,
,,,FID,328,,ROW80_14,GTJA SECS 2.9800/ 2.8800 | 3.0800/ 2.9800 | 3.1100/ 3.0100 | 3.1200/ 3.,
,,,FID,329,,ROW80_15,SEALAND SECS 2.9400/ 2.9100 | 3.0500/ 3.0100 | 3.0800/ 3.0300 | 3.0700/ 3.,
,,,FID,330,,ROW80_16,ICBC CN 2.9500/ 2.9300 | 3.0500/ 3.0300 | 3.0800/ 3.0500 | 3.0900/ 3.,
,,,FID,331,,ROW80_17,NANJING BK 2.9700/ 2.9200 | 3.0600/ 3.0200 | 3.0700/ 3.0400 | 3.1000/ 3.,
,,,FID,332,,ROW80_18,SHANGHAI BK 2.9600/ 2.9000 | 3.0600/ 3.0000 | 3.0900/ 3.0300 | 3.1000/ 3.,
,,,FID,333,,ROW80_19,SWHY SECS 2.9800/ 2.8800 | 3.0800/ 2.9800 | 3.1100/ 3.0100 | 3.1200/ 3.,
,,,FID,334,,ROW80_20,--------------------------------------------------------------------------------,
,,,FID,335,,ROW80_21,TODAY'S MID 2.9354 | 3.0328 | 3.0589 | 3.,
,,,FID,336,,ROW80_22,NET CHG. -0.0385 | -0.0007 | 0.0084 | -0.,
,,,FID,337,,ROW80_23,PREV MID 2.9739 | 3.0335 | 3.0505 | 3.,
,,,FID,338,,ROW80_24,--------------------------------------------------------------------------------,
,,,FID,339,,ROW80_25,TODAY'S RATES 2.9716/ 2.8954 | 3.0716/ 2.9953 | 3.0983/ 3.0195 | 3.1081/ 3.,
,,,FID,5357,,CONTEXT_ID,2704,
,,,FID,6401,,DDS_DSO_ID,4117,
,,,FID,6480,,SPS_SP_RIC,.[SPSDC8,
,,,FID,8635,,RCS_AS_CL2,,
CNTSYFIX1,Market Price,2021-12-26T03:25:01.884342145Z,Raw,UPDATE,UNSPECIFIED,,,,5144,,414,18
,,,FID,321,,ROW80_7,"[0`BOC CN / | / | / | / ",
,,,FID,322,,ROW80_8,"[0`BOCI CN / | / | / | / ",
,,,FID,323,,ROW80_9,"[0`PING AN SECS / | / | / | / ",
,,,FID,324,,ROW80_10,"[0`CIB SH / | / | / | / ",
,,,FID,325,,ROW80_11,"[0`CMB CN / | / | / | / ",
,,,FID,326,,ROW80_12,"[0`CITIC BK / | / | / | / ",

28
5 Search Functions

,,,FID,327,,ROW80_13,"[0`EVRBRIT BK / | / | / | / ",
,,,FID,328,,ROW80_14,"[0`GTJA SECS / | / | / | / ",
,,,FID,329,,ROW80_15,"[0`SEALAND SECS / | / | / | / ",
,,,FID,330,,ROW80_16,"[0`ICBC CN / | / | / | / ",
,,,FID,331,,ROW80_17,"[0`NANJING BK / | / | / | / ",
,,,FID,332,,ROW80_18,"[0`SHANGHAI BK / | / | / | / ",
,,,FID,333,,ROW80_19,"[0`SWHY SECS / | / | / | / ",
,,,FID,335,,ROW80_21,"[0`TODAY'S MID | | | ",
,,,FID,336,,ROW80_22,"[0`NET CHG. | | | ",
,,,FID,337,,ROW80_23,[0`PREV MID 2.9354 | 3.0328 | 3.0589 | 3.,
,,,FID,339,,ROW80_25,"[0`TODAY'S RATES / | / | / | / ",
,,,FID,315,,ROW80_1,"[0`12:25 26DEC16 ",
CNTSYFIX1,Market Price,2021-12-26T03:30:01.996851773Z,Raw,UPDATE,UNSPECIFIED,,,,5144,,430,17
,,,FID,321,,ROW80_7,[0`BOC CN 2.8397/ 2.7397 | 3.0124/ 2.9124 | 3.0479/ 2.9479 | 3.0491/ 2.,
,,,FID,322,,ROW80_8,[0`BOCI CN 2.8300/ 2.7700 | 3.0100/ 2.9500 | 3.0400/ 2.9800 | 3.0400/ 2.,
,,,FID,323,,ROW80_9,[0`PING AN SECS 2.8300/ 2.7300 | 3.0100/ 2.9100 | 3.0500/ 2.9500 | 3.0400/ 2.,
,,,FID,324,,ROW80_10,[0`CIB SH 3.0000/ 2.8500 | 3.1000/ 2.9500 | 3.1500/ 2.9500 | 3.1500/ 2.,
,,,FID,325,,ROW80_11,[0`CMB CN 2.8900/ 2.7400 | 3.0200/ 2.9200 | 3.0500/ 2.9000 | 3.0200/ 2.,
,,,FID,326,,ROW80_12,[0`CITIC BK 2.8100/ 2.7300 | 2.9800/ 2.9000 | 3.0200/ 2.9400 | 3.0200/ 2.,
,,,FID,327,,ROW80_13,[0`EVRBRIT BK 3.2200/ 2.7000 | 3.1500/ 2.8000 | 3.1500/ 2.8100 | 3.3000/ 2.,
,,,FID,328,,ROW80_14,[0`GTJA SECS 2.8400/ 2.7400 | 3.0100/ 2.9100 | 3.0500/ 2.9500 | 3.0500/ 2.,
,,,FID,329,,ROW80_15,[0`SEALAND SECS 2.7900/ 2.7600 | 2.9800/ 2.9400 | 3.0200/ 2.9700 | 3.0000/ 2.,
,,,FID,330,,ROW80_16,[0`ICBC CN 2.8100/ 2.7800 | 2.9800/ 2.9600 | 3.0200/ 2.9900 | 3.0200/ 2.,
,,,FID,331,,ROW80_17,[0`NANJING BK 2.8200/ 2.7700 | 2.9900/ 2.9500 | 3.0100/ 2.9800 | 3.0300/ 2.,
,,,FID,332,,ROW80_18,[0`SHANGHAI BK 2.8200/ 2.7600 | 2.9900/ 2.9300 | 3.0300/ 2.9700 | 3.0300/ 2.,
,,,FID,333,,ROW80_19,[0`SWHY SECS 2.8400/ 2.7400 | 3.0100/ 2.9100 | 3.0500/ 2.9500 | 3.0500/ 2.,
,,,FID,335,,ROW80_21,[0`TODAY'S MID 2.7928 | 2.9646 | 2.9983 | 2.,
,,,FID,336,,ROW80_22,[0`NET CHG. -0.1426 | -0.0682 | -0.0606 | -0.,
,,,FID,339,,ROW80_25,[0`TODAY'S RATES 2.8314/ 2.7500 | 3.0046/ 2.9246 | 3.0411/ 2.9554 | 3.0370/ 2.,
,,,FID,315,,ROW80_1,"[0`12:30 26DEC16 ",

29
6 Tick History Workflows

6 Tick History Workflows


You can request Tick History data in several ways:

– Tick History custom solution (reporting). You can run reports that are:

– On demand, with all report attributes specified in a single HTTP request that is submitted to run
immediately.
– Stored & scheduled. You define report attributes in instrument lists and report templates that are stored for
future use, and schedule the report to run at set times or when triggered by events.

– Tick History standard solution (Venue by Day) automatically generates a day’s complete trading data for a
given exchange and enables you to download it.

Each of these methods has its own workflow, as described in this chapter.

On-Demand Workflow
In this reporting workflow, you specify the fields and instruments directly in a single HTTP request. The report
begins running as soon as you submit the request. You check on the report’s status until it’s ready to download.
This workflow is faster to code and more concise than the stored & scheduled workflow.

Start

1. List one or more instrument identifiers of vary types (RIC, ISIN, CUSIP,
Define a Report SEDOL) as a report basis.
Framework 2. Provide a list the contentfields from a Tick History report template.

Submit your
Submit the report request for extraction processing.
Report Request

Retrieve Search When the report extraction is complete, look up the report filename then
Results download the report.

Finish

For more information see On-Demand Workflow.

30
6 Tick History Workflows

Stored & Scheduled Workflow


In this reporting workflow, you specify the instruments in an instrument list; specify the report’s fields, conditions,
and formatting in a report template; and specify the timing in a schedule. The instrument list, report template, and
schedule are stored in your DataScope Select account, and persist beyond the current API request, providing you
with a way of easily specifying the same instruments, and the same report fields and formatting, in other requests.
You can revise instrument lists, report templates, and schedules using Tick History’s graphic user interface (GUI)
or its API. The report begins running at the time at which you have scheduled it to begin (which can be
immediately or in the future) or when it is triggered by an event that you have specified.

This workflow requires more HTTP requests than the on-demand workflow. It is very effective for managing bulk
scheduled tasks.

Start

Add/Import/
Specify Your Add/Edit Invalid Instruments
Remove
Instruments Instrument List must be Revised?
Instruments

Look Up the Retrieve a List of


Define Your Create a Custom
Available Report ContentFields
Report Report Template
Templates From a Template

Submit your Schedule report Run Extraction or wait


Report for for Immediate or for trigger or
Extraction future extraction schedule?

When complete,
Poll the Extraction
Retrieve Report Retrieve the report Download file Finish
Status
filename

Note that the report output parameters Destination, DeliveryType, CompressionType, and OutputFormat are not
supported for the Tick History Time and Sales, Market Depth, Intraday Summaries, and Raw report types.

For more information see Stored & Scheduled Workflow.

31
6 Tick History Workflows

Venue by Day Workflow


These files are system-generated at the close of each business day and contain all an exchange’s trading data
for that day. Users check for file availability and then download the file(s) using the API.

Start

List the Venue 1. Retrieve a list of files associated to your permissioned venues.
Files within a Date 2. Filter the file list per a 24 hour period for the present day.
Range

Download the files Initiate the download stream for each file until the entire list is fulfilled.

Repeat until all


Return to step one and use change tracking to retrieve venue files that were
Venues are
produced since the initial listing. Repeat until the day’s inventory is retrieved.
retrieved

Finish

For more information see Venue by Day Workflow.

Workflow Comparison
Objects On Demand Stored & Scheduled Venue by Day
InstrumentLists Not applicable. Users manage instrument lists on Not applicable.
Users will specify the RICs in the DataScope Platform. These All Instruments per venue will
each report request. objects can be referred to on a re- be listed.
occurring and for future reporting
use.
Report Templates Not applicable. Users can take the standard report Not applicable.
Users will specify the content template to select only the relevant The report format is fixed.
fields per report template in fields of interest to derive a custom
each report request. template. Numerous custom
templates may be created and be
referred to for re-occurring and
future reporting.
Scheduling Not applicable. Users can create pre-defined Venue files are produced per
Users will submit the report schedules on the DataScope Select publishing cycle in an elapsed
request as needed through platform to be triggered at set 24-hour period, from the
their client application. intervals for specific instrument lists previous day’s cycle cut-off to
and report templates. the current day’s cut-off point.

32
7 On-Demand Workflow

7 On-Demand Workflow
On-demand reporting is the most direct and efficient way to access Tick History data in the API. This method of
reporting consolidates multiple elements of a Scheduled report into a single request and allows users to reach the
same result in fewer steps.

An On-Demand report is an immediate search based on a list of instruments and content fields embodied in the
request itself. Users will need to provide valid instruments (RIC, ISIN, CUSIP, etc.) and ContentFieldNames taken
from a single Tick History report template.

This example demonstrates an On-Demand request for Times Series data.

Request
POST [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Prefer: respond-async
{
"ExtractionRequest": {
"@[Link]":
"#[Link]",
"ContentFieldNames": [
"Ask",
"Bid",
"Close Ask",
"Close Bid",
"High",
"Last",
"Low",
"Trade Date"
],
"IdentifierList": {
"@[Link]":
"#[Link]",
"InstrumentIdentifiers": [
{
"Identifier": "TRI.N",
"IdentifierType": "Ric"
}
],
"ValidationOptions": null,
"UseUserPreferencesForValidationOptions": false
},
"Condition": {
"StartDate": "2015-12-01T13:00:00.000Z",
"EndDate": "2015-12-02T13:05:00.000Z"
}
}
}

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
[Link]",
"Contents": [
{
"IdentifierType": "Ric",
"Identifier": "TRI.N",
"Ask": 41.07,
"Bid": 41.05,
"Close Ask": null,
"Close Bid": null,
"High": 41.15,
"Last": 41.05,

33
7 On-Demand Workflow

"Low": 40.45,
"Trade Date": "2015-12-01"
},
{
"IdentifierType": "Ric",
"Identifier": "TRI.N",
"Ask": 41.08,
"Bid": 41.07,
"Close Ask": null,
"Close Bid": null,
"High": 41.23,
"Last": 41.07,
"Low": 40.91,
"Trade Date": "2015-12-02"
}
],
"Notes": [
"Extraction Services Version 10.7.35743 (b74a502e64b0), Built Oct 18 2021
08:55:26\r\nProcessing started at 11/08/2021 11:05:14.\r\nUser ID: 9009503\r\nExtraction ID:
2000000000138657\r\nSchedule: 0x057b8c2788ab3026 (ID = 0x0000000000000000)\r\nInput List (1
items): (ID = 0x057b8c2788ab3026) Created: 11/08/2021 11:05:14 Last Modified: 11/08/2021
11:05:14\r\nReport Template (11 fields): _OnD_0x057b8c2788ab3026 (ID = 0x057b8c27983b3026)
Created: 11/08/2021 11:05:07 Last Modified: 11/08/2021 11:05:07\r\nSchedule dispatched via
message queue (0x057b8c2788ab3026)\r\nSchedule Time: 11/08/2021 11:05:09\r\nTimeseries Date
Range: 12/01/2015 to 12/02/2015\r\nProcessing completed successfully at 11/08/2021 11:05:14,
taking 0.109 Secs.\r\nExtraction finished at 11/08/2021 16:05:14 UTC, with servers: x02q14,
ETS (0.0 secs), QSHA02 (0.0 secs), QSHC07 (0.0 secs)\r\nUsage Summary for User 9009503, Client
65510, Template Type Elektron Timeseries\r\nBase Usage\r\n Instrument
Instrument Terms Price\r\n Count Type
Subtype Source Source\r\n------- --------------------------------
--- ---------------------------- -------------- ----------------------------------------\r\n
1 Equities N/A N/A\r\n-----
--\r\n 1 Total instrument charged.\r\n 0 Instruments with no reported
data.\r\n=======\r\n 1 Instrument in the input list.\r\n"
]
}

34
8 Tick History Reports

8 Tick History Reports


This chapter describes the types of reports that are available to Tick History. They belong to several categories:

– Tick History

– Time and Sales


– Market Depth
– Intraday Summaries
– Raw

– End of Day Pricing

– Elektron Timeseries

– Corporate Actions

– Standard Events

– Reference Data

– Terms and Conditions


– Historical Reference

This chapter illustrates these report types using the on-demand workflow.

35
8 Tick History Reports

Time & Sales


Time and sales is a display of market trading information, showing a view of every detail of a market’s price
movement. This example demonstrates how to request a Time & Sales report.

Time & Sales Fields


Collect a list of content fields specific to Time & Sales.

Request
GET [Link]
(ReportTemplateType=[Link]'TickH
istoryTimeAndSales')
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"Code": "[Link] - Exchange Time",
"Name": "Auction - Exchange Time",
"Description": "Exchange supplied exchange time (Local or GMT depending on the
exchange)",
"FormatType": "Text",
"FieldGroup": "Auction"
},
{
"Code": "[Link] - Price",
"Name": "Auction - Price",
"Description": "Auction Price",
"FormatType": "Number",
"FieldGroup": "Auction"
},
{
"Code": "[Link] - Qualifiers",
"Name": "Auction - Qualifiers",
"Description": "Trade qualifiers or market condition indicator; See Qualifiers for
more details",
"FormatType": "Text",
"FieldGroup": "Auction"
},
{
"Code": "[Link] - Volume",
"Name": "Auction - Volume",
"Description": "Auction Volume",
"FormatType": "Number",
"FieldGroup": "Auction"
},
{
"Code": "[Link] - Accumulated Volume",
"Name": "Correction - Accumulated Volume",
"Description": "Accumulated number of shares, lots or contracts traded",
"FormatType": "Number",
"FieldGroup": "Correction"
}
•••
]
}

36
8 Tick History Reports

Submit Report Request


This report is only available through ExtractRaw. ExtractWithNotes is not supported.

Request
POST [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Prefer: respond-async
{
"ExtractionRequest": {
"@[Link]":
"#[Link]
",
"ContentFieldNames": [
"Auction - Exchange Time",
"Auction - Price",
"Auction - Qualifiers",
"Auction - Volume",
"Correction - Accumulated Volume",
"Correction - Ask Price",
"Correction - Bid Price",
"Correction - Buyer ID",
"Correction - Exchange Time",
"Correction - Exchange/Contributor ID"
],
"IdentifierList": {
"@[Link]":
"#[Link]",
"InstrumentIdentifiers": [
{
"Identifier": ".AD.N",
"IdentifierType": "Ric"
}
],
"ValidationOptions": null,
"UseUserPreferencesForValidationOptions": false
},
"Condition": {
"MessageTimeStampIn": "GmtUtc",
"ApplyCorrectionsAndCancellations": false,
"ReportDateRangeType": "Range",
"QueryStartDate": "1996-01-02T00:00:00.000Z",
"QueryEndDate": "2007-03-03T00:00:00.000Z",
"DisplaySourceRIC": true
}
}
}

Response

HTTP/1.1 202 Accepted


Status: InProgress
Progress: 1
Preference-Applied: respond-async
Location: [Link]
tractionId='0x0570a0ea31ec3156')

The request returns a 202 Accepted status, indicating that it is being processed asynchronously. It also returns
the location of the report job (highlighted above). You will issue a GET against this location to poll the report to
determine when it has completed.

37
8 Tick History Reports

Market Depth
Market Depth is the measure of the number of orders for a security or currency that must be traded before the
price moves.

Market Depth Fields


Collect a list of content fields specific to Market Depth.

Request
GET [Link]
(ReportTemplateType=[Link]'TickH
istoryMarketDepth')
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"Code": "[Link] Price",
"Name": "Ask Price",
"Description": "Best Ask Price at level x",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link] Size",
"Name": "Ask Size",
"Description": "Total size of all market makers at Ask level x",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link] Price",
"Name": "Bid Price",
"Description": "Best Bid Price at level x",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link] Size",
"Name": "Bid Size",
"Description": "Total size of all market makers at Bid level x",
"FormatType": "Number",
"FieldGroup": " "
}
{
"Code": "[Link]",
"Name": "Domain",
"Description": "Internal field to support instrument preview",
"FormatType": "Text",
"FieldGroup": " "
},
•••
]
}

38
8 Tick History Reports

Submit Report Request


This request reflects the RIC VOD.L with 13 Market Depth fields. You may set the NumberOfLevels under
Condition. This report is only available through ExtractRaw. ExtractWithNotes is not supported.

Request
POST [Link]
Authorization: Token <your_auth_token_goes_here>
Prefer: respond-async
Content-Type: application/json
{
"ExtractionRequest": {
"@[Link]":
"#[Link]"
,
"ContentFieldNames": [
"Ask Price",
"Ask Size",
"Bid Price",
"Bid Size",
"Domain",
"History End",
"History Start",
"Instrument ID",
"Instrument ID Type",
"Number of Buyers",
"Number of Sellers",
"RIC",
"Sample Data"
],
"IdentifierList": {
"@[Link]":
"#[Link]",
"InstrumentIdentifiers": [
{
"Identifier": "VOD.L",
"IdentifierType": "Ric"
}
],
"ValidationOptions": null,
"UseUserPreferencesForValidationOptions": false
},
"Condition": {
"View": "NormalizedLL2",
"NumberOfLevels": 10,
"MessageTimeStampIn": "GmtUtc",
"ReportDateRangeType": "Range",
"QueryStartDate": "2008-10-13T13:00:00.000-05:00",
"QueryEndDate": "2008-11-12T13:00:00.000-05:00",
"DisplaySourceRIC": true
}
}
}

Response

HTTP/1.1 202 Accepted


Status: InProgress
Progress: 1
Preference-Applied: respond-async
Location: [Link]
tractionId='0x05713e6146bc44c6')

The request returns a 202 Accepted status, indicating that it is being processed asynchronously. It also returns
the location of the report job (highlighted above). You will issue a GET against this location to poll the report to
determine when it has completed.

39
8 Tick History Reports

Intraday Summaries
Intraday Summaries reports summarize market data into discrete time series intervals ranging from one second to
one hour. These steps show how to request the report.

Intraday Summaries Fields


Collect a list of content fields specific to Intraday Summaries.

Request
GET [Link]
(ReportTemplateType=[Link]'TickH
istoryIntradaySummaries')
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"Code": "[Link] Ask",
"Name": "Close Ask",
"Description": "Last Ask price in the interval",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link] Bid",
"Name": "Close Bid",
"Description": "Last Bid price in the interval",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link]",
"Name": "Domain",
"Description": "Internal field to support instrument preview",
"FormatType": "Text",
"FieldGroup": " "
},
{
"Code": "[Link]",
"Name": "High",
"Description": "Highest price over the interval",
"FormatType": "Number",
"FieldGroup": " "
}
{
"Code": "[Link] Ask",
"Name": "High Ask",
"Description": "Highest reported Ask price over the interval",
"FormatType": "Number",
"FieldGroup": " "
},
•••
]
}

40
8 Tick History Reports

Submit Report Request


This example reflects the RIC EUR= with 23 Intraday Summaries fields. This report is only available through
ExtractRaw. ExtractWithNotes is not supported.

Request
POST [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async
{
"ExtractionRequest": {
"@[Link]":
"#[Link]
quest",
"ContentFieldNames": [
"Close Ask",
"Close Bid",
"Domain",
"High",
"High Ask",
"High Bid",
"History End",
"History Start",
"Instrument ID",
"Instrument ID Type",
"Last",
"Low",
"Low Ask",
"Low Bid",
"No. Asks",
"No. Bids",
"No. Trades",
"Open",
"Open Ask",
"Open Bid",
"RIC",
"Sample Data",
"Volume"
],
"IdentifierList": {
"@[Link]":
"#[Link]",
"InstrumentIdentifiers": [
{
"Identifier": "EUR=",
"IdentifierType": "Ric"
}
],
"ValidationOptions": null,
"UseUserPreferencesForValidationOptions": false
},
"Condition": {
"MessageTimeStampIn": "GmtUtc",
"ApplyLegacySummaryTimeLabel": false,
"ReportDateRangeType": "Range",
"QueryStartDate": "2008-10-13T13:00:00.000-05:00",
"QueryEndDate": "2008-10-13T14:00:00.000-05:00",
"SummaryInterval": "OneMinute",
"TimebarPersistence": true,
"DisplaySourceRIC": true
}
}
}

Response
HTTP/1.1 202 Accepted
Status: InProgress
Progress: 1
Preference-Applied: respond-async
Location:
[Link]
='0x0571568dcf5c2f03')

41
8 Tick History Reports

The request returns a 202 Accepted status, indicating that it is being processed asynchronously. It also returns
the location of the report job (highlighted above). You will issue a GET against this location to poll the report to
determine when it has completed.

Raw Report
Raw reports are delivered message-per-message as reported by the exchange venues. Unlike other report types,
you cannot select which fields to include: they are all included. ExtractRaw returns data in a gzip formatted file.

You can filter the instruments you are reporting on based on which of them have a value for a specified FID. The
report returns all the values that appear for that FID for those instruments within the specified date range. FID
filtering is supported for the Raw report type’s Market Price domain only.

Submit Report Request


Request
POST [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Prefer: respond-async
{
"ExtractionRequest": {
"@[Link]":
"#[Link]",
"ContentFieldNames": [
],
"IdentifierList": {
"@[Link]":
"#[Link]",
"InstrumentIdentifiers": [
{
"Identifier": "[Link]",
"IdentifierType": "Ric"
}
],
"ValidationOptions": null,
"UseUserPreferencesForValidationOptions": false
},
"Condition": {
"MessageTimeStampIn": "GmtUtc",
"ReportDateRangeType": "Range",
"QueryStartDate": "2021-04-25T20:00:00.000Z",
"QueryEndDate": "2021-08-02T19:59:59.000Z",
"DisplaySourceRIC": true }}}

Response
HTTP/1.1 202 Accepted
Status: InProgress
Progress: 1
Preference-Applied: respond-async
Location:
[Link]
='0x05709cc5aadc3156')

The request returns a 202 Accepted status, indicating that it is being processed asynchronously. It also returns
the location of the report job (highlighted above). You will issue a GET against this location to poll the report to
determine when it has completed.

42
8 Tick History Reports

Check Report Status


Issue a GET against the value of the Location header field in the previous HTTP response to poll the progress of
Job ID 0x05709cc5aadc3156.

Request
GET
[Link]
='0x05709cc5aadc3156')
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK { "@[Link]":
"[Link]
"JobId": "0x05709cc5aadc3156",
"Notes": [ "Extraction Services Version 10.7.35662 (6a8afc92e222), Built Sep 30 2021
17:07:16\nUser ID: 9007660\nExtraction ID: 2000000000533701\nSchedule: 0x05709cc5aadc3156 (ID
= 0x0000000000000000)\nInput List (1 items): (ID = 0x05709cc5aadc3156) Created: 04/05/2021
12:43:54 Last Modified: 04/05/2021 12:43:54\nReport Template: _OnD_0x05709cc5aadc3156 (ID =
0x05709cc5b2ac3156) Created: 04/05/2021 12:42:22 Last Modified: 04/05/2021 12:42:22\nSchedule
dispatched via message queue (0x05709cc5aadc3156), Data source identifier
(9FD2F2462A2E47948B6557E45DE32331)\nSchedule Time: 04/05/2021 12:42:23\nProcessing started at
04/05/2021 12:42:23\nProcessing completed successfully at 04/05/2021 12:45:18\nExtraction
finished at 04/05/2021 16:45:18 UTC, with servers: tm04n01, TRTH (83.376 secs)\nHistorical
Instrument <RIC,[Link]> expanded to 1 RIC: [Link].\nManifest:
#RIC,Domain,Start,End,Status,Count\nManifest: [Link],Market Price,2021-04-
25T23:35:53.323542895Z,2021-08-02T19:47:33.777582804Z,Active,136681\n"] }

The ‘HTTP/1.1 200 OK’ status signals that the report job has completed, and the report is ready to be retrieved.

Download the Report in GZIP


Retrieve the results of JobID 0x05709cc5aadc3156.

Request
GET [Link]
5709cc5aadc3156')/$value
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
Accept-Ranges: bytes
BINARY:
1F 8B 08 00 00 00 00 00 00 00 CC BD 59 B3 1E 39 72 A6 79 DF BF 22 2D 75 7B 14 02 DC B1 E6 5D 8A
C9 AA E2 54 6E CA A5 A4 EE 1B 5A 8D 3A A7 AD 6C B4 8D 16 6B EB 7F 3F C0 C7 2A 12 1E E1 0B 02 8C
C8 8F D4 52 D2 81 1F 9C 08 20 1E 6C FE C2 FD AF 7E 78 F3 EA E5 AB 7F FD E7 3F FE E9 5F 5E BE FA
E3 7F FE F2 D7 3F FD E9 9F 7F 79 F9 E9 FF FC DB 2F 2F DF FC C7 FF 7A F5 4F 7F FC 8F FF F8 9B DF
BC F9 EA B3 7F F9 AF 7F FE BF 7F F9 F7 97 9F FF ED 7F 36 A3 5E FC 37 5F FE E3 7F FE E9 5F FF E5
A5 17 7E FB C7 F6 3B FD FF F8 C3 1F FF E9 BF DE FD 5F AF DB 2F 7C F6 E3 7F FE FB 9F FE E5 7F BD
7C FF FA B3 57 FF FA 3F 5B AD BF FC F3 BF FD 53 FB F5 CF BE 7D 57 D9 EF 7F F9 3F 7F D3 FE C8 67
3F FE F2 FF FD D7 2F FF F2 8F EF 7F FE EE 3F 3E FB D7 FF E7 B3 56 D3 7F FC B7 37 AF FE F6 F7 DB
B7 3F BE 7C F3 C7 7F FF 7F 7F F9 CF CF BE FF F7 3F FD E3 2F 2F E0 7C FA 6B 97 FF 1A E2 4F 80 5F
60 FC 22 E2 86 80 31 40 A9 F1 7F BC FC F0 C7 FF FD F2 F3 F7 5F 7D F9 D3 EB 97 9F BF FD F1 FB D7
AF DE FC E6 CD EB AF 5E DA BF 18 B0 BC BC 24 04 F7 02 FF AD FD FF ED 4F BC 60 01 7C 79 F9 C3 37
5F BE 8D 5F BD D4 1A C0 07 F7 32 14 86 77 85 E8 BE 7A F1 90 1C F8 5C 5F 4E 3C 56 C2 18 DB 83 E1
CC 63 61 BA F5 B1 D2 4F CE 7D E1 DD 17 0E B7 18 6A 29 D1 E5 42 1E EB D5 D7 DF FD F8 E6 DB DF BE
FD E1 E7 6F C7 C7 4A E9 A5 E0 5F FE 34 F8 97 97 DF FD F8 D3 DB 6E FB FA 05 52 D9 52 7C FF 5C ED
19 7A E1 AB AF 7F 7C D4 F7 A1 41 DE 5B F8 D0 CC 5F BE FC EA FF FA F9 51 C7 8F FB 1A 5A E1 4F 6F
BE F9 F2 D5 4F 2F EF 7F 94 DA 8F 7E F8 EA FB 1F 5E BD F5 1F 7E 98 DF FF 10 3E FC B0 BC FF 21 7E
F8 61 7D FF C3 F0 E1 87 DE BD FF 69 1C 7E DA FE C0 B7 AF 7F 7A F5 BB D6 06 C3 DF F2 ED 4F FC EE
CD 6F 7F 47 7E D6 FE C2 D7 DF FD 3D F9 51 FB 4B DF 7D FF FA DB B7 AD D6 0F 3F 85 F6 CB 7F DB FE
F3 C3 0F FA FB FF F8 FB 0F 3F 40 F7 B0 F8 F1 CD FF 78 3D FC D0 3F AC 76 3F 6C 75 7D F9 EA 0F DF
7D 3D FE D9 D0 FF C0 D7 BF 7F F5 DD CF DF 0E 8D 16 F0 F1 D3 66 FB F3 37 1F 7E 1A 5B 5B 7E FF EA
F1 82 43 53 B6 07 FA F9 FB AF DF 7C F3 66 F8 FD 9C FA FB ED 7F D8 5A FD DB 9F BF 79 FB CD 77 7F
78 FD E3 D8 98 BD 35 7F FE E1 DB F6 E3 1F 86 1F E7 77 FD B1 7B DE EC FA 57 F5 D3 EF 5E 7F F7 F6
EB 9F 5A D9 CB 87 CF BA E1 FB 78 EB B7 8F C7 1E 5F 3C B7 97 7C F3 C3 6F 49 CB 62 C6 C7 0F 7B 1D
C3 0F 5B 15 3F 7E F9 75 FB 88 86 4F A0 BF 62 FB A6 DE FE E6 EB 2F 7F EB C7 9F A7 0F 3F 87 F1 E7

43
8 Tick History Reports

Elektron Timeseries
Elektron Timeseries provides historical Elektron end of day prices.

Elektron Timeseries Fields


Collect a list of content fields specific to Elektron Timeseries.

Request
GET [Link]
(ReportTemplateType=[Link]'Elekt
ronTimeseries')
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"Code": "[Link] Issues",
"Name": "Advancing Issues",
"Description": "Number of issues which have advanced today",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link] Volume",
"Name": "Advancing Volume",
"Description": "Accumulated volume of issues that have advanced today",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link] Close",
"Name": "Alternate Close",
"Description": "Used to denote a secondary close price for particular instrument",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link]",
"Name": "Ask",
"Description": "Instrument's last ask price for the trading day",
"FormatType": "Number",
"FieldGroup": " "
}
{
"Code": "[Link] ID",
"Name": "Asset ID",
"Description": "Unique system-assigned identifier for the instrument",
"FormatType": "Text",
"FieldGroup": " "
},
•••
]
}

44
8 Tick History Reports

Submit Report Request


This example shows how to request your Elektron Timeseries (End of Day) report as a gzip archive file using
ExtractRaw. This report supports both ExtractWithNotes and ExtractRaw.

Request
POST [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Prefer: respond-async
{ "ExtractionRequest": { "@[Link]":
"#[Link]",
"ContentFieldNames": [
"Ask",
"Asset ID",
"Asset Status",
"Asset Status Description",
"Asset SubType",
"Asset SubType Description",
"Asset Type",
"Asset Type Description",
"Bid",
"Block Volume",
"Country of Incorporation",
"Country of Incorporation Description",
"Currency Code",
"Currency Code Description",
"CUSIP",
"Exchange Code",
"Exchange Description",
"File Code",
"GICS Industry Code",
"GICS Industry Code Description",
"High",
"Instrument ID",
"Instrument ID Type",
"ISIN",
"Issuer Name",
"Issuer OrgID",
"Last",
"Low",
"Market MIC",
"MIC",
"MIFID Indicator",
"MIFID Indicator Description",
"Number of Price Moves",
"Open",
"OPOL",
"PE Code",
"PILC",
"Primary Execution Venue",
"Primary Reference Market Quote",
"Quote ID",
"RBSS Code",
"RBSS Code Description",
"RCP ID",
"Reference Company",
"Reuters Editorial RIC",
"Round Lot Size",
"Security Description",
"Security Long Description",
"SEDOL",
"Refinitiv Classification Scheme Description",
"Ticker",
"Trade Date",
"Trading Symbol",
"TRBC Business Sector Code",
"TRBC Business Sector Code Description",
"TRBC Economic Sector Code",
"TRBC Economic Sector Code Description",
"TRBC Industry Code",
"TRBC Industry Code Description",
"TRBC Industry Group Code",
"TRBC Industry Group Code Description",
"Usage Instrument Type",
"Valoren",
"VWAP",
"Wertpapier"
],
"IdentifierList": {

45
8 Tick History Reports

"@[Link]":
"#[Link]",
"InstrumentIdentifiers": [
{
"Identifier": "IBM.N",
"IdentifierType": "Ric"
}
],
"ValidationOptions": null,
"UseUserPreferencesForValidationOptions": false
},
"Condition": {
"StartDate": "2008-10-15T13:00:00.000-05:00",
"EndDate": "2008-10-22T13:00:00.000-05:00"
} } }

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"JobId": "0x0576190ac44b2f86",
"Notes": [
"Extraction Services Version 10.7.35695 (b1e94346bd15), Built Oct 7 2021 18:40:28\r\nProcessing
started at 10/22/2021 13:43:56.\r\nUser ID: 9009503\r\nExtraction ID: 2000000000131541\r\nSchedule:
0x0576190ac44b2f86 (ID = 0x0000000000000000)\r\nInput List (1 items): (ID = 0x0576190ac44b2f86)
Created: 10/22/2021 13:43:56 Last Modified: 10/22/2021 13:43:56\r\nReport Template (65 fields):
_OnD_0x0576190ac44b2f86 (ID = 0x0576190ace0b2f86) Created: 10/22/2021 13:43:46 Last Modified:
10/22/2021 13:43:46\r\nSchedule dispatched via message queue (0x0576190ac44b2f86)\r\nSchedule Time:
10/22/2021 13:43:46\r\nTimeseries Date Range: 10/15/2008 to 10/22/2008\r\nProcessing completed
successfully at 10/22/2021 13:43:57, taking 0.943 Secs.\r\nExtraction finished at 10/22/2021
17:43:57 UTC, with servers: x02q14, ETS (0.0 secs), QSHA02 (0.0 secs), QSHC09 (0.9 secs)\r\nUsage
Summary for User 9009503, Client 65510, Template Type Elektron Timeseries\r\nBase Usage\r\n
Instrument Instrument Terms Price\r\n Count
Type Subtype Source Source\r\n------- --
--------------------------------- ---------------------------- -------------- ----------------------
------------------\r\n 1 Equities N/A
N/A\r\n-------\r\n 1 Total instrument charged.\r\n 0 Instruments with no reported
data.\r\n=======\r\n 1 Instrument in the input list.\r\n"
]
}

A 200 OK status was returned along with JobID 0x0576190ac44b2f86. This indicates that the report is ready for
immediate download. The report can be retrieved using the RawExtractionResults endpoint.

Download the Report in GZIP


The RawExtractionsResults endpoint is used to download the file for JobID 0x0576190ac44b2f86. Add the zip,
deflate encoding header to unpack the gzip format in the response.

Request
GET [Link]
576190ac44b2f86')/$value
Authorization: Token <your_auth_token_goes_here>
Accept-Encoding: gzip, deflate
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
Content-Encoding →gzip
Content-Type →text/plain
Transfer-Encoding →chunked
Vary →Accept-Encoding
Ask,Asset ID,Asset Status,Asset Status Description,Asset SubType,Asset SubType
Description,Asset Type,Asset Type Description,Bid,Block Volume,Country of
Incorporation,Country of Incorporation Description,Currency Code,Currency Code
Description,CUSIP,Exchange Code,Exchange Description,File Code,GICS Industry Code,GICS
Industry Code Description,High,Instrument ID,Instrument ID Type,ISIN,Issuer Name,Issuer
OrgID,Last,Low,Market MIC,MIC,MIFID Indicator,MIFID Indicator Description,Number of Price
Moves,Open,OPOL,PE Code,PILC,Primary Execution Venue,Primary Reference Market Quote,Quote
ID,RBSS Code,RBSS Code Description,RCP ID,Reference Company,Reuters Editorial RIC,Round Lot
Size,Security Description,Security Long Description,SEDOL,Refinitiv Classification Scheme
Description,Ticker,Trade Date,Trading Symbol,TRBC Business Sector Code,TRBC Business Sector
Code Description,TRBC Economic Sector Code,TRBC Economic Sector Code Description,TRBC Industry

46
8 Tick History Reports

Code,TRBC Industry Code Description,TRBC Industry Group Code,TRBC Industry Group Code
Description,Usage Instrument Type,Valoren,VWAP,Wertpapier
88.3,0x0003dd001379d460,ISS,Issued,ODSH,Ordinary shares,EQTY,Equities,88.01,1494300,US,United
States,USD,U.S. Dollar,459200101,NYS,New York Stock Exchange,77,45102010,IT Consulting & Other
Services,94.92,IBM.N,RIC,US4592001014,International Business Machines
Corp,18228,88.29,87.91,XNYS,XNYS,MIFID-E,MiFID Eligible
Security,,93.11,XNYS,62,144477,XETB,[Link],0x0003dc004a024fd8,1793,Technology Consulting &
Outsourcing Services,300018228,INTL BUS MACHINE,IBM.N,100,INTERNATIONAL BUSINESS MACHINES
ORD,International Business Machines Ord Shs,2005973,Ordinary
Shares,IBM,2008/10/15,IBM,5720,Software & IT Services,57,Technology,57201010,IT Services &
Consulting,572010,Software & IT Services,Equities,941800,90.7106,851399
91.8,0x0003dd001379d460,ISS,Issued,ODSH,Ordinary shares,EQTY,Equities,91.41,1040500,US,United
States,USD,U.S. Dollar,459200101,NYS,New York Stock Exchange,77,45102010,IT Consulting & Other
Services,92,IBM.N,RIC,US4592001014,International Business Machines
Corp,18228,91.52,84.35,XNYS,XNYS,MIFID-E,MiFID Eligible
Security,,89.33,XNYS,62,144477,XETB,[Link],0x0003dc004a024fd8,1793,Technology Consulting &
Outsourcing Services,300018228,INTL BUS MACHINE,IBM.N,100,INTERNATIONAL BUSINESS MACHINES
ORD,International Business Machines Ord Shs,2005973,Ordinary
Shares,IBM,2008/10/16,IBM,5720,Software & IT Services,57,Technology,57201010,IT Services &
Consulting,572010,Software & IT Services,Equities,941800,88.6586,851399
90.79,0x0003dd001379d460,ISS,Issued,ODSH,Ordinary shares,EQTY,Equities,90.68,1550300,US,United
States,USD,U.S. Dollar,459200101,NYS,New York Stock Exchange,77,45102010,IT Consulting & Other
Services,95.88,IBM.N,RIC,US4592001014,International Business Machines
Corp,18228,90.78,89.58,XNYS,XNYS,MIFID-E,MiFID Eligible
Security,,91.03,XNYS,62,144477,XETB,[Link],0x0003dc004a024fd8,1793,Technology Consulting &
Outsourcing Services,300018228,INTL BUS MACHINE,IBM.N,100,INTERNATIONAL BUSINESS MACHINES
ORD,International Business Machines Ord Shs,2005973,Ordinary
Shares,IBM,2008/10/17,IBM,5720,Software & IT Services,57,Technology,57201010,IT Services &
Consulting,572010,Software & IT Services,Equities,941800,91.9489,851399
92.7,0x0003dd001379d460,ISS,Issued,ODSH,Ordinary shares,EQTY,Equities,92.5,731600,US,United
States,USD,U.S. Dollar,459200101,NYS,New York Stock Exchange,77,45102010,IT Consulting & Other
Services,93.28,IBM.N,RIC,US4592001014,International Business Machines
Corp,18228,92.51,89.36,XNYS,XNYS,MIFID-E,MiFID Eligible
Security,,92.44,XNYS,62,144477,XETB,[Link],0x0003dc004a024fd8,1793,Technology Consulting &
Outsourcing Services,300018228,INTL BUS MACHINE,IBM.N,100,INTERNATIONAL BUSINESS MACHINES
ORD,International Business Machines Ord Shs,2005973,Ordinary
Shares,IBM,2008/10/20,IBM,5720,Software & IT Services,57,Technology,57201010,IT Services &
Consulting,572010,Software & IT Services,Equities,941800,91.4073,851399

Standard Events
Corporate actions standard events are events that bring material change to a company and affect its
stakeholders, including shareholders, both common and preferred, as well as bondholders. These events are
generally approved by the company’s board of directors; shareholders may be permitted to vote on some events
as well.

Standard Events Fields


Collect a list of content fields specific to Corporate Actions.

Request
GET [Link]
(ReportTemplateType=[Link]'Corpo
rateActions')
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{ "Code": "[Link] Standard",
"Name": "Accounting Standard",
"Description": "Code indicating the accounting standard used in accounts in which
the EPS figure is reported",
"FormatType": "Text",
"FieldGroup": "Tick History Corporate Actions"
},
{

47
8 Tick History Reports

"Code": "[Link] Company Name",


"Name": "Acquirer Company Name",
"Description": "Name of the acquiring party",
"FormatType": "Text",
"FieldGroup": "Tick History Corporate Actions"
},
{
"Code": "[Link] RIC",
"Name": "Acquirer RIC",
"Description": "RIC of primary issue of acquirer",
"FormatType": "Text",
"FieldGroup": "Tick History Corporate Actions"
},
{
"Code": "[Link] Row ID",
"Name": "Acquirer Row ID",
"Description": "Unique system-assigned identifier for the acquiring party",
"FormatType": "Number",
"FieldGroup": "Tick History Corporate Actions"
},
•••
]
}

Refer to the field Name when referring to the fields in the Standard Events report request.

Submit Report Request


This example shows how to request the Standard Events report in file format using ExtractWithNotes. Add the
fields of interest along with your chosen instrument(s) to the report request, then submit. This report supports both
ExtractWithNotes and ExtractRaw.

Request
POST [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Prefer: respond-async
{
"ExtractionRequest": {
"@[Link]":
"#[Link]
t",
"ContentFieldNames": [
"Corporate Actions Type",
"Currency Code",
"Fitch Issuer ID",
"Instrument ID",
"Instrument ID Type",
"ISIN",
"Issue Level Event ID",
"MIC",
"Moodys Issuer ID",
"OPOL",
"PILC",
"RIC",
"S&P Issuer ID",
"Security Description",
"Security Long Description",
"SEDOL",
"Shares Amount",
"Shares Amount Date",
"Shares Amount In Thousands",
"Shares Amount Type",
"Shares Amount Type Default Flag",
"Shares Amount Type Description"
],
"IdentifierList": {
"@[Link]":
"#[Link]",
"InstrumentIdentifiers": [
{
"Identifier": "VOD.L",
"IdentifierType": "Ric"
}],
"ValidationOptions": null,
"UseUserPreferencesForValidationOptions": false
},
"Condition": {

48
8 Tick History Reports

"ReportDateRangeType": "Range",
"QueryStartDate": "2021-06-01T00:00:00.000Z",
"QueryEndDate": "2021-06-08T00:00:00.000Z",
"IncludeInstrumentsWithNoEvents": true,
"IncludeNullDates": false,
"ExcludeDeletedEvents": true,
"IncludeCapitalChangeEvents": true,
"IncludeDividendEvents": true,
"IncludeEarningsEvents": true,
"IncludeMergersAndAcquisitionsEvents": true,
"IncludeNominalValueEvents": true,
"IncludePublicEquityOfferingsEvents": true,
"IncludeSharesOutstandingEvents": true,
"IncludeVotingRightsEvents": true,
"CorporateActionsDividendsType": "DividendPayDate",
"CorporateActionsEarningsType": "PeriodEndDate",
"CorporateActionsStandardEventsType": "SHO",
"ShareAmountChoice": "All",
"ShareAmountTypes": [
]
}
}
}

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
[Link]",
"Contents": [
{
"IdentifierType": "Ric",
"Identifier": "VOD.L",
"Corporate Actions Type": "SHO",
"Currency Code": "GBp",
"Fitch Issuer ID": "80360240",
"Instrument ID": "VOD.L",
"Instrument ID Type": "RIC",
"ISIN": "GB00BH4HKS39",
"Issue Level Event ID": 18062220,
"MIC": "XLON",
"Moodys Issuer ID": "600018164",
"OPOL": "XLON",
"PILC": "105207",
"RIC": "VOD.L",
"S&P Issuer ID": "336641",
"Security Description": "VODAFONE GROUP ORD",
"Security Long Description": "Vodafone Group Ord Shs",
"SEDOL": "BH4HKS3",
"Shares Amount": 26500105011,
"Shares Amount Date": "2021-06-06",
"Shares Amount In Thousands": 26500105.011,
"Shares Amount Type": "FFL",
"Shares Amount Type Default Flag": "N",
"Shares Amount Type Description": "Free Float"
}
],
"Notes": [
"Extraction Services Version 10.7.35695 (b1e94346bd15), Built Oct 7 2021 16:23:43\r\nUser
has overridden estimates broker entitlements.\r\nProcessing started at 10/20/2021
13:56:53.\r\nUser ID: 9007660\r\nExtraction ID: 234470400\r\nSchedule: _OnD_0x057574fd777b2f86
(ID = 0x057574fdd03b2f86)\r\nReporting corporate actions between 06/01/2021 and 06/08/2021,
inclusive.\r\nSuppressing Deleted Events\r\nInput List (1 items): _OnD_0x057574fd777b2f86 (ID
= 057574fd8ceb2f86) Created: 10/20/2021 13:56:45 Last Modified: 10/20/2021
13:56:46\r\nSchedule Time: 10/20/2021 13:56:46\r\nReport Template (27 fields):
_OnD_0x057574fd777b2f86 (ID = 0x057574fd787b2f86) Created: 10/20/2021 13:56:45 Last Modified:
10/20/2021 13:56:45\r\nProcessing completed successfully at 10/20/2021 13:56:53, taking 0.366
Secs.\r\nExtraction finished at 10/20/2021 17:56:53 UTC, with servers: x03E03, QSHA02 (0.0
secs), QSHC09 (0.1 secs)\r\nUsage Summary for User 9007660, Client 65510, Template Type
Corporate Actions, Standard Events\r\nBase Usage\r\n Instrument
Instrument Terms Price\r\n Count Type
Subtype Source Source\r\n------- --------------------------------
--- ---------------------------- -------------- ----------------------------------------\r\n
1 Equities N/A N/A\r\n-----
--\r\n 1 Total instrument charged.\r\n 0 Instruments with no reported
data.\r\n=======\r\n 1 Instrument in the input list.\r\n" ] }

When an HTTP 200 status is returned, the data arrives in the body of the response.

49
8 Tick History Reports

Terms and Conditions


Terms and conditions describe counterparty and security identifiers used when making a trade, specifically used
to complete financial transactions and settle those transactions. At the most complex application, reference data
covers all relevant particulars for highly complex transactions with multiple dependencies, entities and
contingencies.

Terms and Conditions Fields


Collect a list of content fields specific to Terms and Conditions.

Request
GET [Link]
(ReportTemplateType=[Link]'Terms
AndConditions')
Content-Type: application/json
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"Code": "TNC.144A Registered Flag",
"Name": "144A Registered Flag",
"Description": "Y/N flag indicating whether the issue is registered for the 144A
rule",
"FormatType": "Text",
"FieldGroup": " "
},
{
"Code": "[Link] Life Scheme Classification",
"Name": "ABI Life Scheme Classification",
"Description": "Indicates the ABI Life Scheme classification for a fund",
"FormatType": "Text",
"FieldGroup": " "
},
{
"Code": "[Link] Pension Scheme Classification",
"Name": "ABI Pension Scheme Classification",
"Description": "Indicates the ABI Pension Classification for a fund",
"FormatType": "Text",
"FieldGroup": " "
},
{
"Code": "[Link] Bond Code",
"Name": "Accrual Bond Code",
"Description": "Code indicating how the bond's interest accrues",
"FormatType": "Text",
"FieldGroup": " "
}
{
"Code": "[Link] Bond Code Description",
"Name": "Accrual Bond Code Description",
"Description": "Description of Accrual Bond Code",
"FormatType": "Text",
"FieldGroup": " "}, ] }

50
8 Tick History Reports

Submit Report Request


This example shows how to request the Terms and Conditions report in file format using ExtractRaw. This report
supports both ExtractWithNotes and ExtractRaw.

Request
POST [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Prefer: respond-async
{
"ExtractionRequest": {
"@[Link]":
"#[Link]",
"ContentFieldNames": [
"Asset Category",
"Asset Category Description",
"Asset Type Description",
"CESR EEA Regulated",
"CFI Code",
"Company Name",
"Consolidated RIC",
"Contributor Code",
"Contributor Code Description",
"Convertible Flag",
"Country of Incorporation",
"Country of Incorporation Description",
"Country of Taxation Code",
"Country of Taxation Description",
"Index Principal Flag",
"Conversion Terms Start Date",
"RIC",
"Round Lot Size",
"Redemption Value",
"Original Issue Amount",
"Issue Price",
"First Coupon Date",
"Issue Date",
"Par Value",
"Accrual Date",
"Base Index",
"Factor",
"Original Issue Discount Flag",
"End Of Month Payment Flag",
"ISIN",
"Index Linked Bond Base Index",
"Coupon Frequency Description",
"Total Amount Outstanding",
"Maturity Date",
"Total Amount Issued",
"Capitalization Flag",
"Currency Code",
"Trading Status"
],
"IdentifierList": {
"@[Link]":
"#[Link]",
"InstrumentIdentifiers": [
{
"Identifier": "BA.N",
"IdentifierType": "Ric"
},
{
"Identifier": "CAT.N",
"IdentifierType": "Ric"
},
{
"Identifier": "IBM.N",
"IdentifierType": "Ric"
}
],
"ValidationOptions": {
"AllowOpenAccessInstruments": true,
"AllowHistoricalInstruments": true,
"ExcludeFinrAsPricingSourceForBonds": true,
"UseExchangeCodeInsteadOfLipper": true,
"UseUsQuoteInsteadOfCanadian": true,
"UseConsolidatedQuoteSourceForUsa": true,
"UseConsolidatedQuoteSourceForCanada": true
},

51
8 Tick History Reports

"UseUserPreferencesForValidationOptions": false
},
"Condition": {
"IssuerAssetClassType": "Equities",
"ExcludeWarrants": true,
"StartDate": "2015-01-01T00:00:00.000-05:00",
"FixedIncomeRatingSources": "Fitch",
"UseRelativeAnalytics": true
} } }

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
[Link]",
"Contents": [],
"Notes": [
"Extraction Services Version 10.7.35695 (b1e94346bd15), Built Oct 7 2021 16:23:43\r\nUser
has overridden estimates broker entitlements.\r\nProcessing started at 10/20/2021
15:18:13.\r\nUser ID: 9007660\r\nExtraction ID: 234475815\r\nSchedule: _OnD_0x057579a4e94b2f86
(ID = 0x057579a53b2b2f86)\r\nInput List (1 items): _OnD_0x057579a4e94b2f86 (ID =
057579a4fdbb2f86) Created: 10/20/2021 15:18:05 Last Modified: 10/20/2021 15:18:06\r\nSchedule
Time: 10/20/2021 15:18:06\r\nReport Template (28 fields): _OnD_0x057579a4e94b2f86 (ID =
0x057579a4ea3b2f86) Created: 10/20/2021 15:18:05 Last Modified: 10/20/2021 15:18:05\r\n1
Instrument suppressed due to rating date not on or after 01/01/2015.\r\nProcessing completed
successfully at 10/20/2021 15:18:13, taking 0.262 Secs.\r\nExtraction finished at 10/20/2021
19:18:13 UTC, with servers: x11n04, QSHA02 (0.0 secs), QSHC09 (0.0 secs)\r\nNo usage to report
-- 1 Instrument in the input list had no reported data.\r\n" ] }

The ‘HTTP/1.1 202 Accepted’ status is returned with Job ID 0x05709cc5aadc3156. The 202 Accepted status
indicates that the job is being processed asynchronously, and the report will be available when the job completes.

Historical Reference
This template retrieves historical reference data for a specified date range, going back to 1996 where available.

Historical Reference Fields


Collect a list of content fields specific to Historical Reference.

Request
GET [Link]
(ReportTemplateType=[Link]'Histo
ricalReference')
Content-Type: application/json
Prefer: respond-async

Response
HTTP/1.1 200 OK
{ "@[Link]":
"[Link]
"value": [
{
"Code": "[Link] Category",
"Name": "Asset Category",
"Description": "Refinitiv security classification type.",
"FormatType": "Text",
"FieldGroup": " "},
{
"Code": "[Link] Code",
"Name": "Australia Code",
"Description": "Code for the Australian Stock Exchange",
"FormatType": "Text",
"FieldGroup": " "},
{
"Code": "[Link] Average Daily Turnover",
"Name": "CESR Average Daily Turnover",
"Description": "Average daily turnover of the security as supplied by CESR",
"FormatType": "Number",
"FieldGroup": " "},

52
8 Tick History Reports

{
"Code": "[Link] Average Daily Turnover Currency Code",
"Name": "CESR Average Daily Turnover Currency Code",
"Description": "Code indicating the currency of the security's average daily turnover as
supplied by CESR",
"FormatType": "Text",
"FieldGroup": " "},
{
"Code": "[Link] Average Value of Orders Executed",
"Name": "CESR Average Value of Orders Executed",
"Description": "Average value of the transaction as provided by CESR",
"FormatType": "Number",
"FieldGroup": " "
}, ] }

Submit Report Request


This example shows how to request the Historical Reference report in file format using ExtractWithNotes. This
report supports both ExtractWithNotes and ExtractRaw.

Request
POST [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json; odata=minimalmetadata
Prefer: respond-async
{
"ExtractionRequest": {
"@[Link]":
"#[Link]",
"ContentFieldNames": [
"Ticker",
"Trading Status",
"Security Description",
"Company Name",
"Exchange Code",
"RIC",
"Issue PermID",
"CFI Code"
],
"IdentifierList": {
"@[Link]":
"#[Link]",
"InstrumentIdentifiers": [
{
"Identifier": "BA.N",
"IdentifierType": "Ric"
},
{
"Identifier": "CAT.N",
"IdentifierType": "Ric"
},
{
"Identifier": "IBM.N",
"IdentifierType": "Ric"
}
],
},
"Condition": {
"StartDate": "2015-01-01T00:00:00.000-05:00",
"EndDate": "2021-01-01T00:00:00.000-05:00"
}
}
}

Response
HTTP/1.1 202 Accepted
Status: InProgress
Progress: 1
Preference-Applied: respond-async
Location:
[Link]
tionId='0x059e0d3be7eb5871')

53
8 Tick History Reports

The request returns a 202 Accepted status, indicating that it is being processed asynchronously. It also returns
the location of the report job (highlighted above). You will issue a GET against this location to poll the report to
determine when it has completed.

54
9 Stored & Scheduled Workflow

9 Stored & Scheduled Workflow


This example demonstrates a request of quote and trade data for RIC IBM.N using the stored & scheduled
reporting workflow. There are seven steps involved for this task and we will step through each and highlight the
parameters relevant to accomplish the task. Certain steps require an identifier from the previous step to proceed.
These conditions will be noted and highlighted.

Chapter 10 Administration describes how to manage and maintain the lists, report templates, and schedules that
you create in this chapter.

Step 1 – Instrument List – Create a New List


Create an Instrument List to capture one or more instrument identifiers for the purposes of reporting. Provide a
friendly name for the instrument list like “Sample Instrument List”.

Request
POST [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async
{
"@[Link]": "#[Link]",
"Name": "Sample Instrument List"
}

Response
HTTP/1.1 201 Created
Location: [Link]
{
"@[Link]":
"[Link]
"ListId": "0x0538339affe40856",
"Name": "Sample Instrument List",
"Count": 0,
"Created": "0001-01-01T00:00:00.000Z",
"Modified": "0001-01-01T00:00:00.000Z"
}

“Sample Instrument List” has been created with ListId 0x0538339affe40856 which will be used later to build your
search. It currently contains no instruments and cannot be used for search until at least one instrument is added.

Step 2 – Instrument List - Add instrument(s)


The instrument IBM.N will be added to the instrument list, Sample Instrument List, per ListId
0x0538339affe40856.

Request
POST [Link]
0x0538339affe40856')/[Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async
{
"Identifiers": [
{
"@[Link]": "#[Link]",
"Identifier": "IBM.N",
"IdentifierType": "Ric"
}

55
9 Stored & Scheduled Workflow

],
"KeepDuplicates": true
}

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
[Link]",
"ValidationResult": {
"ValidInstrumentCount": 1,
"OpenAccessSegments": [
],
"StandardSegments": [
{
"Code": "E",
"Description": "Equity",
"Count": 1
}
],
"ValidationDuplicates": [
],
"Messages": [
]
},
"AppendResult": {
"AppendedInstrumentCount": 1,
"AppendDuplicates": [
]
}
}

The ValidationResult and AppendResult values will show the number of RICs successfully processed through
their respective operations.

Step 3 - Report Template – Create Report Profile


Select a report template, then choose the fields of interest to use for reporting. Viewing the list of fields available
in a report template is explained later in this document. This example uses four quote fields taken from the Time
and Sales report template (TickHistoryTimeAndSalesReportTemplate).

Request
POST [Link]
eportTemplates
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async
{
"@[Link]":
"#[Link]",
"ShowColumnHeaders": false,
"Name": "sample-TAS",
"Headers": [
],
"Trailers": [
],
"ContentFields": [
{
"FieldName": "Quote - Ask Price",
"Format": null
},
{
"FieldName": "Quote - Ask Size",
"Format": null
},
{
"FieldName": "Quote - Ask Yield",
"Format": null
},
{
"FieldName": "Quote - Bid Price",
"Format": null

56
9 Stored & Scheduled Workflow

}
],
"Condition": {
"MessageTimeStampIn": "GmtUtc",
"ApplyCorrectionsAndCancellations": false,
"ReportDateRangeType": "Range",
"QueryStartDate": "2015-12-01T00:00:00.000-06:00",
"QueryEndDate": "2015-12-04T23:59:59.000-06:00"
}
}
The request will create a Tick History Time and Sales report template with four fields.

Response
HTTP/1.1 201 Created
Location:
[Link]
Templates('')
{
"@[Link]":
"[Link]
emplates/$entity",
"ReportTemplateId": "0x05414d1fc85e2e3f",
"ShowColumnHeaders": false,
"CompressionType": "None",
"CreateDate": "2021-05-11T21:55:58.853Z",
"LastChangedDate": "2021-05-11T21:55:58.853Z",
"Name": "sample-TAS",
"OutputFormat": "CommaSeparatedValues",
"ReportFieldCount": 4,
"Delimiter": "None",
"DeliveryType": "None",
"TemplateTypeCode": "THT",
"Headers": [ ],
"Trailers": [ ],
"ContentFields": [ {
"FieldName": "Quote - Ask Price",
"Justification": "Center",
"WidthStyle": "VariableWidth",
"Format": {
"@[Link]":
"#[Link]",
"DecimalPlaces": 9,
"DecimalSeparator": "Period",
"IntegerPlaces": 18,
"UseLeadingZero": false,
"NegativeSignPosition": "Before",
"ThousandSeparator": "Comma",
"UseThousandSeparator": true,
"UseTrailingZero": false }
}, {
"FieldName": "Quote - Ask Size",
"Justification": "Center",
"WidthStyle": "VariableWidth",
"Format": {
"@[Link]":
"#[Link]",
"DecimalPlaces": 9,
"DecimalSeparator": "Period",
"IntegerPlaces": 18,
"UseLeadingZero": false,
"NegativeSignPosition": "Before",
"ThousandSeparator": "Comma",
"UseThousandSeparator": true,
"UseTrailingZero": false }
}, {
"FieldName": "Quote - Ask Yield",
"Justification": "Center",
"WidthStyle": "VariableWidth",
"Format": {
"@[Link]":
"#[Link]",
"DecimalPlaces": 9,
"DecimalSeparator": "Period",
"IntegerPlaces": 18,
"UseLeadingZero": false,
"NegativeSignPosition": "Before",
"ThousandSeparator": "Comma",
"UseThousandSeparator": true,
"UseTrailingZero": false }

57
9 Stored & Scheduled Workflow

}, {
"FieldName": "Quote - Bid Price",
"Justification": "Center",
"WidthStyle": "VariableWidth",
"Format": {
"@[Link]":
"#[Link]",
"DecimalPlaces": 9,
"DecimalSeparator": "Period",
"IntegerPlaces": 18,
"UseLeadingZero": false,
"NegativeSignPosition": "Before",
"ThousandSeparator": "Comma",
"UseThousandSeparator": true,
"UseTrailingZero": false }
} ],
"Condition": {
"SortBy": "SingleByRic",
"MessageTimeStampIn": "GmtUtc",
"ApplyCorrectionsAndCancellations": false,
"ReportDateRangeType": "Range",
"QueryStartDate": "2015-12-01T00:00:00.000Z",
"QueryEndDate": "2015-12-04T23:59:59.000Z",
"Preview": "None",
"ExtractBy": "Ric" } }

The Response returns a new report template id 0x05414d1fc85e2e3f and a list of associated fields.

Step 4 – Submit Report Request


This example shows how to schedule a report extraction with the ExtractionDateTime (2021-04-13T10:40:05.846-
12:00) with instrument ListId 0x05383479a7640856 and ReportTemplateId 0x05414d1fc85e2e3f in your request.

Request
POST [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async
{
"Name": "sample-TAS",
"TimeZone": "Central Standard Time",
"Recurrence": {
"@[Link]": "#[Link]",
"ExtractionDateTime": "2021-04-13T10:40:05.846-12:00",
"IsImmediate": true
},
"Trigger": {
"@[Link]": "#[Link]",
"LimitReportToTodaysData": true
},
"ListId": "0x05383479a7640856",
"ReportTemplateId": "0x05414d1fc85e2e3f"
}

Response
HTTP/1.1 201 Created
Location: [Link]
{
"@[Link]":
"[Link]
"ScheduleId": "0x0538347cae640856",
"Name": "sample-TAS",
"TimeZone": "Central Standard Time",
"Recurrence": {
"@[Link]": "#[Link]",
"ExtractionDateTime": "2021-04-13T10:40:05.846Z",
"IsImmediate": true
},
"Trigger": {
"@[Link]": "#[Link]",
"LimitReportToTodaysData": true
},
"UserId": 9001552,
"CreateDate": "2021-04-13T22:40:05.862Z",

58
9 Stored & Scheduled Workflow

"LastChangeDate": "2021-04-13T22:40:05.862Z",
"ListId": "0x05383479a7640856",
"ReportTemplateId": "0x05414d1fc85e2e3f"
}

The Report Request is submitted for immediate extraction with a ScheduleID of 0x0538347cae640856 created
for reference. Scheduling by date/time or triggers is optional.

Step 5 – Request Report Status


The report status may be polled by referencing the ScheduleId 0x0538347cae640856. Repeat this request until
the Status shows "Completed".

Request
GET [Link]
0856')/LastExtraction
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"ReportExtractionId": "300213029419",
"ScheduleId": "0x0538347cae640856",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-04-13T22:50:18.280Z",
"ScheduleName": "sample-TAS",
"IsTriggered": false,
"ExtractionStartUtc": "2021-04-13T22:50:20.000Z",
"ExtractionEndUtc": "2021-04-13T22:50:20.000Z"}

When completed, the ReportExtractionId 300213029419 is created. This ReportExtractionId will be used to
retrieve the list of files associated with the search results.

Step 6 – List Report Files


Request a list of files available under ReportExtractionId 300213029419.

Request
GET [Link]
029419')/Files
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"ExtractedFileId": "VjF8fDExODk1NTg3MQ",
"ReportExtractionId": "300213029419",
"ScheduleId": "0x0555f0aedd2b5871",
"FileType": "Full",
"ExtractedFileName": "[Link]",
"LastWriteTimeUtc": "2021-07-14T19:52:53.809Z",
"ContentsExists": true,
"Size": 122,
"ReceivedDateUtc": "2021-07-14T19:52:53.809Z"

59
9 Stored & Scheduled Workflow

},
{
"ExtractedFileId": "VjF8fDExODk1NTg3MA",
"ReportExtractionId": "300213029419",
"ScheduleId": "0x0555f0aedd2b5871",
"FileType": "Note",
"ExtractedFileName": "[Link]-
[Link]",
"LastWriteTimeUtc": "2021-07-14T19:52:53.814Z",
"ContentsExists": true,
"Size": 1706,
"ReceivedDateUtc": "2021-07-14T19:52:53.814Z"
}
]
}

The associated files identified are identified by the ExtractedFileId. You will refer to the "ExtractedFileId" to
request the download streams for each.

Step 7 - Download Report Files


Refer to the ExtractedFileId VjF8fDExODk1NTg3MQ to download your files.

You can download files faster by retrieving them directly from the Amazon Web Services (AWS) cloud in which
they are hosted, as shown below and as described in Downloading Files Faster via Direct Download From
Amazon Web Services.

Request
GET [Link]
Dk1NTg3MQ')/$value
Authorization: Token <your_auth_token_goes_here>
X-Direct-Download: true
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"ExtractedFileId": "VjF8fDExODk1NTg3MQ",
"ReportExtractionId": "300213029419",
"ScheduleId": "0x0555f0aedd2b5871",
"FileType": "Full",
"ExtractedFileName": "[Link]",
"LastWriteTimeUtc": "2021-07-14T19:52:53.809Z",
"ContentsExists": true,
"Size": 122,
"ReceivedDateUtc": "2021-07-14T19:52:53.809Z"
},
{

Repeat the request the second file ExtractedFileId : ‘VjF8fDExODk1NTg3MA’.

60
10 Administration

10 Administration
This chapter describes API functions for managing and maintaining of elements of the stored & scheduled
workflow:

– Instrument lists
– Report templates
– Schedules
– Report retrieval

Instrument Lists
Instrument selection is the basis for all reporting. Instrument lists provide a way to group instrument identifiers
with some commonality for use with reporting. While Instrument Lists are mandatory for reporting on the product
website, they are not for reporting through API. The return on time invested in creating these lists comes when
reporting is required on a more frequent basis. For clients who solely rely on the web portal, managing a large
number of instruments though the Instrument list becomes a very practical method of work.

Lists can be maintained through individually adding and removing instruments or by replacing the entire list. The
ability to import and export lists makes this a practical alternative to specifying all instruments in every report
request.

This section will describe how instrument lists can be managed and how to create, edit and delete lists. Within the
lists, you will see how to add and remove instruments and to do the same in bulk through import and export
functions on the API.

Create an Instrument List


Add a new instrument list to capture a grouping of instrument identifiers for reporting. The friendly name Sample
Instrument List Name will be used.

Request
POST [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async
{
"@[Link]": "#[Link]",
"Name": "Sample Instrument List Name" }

Response
HTTP/1.1 201 Created
Location: [Link]
{
"@[Link]":
"[Link]
"ListId": "0x05586cf82ab59cb1",
"Name": "Sample Instrument List Name",
"Count": 0,
"Created": "2021-07-22T18:12:46.508Z",
"Modified": "2021-07-22T18:12:46.508Z"}

The ListId is the unique Instrument list identifier. Use ListId 0x05586cf82ab59cb1 in future API calls to reference
this specific Instrument list.

61
10 Administration

View All Instrument Lists


You may list all available Instrument Lists to show the name, number of instrument identifiers within and when it
was created and last edited. The example shows how to conduct this look up for all instrument lists available
under this User Id.

Request
GET [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{"@[Link]":
"[Link]
"value": [
{
"ListId": "0x056079ae842c24e5",
"Name": "Currencies",
"Count": 18,
"Created": "2021-08-16T13:26:19.986Z",
"Modified": "2021-08-16T13:48:03.686Z"
},
{
"ListId": "0x0560795be1dc3156",
"Name": "Equities",
"Count": 18,
"Created": "2021-08-16T13:20:41.500Z",
"Modified": "2021-08-16T13:54:19.133Z"
},
{
"ListId": "0x056079d4f6dc24e5",
"Name": "Historical",
"Count": 9,
"Created": "2021-08-16T13:28:57.453Z",
"Modified": "2021-08-16T13:37:48.886Z"
},
{
"ListId": "0x05586cf82ab59cb1",
"Name": "Sample Instrument List Name",
"Count": 0,
"Created": "2021-07-22T18:12:46.508Z",
"Modified": "2021-07-22T18:12:46.508Z"
}
]
}

The full list of available instrument lists is provided, each with a unique ListId (e.g. 0x056079ae842c24e5). The
ListId is the reference used in your API calls for that specific List. To look into the contents of an Instrument list
requires a separate API function with the appropriate ListId.

Note: Currencies, Equities and Historical are friendly names used to identify the instrument lists. These need
not refer to an asset type and may refer to a report requestor name, type of report or anything that would make
supporting the workflow easier.

View an Instrument List by ListId


You may view a single Instrument Lists per their ListId which will return the list name, number of instrument
identifiers within and when it was created and last edited. The example shows how to conduct this operation
using the ListId ‘0x056079ae842c24e5’.

Request
GET [Link]
ae842c24e5')
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

62
10 Administration

Response
HTTP/1.1 200 OK {
"@[Link]":
"[Link]
"ListId": "0x056079ae842c24e5",
"Name": "Currencies",
"Count": 18,
"Created": "2021-08-16T13:26:19.986Z",
"Modified": "2021-08-16T13:48:03.686Z"
}

View an Instrument List by Name


Instrument Lists may be retrieved by their friendly name to return the number of instrument identifiers within and
when it was created and last edited. The example shows how to conduct this look up operation using the
Instrument List Name ’GetByName’.

Request
GET [Link]
istName='Sample Instrument List Name')
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK {
"@[Link]":
"[Link]
"ListId": "0x05586cf82ab59cb1",
"Name": "Sample Instrument List Name",
"Count": 0,
"Created": "2021-08-16T13:20:41.500Z",
"Modified": "2021-08-16T13:54:19.133Z"
}

Note: The Instrument List above shows a newly created instrument list which is empty. If there were instruments
within, the “Count” would reflect the number of instruments contained within.

Rename an Instrument List


An instrument list may have the friendly name relabeled. The example shows how to re-label an instrument list
from ”Sample Instrument List Name” to “Options” by referring to its ListID ‘0x05586cf82ab59cb1’.

Request
PUT [Link]
f82ab59cb1’)
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async
{
"@[Link]": "#[Link]",
"ListId": "0x05586cf82ab59cb1",
"Name": "Options"
}

Response

HTTP/1.1 204 NoContent

The HTTP response will only acknowledge the PUT request. The change can be confirmed by simply:

– Re-viewing the individual InstrumentList by List ID.


– Request to view all InstrumentLists.

63
10 Administration

Rename Confirmation
Retrieve the instrument list by the new name ’Options’.

Request
GET [Link]
istName=’Options’)
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"ListId": "0x05586cf82ab59cb1",
"Name": "Options",
"Count": 0,
"Created": "2021-07-22T18:12:46.508Z",
"Modified": "2021-09-30T08:18:03.538Z"

Delete an Instrument List


An instrument list may be removed when no longer needed. Removing the list also purges the contents within.
These purged instruments will not be available for use unless they are added to another instrument list. This
example demonstrates a deletion upon the Instrument List with ListId'0x05586cec01e59cb1'.

Request
DELETE [Link]
86cec01e59cb1’)
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response

HTTP/1.1 204 NoContent

The response will only provide an HTTP confirmation to acknowledge the DELETE request. To confirm the
change, you may either request to:

– Re-view the individual InstrumentList by List ID


– Request to view all InstrumentLists. The deleted list will no longer appear.

Delete Confirmation
Retrieve the instrument list by ListId ’0x05586cec01e59cb1’.

Request
GET [Link]
ec01e59cb1’)
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

64
10 Administration

Response
HTTP/1.1 404 Not Found
{
"error": {
"message": "InstrumentList of id '0x05586cec01e59cb1' not found."
}
}

View Instrument List Contents


Instrument lists need to be maintained for efficient use. Here are a set of functions to maintain the items within
these lists.

This example demonstrates how to view the items of an instrument list per the ListId 0x056079ae842c24e5.

Request
GET [Link]
(‘0x056079d4f6dc24e5’)/[Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"ListId": "0x056079d4f6dc24e5",
"Identifier": "[Link]",
"IdentifierType": "Ric",
"Source": "NSM",
"UserDefinedIdentifier": "",
"UserDefinedIdentifier2": "",
"UserDefinedIdentifier3": "",
"Order": 1,
"Description": "APPLE ORD",
"InstrumentListItemKey": "VjF8MHgwNTYwNzlkNGY2ZGMyNGU1fDE",
"InstrumentKey":
"VjF8MHgwMDAzZGQwMDEzN2U2NGQ3fDB4MDAwM2RjMDAzOGQ2OTZhN3xOU018RVFRVXxFUVRZfE9EU0h8RXx8QUFQTC5PU
XwxMzAz"
},
{
"ListId": "0x056079d4f6dc24e5",
"Identifier": "BA.N",
"IdentifierType": "Ric",
"Source": "NYS",
"UserDefinedIdentifier": "",
"UserDefinedIdentifier2": "",
"UserDefinedIdentifier3": "",
"Order": 2,
"Description": "BOEING ORD",
"InstrumentListItemKey": "VjF8MHgwNTYwNzlkNGY2ZGMyNGU1fDI",
"InstrumentKey":
"VjF8MHgwMDAzZGQwMDEzN2ViYTA5fDB4MDAwM2RjMDA0OWY1MTI3MXxOWVN8RVFRVXxFUVRZfE9EU0h8RXx8QkEuTnwwM
Dc3"
},
{
"ListId": "0x056079d4f6dc24e5",
"Identifier": "[Link]",
"IdentifierType": "Ric",
"Source": "NSM",
"UserDefinedIdentifier": "",
"UserDefinedIdentifier2": "",
"UserDefinedIdentifier3": "",
"Order": 3,
"Description": "CISCO SYSTEMS ORD",
"InstrumentListItemKey": "VjF8MHgwNTYwNzlkNGY2ZGMyNGU1fDM",
"InstrumentKey":
"VjF8MHgwMDAzZGQwMDEzNWZiMjIwfDB4MDAwM2RjMDAzOGQ5NWM2MnxOU018RVFRVXxFUVRZfE9EU0h8RXx8Q1NDTy5PU
XwxMzAz"
},
{

65
10 Administration

"ListId": "0x056079d4f6dc24e5",
"Identifier": "V.N",
"IdentifierType": "Ric",
"Source": "NYS",
"UserDefinedIdentifier": "",
"UserDefinedIdentifier2": "",
"UserDefinedIdentifier3": "",
"Order": 5,
"Description": "VISA CL A ORD",
"InstrumentListItemKey": "VjF8MHgwNTYwNzlkNGY2ZGMyNGU1fDU",
"InstrumentKey":
"VjF8MHgwMDAzZjgwMDllYThiYzcxfDB4MDAwM2Y4MDA5ZWE4YmQ3MHxOWVN8RVFRVXxFUVRZfE9EU0h8RXx8Vi5OfDAwN
zc"
},
{
"ListId": "0x056079d4f6dc24e5",
"Identifier": "NKE.N",
"IdentifierType": "Ric",
"Source": "NYS",
"UserDefinedIdentifier": "",
"UserDefinedIdentifier2": "",
"UserDefinedIdentifier3": "",
"Order": 6,
"Description": "NIKE CL B ORD",
"InstrumentListItemKey": "VjF8MHgwNTYwNzlkNGY2ZGMyNGU1fDY",
"InstrumentKey":
"VjF8MHgwMDAzZGQwMDE0ZmI0YTdifDB4MDAwM2RjMDA0YTA4ZmE2N3xOWVN8RVFRVXxFUVRZfE9EU0h8RXx8TktFLk58M
DA3Nw"
},
{
"ListId": "0x056079d4f6dc24e5",
"Identifier": "[Link]",
"IdentifierType": "Ric",
"Source": "NSM",
"UserDefinedIdentifier": "",
"UserDefinedIdentifier2": "",
"UserDefinedIdentifier3": "",
"Order": 7,
"Description": "INTEL ORD",
"InstrumentListItemKey": "VjF8MHgwNTYwNzlkNGY2ZGMyNGU1fDc",
"InstrumentKey":
"VjF8MHgwMDAzZGQwMDEzNWZiNTI3fDB4MDAwM2RjMDAzOGRjN2I0MHxOU018RVFRVXxFUVRZfE9EU0h8RXx8SU5UQy5PU
XwxMzAz"
},
{
"ListId": "0x056079d4f6dc24e5",
"Identifier": "DD.N",
"IdentifierType": "Ric",
"Source": "NYS",
"UserDefinedIdentifier": "",
"UserDefinedIdentifier2": "",
"UserDefinedIdentifier3": "",
"Order": 8,
"Description": "E I DU PONT DE NEMOURS ORD",
"InstrumentListItemKey": "VjF8MHgwNTYwNzlkNGY2ZGMyNGU1fDg",
"InstrumentKey":
"VjF8MHgwMDAzZGQwMDEzNzljNTcxfDB4MDAwM2RjMDA0OWZhZjY5YXxOWVN8RVFRVXxFUVRZfE9EU0h8RXx8REQuTnwwM
Dc3"
},
{
"ListId": "0x056079d4f6dc24e5",
"Identifier": "DIS.N",
"IdentifierType": "Ric",
"Source": "NYS",
"UserDefinedIdentifier": "",
"UserDefinedIdentifier2": "",
"UserDefinedIdentifier3": "",
"Order": 9,
"Description": "WALT DISNEY ORD",
"InstrumentListItemKey": "VjF8MHgwNTYwNzlkNGY2ZGMyNGU1fDk",
"InstrumentKey":
"VjF8MHgwMDAzZGQwMDEzNzljNDcwfDB4MDAwM2RjMDA0OWZiNDAyZHxOWVN8RVFRVXxFUVRZfE9EU0h8RXx8RElTLk58M
DA3Nw"
} ] }

InstrumentListItemKey is the unique instrument identifier within that instrument list. InstrumentKey is the
unique identifier for the instrument across the platform.

66
10 Administration

Add an Instrument
Single and multiple Instruments may be added to an InstrumentList by providing the Identifier code and
IdentifierType (e.g. RIC, ISIN, CUSIP, SEDOL). This example shows how to add the RIC "IBM.N" to the
instrument list per ListId 0x055cee55cffe2e3f.

Request
POST [Link]
e55cffe2e3f')/[Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async
{
"Identifiers": [
{
"Identifier": "IBM.N",
"IdentifierType": "Ric"
}
],
"KeepDuplicates": false
}

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
[Link]",
"ValidationResult": {
"ValidInstrumentCount": 1,
"OpenAccessSegments": [
],
"StandardSegments": [
{
"Code": "E",
"Description": "Equity",
"Count": 1
}
],
"ValidationDuplicates": [
],
"Messages": [
]
},
"AppendResult": {
"AppendedInstrumentCount": 1,
"AppendDuplicates": [
]
}
}

Note: Behind the scenes, each instrument amendment request validates each instrument and check for
duplicates within the same request. This validation ensures that the RICs applied exist on the platform for use.

Confirm Addition
This appended instrument can be confirmed by viewing the entire instrument List

Remove an Instrument
When an instrument of a list is no longer needed, it may be removed individually by referring to the
InstrumentListItemKey in a deletion request. The InstrumentListItemKey value is an instrument’s unique identifier
across all instrument lists under a single user id. The example shows the removal of one by referring to the
InstrumentListItemKey 'VjF8MHgwNTYwZDM0MDE1YWEyZWFifDE'.

67
10 Administration

Request
DELETE [Link]
jF8MHgwNTYwZDM0MDE1YWEyZWFifDE')
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response

HTTP/1.1 204 NoContent

Confirm Removal
The instrument removal may be confirmed either by:

– Viewing the InstrumentList to see that the purged instrument is no longer listed.
– Retrieving the InstrumentList inventory to show the Instrument List hosting the instrument will have a Count
decrease by 1.

Report Templates
Templates are search profiles for content, each containing a unique set of ContentFields to capture information
for a specific asset type. The Tick History Report templates are fixed and cannot be modified. They can be
applied for reporting as- or be derived to create custom report templates to focus on specific reporting needs.

Note: Report templates and content fields have a unique relationship. Content fields co-mingled from various
report templates will not be processed. When data points from separate reports are needed, it is recommended
that reports be run independently.
Category Report Template API Name API Code
Tick History Time and Sales TickHistoryTimeAndSalesReportTemplate THT
Tick History Intraday Summaries TickHistoryIntradaySummariesReportTemplate THI
Tick History Market Depth TickHistoryMarketDepthReportTemplate THM
Tick History Raw TickHistoryRawReportTemplate THR
Corporate Actions Standard Events CorporateActionsStandardReportTemplate COR-STND
Reference Data Terms and Conditions TermsAndConditionsReportTemplate TNC
Reference Data Historical Reference HistoricalReferenceReportTemplate HRD
Pricing Data Elektron Timeseries (End of Day) ElektronTimeseriesReportTemplate ETS

View All Report Templates


Retrieve a list of Report Templates available under your User Id. Tick History offers eight report templates. This
example shows how to view the available report templates to use.

Request
GET [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"Code": "COR-IPOS",

68
10 Administration

"Name": "Corporate Actions IPO Events",


"Permissions": [
"CorporateActions"
]
},
{
"Code": "DCE",
"Name": "Estimates ADC",
"Permissions": [
"InternalUser"
]
},
{
"Code": "THR",
"Name": "Tick History Raw",
"Permissions": [
"TickHistoryRaw"
]
},
{
"Code": "THI",
"Name": "Tick History Intraday Summaries",
"Permissions": [
"TickHistoryIntradaySummaries"
]
},
{
"Code": "THT",
"Name": "Tick History Time and Sales",
"Permissions": [
"TickHistoryTimeAndSales"
]
},

{
"Code": "THM",
"Name": "Tick History Market Depth",
"Permissions": [
"TickHistoryMarketDepth"
]
}
]
}

The Code is the unique Report Template ID or Report Template Type Code.

Look up the Content Fields for a Report Template


Content Fields are the data elements that make up a report template. The content field labels are predefined and
fixed. This example shows how to retrieve a list of content fields associated to a report template by referring to a
Report Template Code Id 'THI'for Tick History Intraday Summaries.

Request
GET [Link]
ForTemplateCode(ReportTemplateCode='THI')
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
{
"@[Link]":
"[Link]
"value": [
{
"Code": "[Link] Ask",
"Name": "Close Ask",
"Description": "Last Ask price in the interval",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link] Bid",
"Name": "Close Bid",
"Description": "Last Bid price in the interval",

69
10 Administration

"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link]",
"Name": "High",
"Description": "Highest price over the interval",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link] Ask",
"Name": "High Ask",
"Description": "Highest reported Ask price over the interval",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link] Bid",
"Name": "High Bid",
"Description": "Highest reported Bid price over the interval",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link]",
"Name": "Last",
"Description": "Last price in the interval",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link]",
"Name": "Low",
"Description": "Lowest price over the interval",
"FormatType": "Number",
"FieldGroup": " "
},
"Code": "[Link] Ask",
"Name": "Low Ask",
"Description": "Lowest reported Ask price over the interval",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link] Bid",
"Name": "Low Bid",
"Description": "Lowest reported Bid price over the interval",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link]. Asks",
"Name": "No. Asks",
"Description": "Number of Asks reported during the Interval",
"FormatType": "Number",
"FieldGroup": " "},
{
"Code": "[Link]. Bids",
"Name": "No. Bids",
"Description": "Number of Bids reported during the Interval",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link]. Trades",
"Name": "No. Trades",
"Description": "Total number of trades over the interval",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link]",
"Name": "Open",
"Description": "Opening price in the interval",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link] Ask",
"Name": "Open Ask",
"Description": "Ask price prevalent at the beginning of the interval",

70
10 Administration

"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link] Bid",
"Name": "Open Bid",
"Description": "Bid price prevalent at the beginning of the interval",
"FormatType": "Number",
"FieldGroup": " "
},
{
"Code": "[Link] Data",
"Name": "Sample Data",
"Description": "Sample data. For internal use only.",
"FormatType": "Text",
"FieldGroup": " "
},
{
"Code": "[Link]",
"Name": "Volume",
"Description": "Last traded volume",
"FormatType": "Number",
"FieldGroup": " "
} ] }

Tick History Intraday Summaries Content Fields List


ContentFieldNames ContentFieldCode Format Type Description
Close Ask [Link] Ask Number Last ask Price in the interval
Close Bid [Link] Bid Number Last bid price in the interval
High [Link] Number Highest price over the interval
High Ask [Link] Ask Number Highest reported Ask price over the
interval
High Bid [Link] Bid Number Highest reported Bid price over the
interval
Last [Link] Number Last price in the interval
Low [Link] Number Lowest price over the interval
Low Ask [Link] Ask Number Lowest reported Ask price over the
interval
Low Bid [Link] Bid Number Lowest reported Bid price over the
interval
No. Asks [Link]. Asks Number Number of Asks reported during the
interval
No. Bids [Link]. Bids Number Number of Bids reported during the
interval
No. Trades [Link]. Trades Number Total number of trades over the
interval
Open [Link] Number Opening price in the interval
Open Ask [Link] Ask Number Ask price prevalent at the beginning of
the interval
Open Bid [Link] Bid Number Bid price prevalent at the beginning of
the interval
Sample Data [Link] Data Number Sample data. For internal use only.
Volume [Link] Number Last traded volume

71
10 Administration

Create a Custom Report


The Tick History report templates can be used as-is or derived to deliver only the desired information. A derived
report template means selecting only the fields of interest from a pre-defined Tick History report template and
saving it under a new friendly name for future use. This example shows a 4 field report template derived from the
Tick History Time and Sales report template.

Request
POST
[Link]
Templates
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async
{
"@[Link]":
"#[Link]",
"ShowColumnHeaders": false,
"Name": "example-cancel",
"Headers": [
],
"Trailers": [
],
"ContentFields": [
{
"FieldName": "Quote - Ask Price",
"Format": null
},
{
"FieldName": "Quote - Ask Size",
"Format": null
},
{
"FieldName": "Quote - Ask Yield",
"Format": null
},
{
"FieldName": "Quote - Bid Price",
"Format": null
}
],
"Condition": {
"MessageTimeStampIn": "GmtUtc",
"ApplyCorrectionsAndCancellations": false,
"ReportDateRangeType": "Range",
"QueryStartDate": "2015-12-01T00:00:00.000-06:00",
"QueryEndDate": "2015-12-04T23:59:59.000-06:00"
}
}

Response
HTTP/1.1 201 Created
X-Validation-Messages:
[{"Id":"TH_ShowColumnHeaders_DoesNotApply","ItemType":null,"ItemId":null,"PropertyName":null,"
Severity":2,"Message":"ShowColumnHeaders does not apply to this template type - property
ignored","DiagnosticMessage":null},{"Id":"TH_CompressionType_DoesNotApply","ItemType":null,"It
emId":null,"PropertyName":null,"Severity":2,"Message":"CompressionType does not apply to this
template type - property ignored","DiagnosticMessage":null}]
Location:
[Link]
Templates('')
{ "@[Link]":
"[Link]
emplates/$entity",
"ReportTemplateId": "0x05586fac0d559cb1",
"ShowColumnHeaders": true,
"CompressionType": "GZip",
"CreateDate": "2021-07-22T19:00:00.469Z",
"LastChangedDate": "2021-07-22T19:00:00.469Z",
"Name": "example-cancel",
"OutputFormat": "CommaSeparatedValues",
"ReportFieldCount": 4,
"Delimiter": "None",
"DeliveryType": "None",

72
10 Administration

"TemplateTypeCode": "THT",
"Headers": [
],
"Trailers": [
],
"ContentFields": [
{
"FieldName": "Quote - Ask Price",
"Justification": "Center",
"WidthStyle": "VariableWidth",
"Format": {
"@[Link]":
"#[Link]"
"DecimalPlaces": 9,
"DecimalSeparator": "Period",
"IntegerPlaces": 18,
"UseLeadingZero": false,
"NegativeSignPosition": "Before",
"ThousandSeparator": "Comma",
"UseThousandSeparator": true,
"UseTrailingZero": false
}
},
{
"FieldName": "Quote - Ask Size",
"Justification": "Center",
"WidthStyle": "VariableWidth",
"Format": {
"@[Link]":
"#[Link]",
"DecimalPlaces": 9,
"DecimalSeparator": "Period",
"IntegerPlaces": 18,
"UseLeadingZero": false,
"NegativeSignPosition": "Before",
"ThousandSeparator": "Comma",
"UseThousandSeparator": true,
"UseTrailingZero": false
}
},
{
"FieldName": "Quote - Ask Yield",
"Justification": "Center",
"WidthStyle": "VariableWidth",
"Format": {
"@[Link]":
"#[Link]",
"DecimalPlaces": 9,
"DecimalSeparator": "Period",
"IntegerPlaces": 18,
"UseLeadingZero": false,
"NegativeSignPosition": "Before",
"ThousandSeparator": "Comma",
"UseThousandSeparator": true,
"UseTrailingZero": false
}
},
{
"FieldName": "Quote - Bid Price",
"Justification": "Center",
"WidthStyle": "VariableWidth",
"Format": {
"@[Link]":
"#[Link]",
"DecimalPlaces": 9,
"DecimalSeparator": "Period",
"IntegerPlaces": 18,
"UseLeadingZero": false,
"NegativeSignPosition": "Before",
"ThousandSeparator": "Comma",
"UseThousandSeparator": true,
"UseTrailingZero": false
}
}
],
"Condition": {
"SortBy": "SingleByRic",
"MessageTimeStampIn": "GmtUtc",
"ApplyCorrectionsAndCancellations": false,
"ReportDateRangeType": "Range",

73
10 Administration

"QueryStartDate": "2015-12-01T00:00:00.000Z",
"QueryEndDate": "2015-12-04T23:59:59.000Z",
"Preview": "None",
"ExtractBy": "Ric"
}
}

Schedules
Scheduling determines when a report request will be processed (data extracted from the data sources). On-
demand reports are acted upon immediately while stored & scheduled reports may run by calendar day, week,
and day of the month or at an hour of a day in a reoccurring manner.

Create a Schedule
To create a schedule, InstrumentList and ReportTemplate must be pre-defined for this type of report extraction to
process. This example uses the following Tick History objects:
Object Value ID Type Value Contents
InstrumentList “example-eod” ListId 0x05586d507c959cb1 1 Ric
ReportTemplate “example-eod” ReportTemplateId 0x05586d5175459cb1 4 ContentFields

Request
POST [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async
{"Name": "example-eod",
"TimeZone": "Central Standard Time",
"Recurrence": {
"@[Link]": "#[Link]",
"ExtractionDateTime": "2021-07-23T00:00:00.000Z",
"IsImmediate": false
},
"Trigger": {
"@[Link]": "#[Link]",
"LimitReportToTodaysData": false,
"At": [
{
"Hour": 16,
"Minute": 0
} ] },
"ListId": "0x05586d507c959cb1",
"ReportTemplateId": "0x05586d5175459cb1"}

Response
HTTP/1.1 201 Created
Location: [Link]
{
"@[Link]":
"[Link]
"ScheduleId": "0x05586d51b1759cb1",
"Name": "example-eod",
"TimeZone": "Central Standard Time",
"Recurrence": {
"@[Link]": "#[Link]",
"ExtractionDateTime": "2021-07-23T00:00:00Z",
"IsImmediate": false
},
"Trigger": {
"@[Link]": "#[Link]",
"LimitReportToTodaysData": false,
"At": [
{
"Hour": 16,
"Minute": 0
}
]
},
"UserId": 9005463,

74
10 Administration

"CreateDate": "2021-07-22T18:18:53.208Z",
"LastChangeDate": "2021-07-22T18:18:53.208Z",
"ListId": "0x05586d507c959cb1",
"ReportTemplateId": "0x05586d5175459cb1"
}

This function generates a ScheduleId of 0x05586d51b1759cb1 which we will poll for job status.

View All Schedules


An inventory of previously requested schedules is available for review. This example shows how to retrieve a list
of reports that were scheduled under your User Id.

Request
GET [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"ScheduleId": "0x056ebcc052dc4b7f",
"Name": "bfa sept 22 one hour mp",
"OutputFileName": "bfa sept 22 one hour mp",
"TimeZone": "Eastern Standard Time",
"Recurrence": {
"@[Link]": "#[Link]",
"ExtractionDateTime": "2021-09-30T00:00:00Z",
"IsImmediate": true
},
"Trigger": {
"@[Link]": "#[Link]",
"LimitReportToTodaysData": false
},
"UserId": 9007660,
"CreateDate": "2021-09-29T20:53:25.103Z",
"LastChangeDate": "2021-09-29T20:53:25.103Z",
"ListId": "0x056ebc1cdfac3156",
"ReportTemplateId": "0x056ebcb0330c24e5"
}
]
}

This example shows one schedule defined. If multiple were available, all would be listed in the same request.

View a Schedule by ID
The parameters for a scheduled report request are available for review. The example shows how to retrieve the
details associated with ScheduleId 0x05630aa394ab5861.

Request
GET [Link]
5861')
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [

75
10 Administration

{
"ScheduleId": "0x05630aa394ab5861",
"Name": "example-eod",
"OutputFileName": "",
"TimeZone": "Central Standard Time",
"Recurrence": {
"@[Link]": "#[Link]",
"Days": [
"Monday",
"Friday"
]
},
"Trigger": {
"@[Link]": "#[Link]",
"LimitReportToTodaysData": false,
"At": [
{
"Hour": 16,
"Minute": 0
}
]
},
"UserId": 9007660,
"CreateDate": "2021-08-24T12:47:33.260Z",
"LastChangeDate": "2021-08-24T12:47:33.260Z",
"ListId": "0x05630aa0aecb5871",
"ReportTemplateId": "0x05630aa2860b5831"
}
]
}

View a Schedule by Name


Schedules can be retrieved by their friendly schedule name. This example shows how to retrieve the details
related to the schedule named'example-eod’.

Request
GET
[Link]
eod’)
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK {
"@[Link]":
"[Link]
"ScheduleId": "0x05586d48dec59cb1",
"Name": "example-eod",
"OutputFileName": "",
"TimeZone": "Central Standard Time",
"Recurrence": {
"@[Link]": "#[Link]",
"Days": [
"Monday",
"Friday"
]
},
"Trigger": {
"@[Link]": "#[Link]",
"LimitReportToTodaysData": false,
"At": [
{
"Hour": 16,
"Minute": 0
}
]
},
"UserId": 9005463,
"CreateDate": "2021-07-22T18:18:18.476Z",
"LastChangeDate": "2021-07-22T18:18:18.476Z",
"ListId": "0x05586d477d359cb1",
"ReportTemplateId": "0x05586d4884d59cb1"}

76
10 Administration

Cancel a Scheduled Extraction


A scheduled extraction may be cancelled while processing if it is no longer needed. This example shows a
cancellation to ScheduleID 0x05586d5b0ad59cb1.

Request
POST [Link]
59cb1')/[Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Confirm Cancellation
To confirm success, the extraction status on the same ScheduleId may be queried.

Request
POST [Link]
eduleId(ScheduleId='0x05586d5db6459cb1')
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"ReportExtractionId": "40000135456",
"ScheduleId": "0x05586d5db6459cb1",
"Status": "Pending",
"DetailedStatus": "Queued",
"ExtractionDateUtc": "2021-07-22T18:19:43.586Z",
"ScheduleName": "example-eod",
"IsTriggered": false
}
]
}

The status after cancellation will show that it is Pending.

Delete a Schedule
A scheduled report may be purged when no longer needed. This example shows the delete request of
ScheduleID '0x05586d5b0ad59cb1’.

Request
DELETE [Link]
ad59cb1')
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response

HTTP/1.1 204 No Content

77
10 Administration

Report Retrieval
Report extractions are the process by which a requested report is retrieved and compiled to the metadata and
content. Content may include report files, partial report files, maintenance and extraction notes.

Process Status
Extractions that are triggered by date-time or other criteria will remain in Pending state. Processing extractions
are those whose data is actively being extracted from the data sources. Completed reflect requests that have
files available.

Content Access
API Access to these data entities is limited to the user that requested it. Report extractions and extracted files will
reside on the platform for 45 days.

View all Report Submissions


View all available report extractions under your UserId.

Request
GET [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"ReportExtractionId": "6043221",
"ScheduleId": "0x05586a946ef59cb1",
"Status": "Pending",
"DetailedStatus": "Queued",
"ExtractionDateUtc": "2020-07-22T22:31:00.000Z",
"ScheduleName": "_OnD_0x05586a9353b59cb1",
"IsTriggered": false
},
{
"ReportExtractionId": "6043219",
"ScheduleId": "0x05586a93ea259cb1",
"Status": "Pending",
"DetailedStatus": "Queued",
"ExtractionDateUtc": "2020-07-22T22:30:00.000Z",
"ScheduleName": "_OnD_0x05586a92ba759cb1",
"IsTriggered": false
},
{
"ReportExtractionId": "6042955",
"ScheduleId": "0x055868203a759cb1",
"Status": "Pending",
"DetailedStatus": "Queued",
"ExtractionDateUtc": "2020-07-22T21:48:00.000Z",
"ScheduleName": "_OnD_0x0558681f05c59cb1",
"IsTriggered": false
}
],
}

The response will list all previously requested reports and the associate ReportExtractionId, ScheduleId, Status,
date of extraction which will be of most interest. Over time, the list of extractions may grow to be quite lengthy
having the extractions accumulate over time.

Either the ReportExtractionId or ScheduleId may be used to check on processing status.

78
10 Administration

View Report Extraction Status


Query the status of a report extraction by ReportExtractionId . This example refers to ReportExtractionId
234826895.

Request
GET [Link]
895’)
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"ReportExtractionId": "234826895",
"ScheduleId": "0x0576b8d1991b2f86",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-10-28T22:45:43.790Z",
"ScheduleName": "GetById",
"IsTriggered": false,
"ExtractionStartUtc": "2021-10-28T22:45:53.000Z",
"ExtractionEndUtc": "2021-10-28T22:45:53.000Z"
}

View the Status of the Latest Submission


Query the status of the last scheduled report by the Schedule ID.

This example shows a schedule look up by the Schedule ID ‘0x05586d6ac2259cb1’.

Request
GET [Link]
9cb1’)/LastExtraction
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"ReportExtractionId": "6043717",
"ScheduleId": "0x05586d6ac2259cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T18:20:39.510Z",
"ScheduleName": "example-eod",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T18:20:40.000Z",
"ExtractionEndUtc": "2021-07-22T18:20:40.000Z"
}

Continue polling until the status return as Completed with ReportExtractionId of 6043717.

79
10 Administration

View Scheduled Submissions by Date


This method of viewing scheduled extractions applies a date criterion which returns only the most recent activities
or to look up past activities for a specific time. The Start/End dates should capture the period the Extraction was
processed.

Request
GET [Link]
tedByDateRange(StartDate=2021-07-22T00:00:00.000Z,EndDate=2021-07-22T19:02:22.836Z)
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"ReportExtractionId": "6043769",
"ScheduleId": "0x05586f83db459cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T18:57:17.180Z",
"ScheduleName": "GetCompletedByDateRange",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T18:57:19.000Z",
"ExtractionEndUtc": "2021-07-22T18:57:20.000Z"
},
{
"ReportExtractionId": "6043728",
"ScheduleId": "0x05586d75fc759cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T18:21:24.996Z",
"ScheduleName": "example-eod",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T18:21:25.000Z",
"ExtractionEndUtc": "2021-07-22T18:21:26.000Z"
},
{
"ReportExtractionId": "6043717",
"ScheduleId": "0x05586d6ac2259cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T18:20:39.510Z",
"ScheduleName": "example-eod",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T18:20:40.000Z",
"ExtractionEndUtc": "2021-07-22T18:20:40.000Z"
},
{
"ReportExtractionId": "6043711",
"ScheduleId": "0x05586d5f45d59cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T18:19:52.203Z",
"ScheduleName": "example-eod",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T18:19:55.000Z",
"ExtractionEndUtc": "2021-07-22T18:20:03.000Z"
},
{
"ReportExtractionId": "40000135456",
"ScheduleId": "0x05586d5db6459cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T18:19:43.586Z",
"ScheduleName": "example-eod",
"IsTriggered": false
},
{
"ReportExtractionId": "6043695",
"ScheduleId": "0x05586d56eb359cb1",
"Status": "Completed",

80
10 Administration

"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T18:19:16.126Z",
"ScheduleName": "example-eod",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T18:19:17.000Z",
"ExtractionEndUtc": "2021-07-22T18:19:19.000Z"
},
{
"ReportExtractionId": "6043046",
"ScheduleId": "0x0558691eccb59cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T17:05:31.870Z",
"ScheduleName": "PartialFiles",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T17:05:33.000Z",
"ExtractionEndUtc": "2021-07-22T17:05:34.000Z"
},
{
"ReportExtractionId": "6043036",
"ScheduleId": "0x055868ecc9c59cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T17:02:08.840Z",
"ScheduleName": "example-eod",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T17:02:09.000Z",
"ExtractionEndUtc": "2021-07-22T17:02:09.000Z"
},
{
"ReportExtractionId": "6043025",
"ScheduleId": "0x055868e516259cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T17:01:37.340Z",
"ScheduleName": "example-eod",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T17:01:38.000Z",
"ExtractionEndUtc": "2021-07-22T17:01:39.000Z"
},
{
"ReportExtractionId": "6043019",
"ScheduleId": "0x055868de04959cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T17:01:08.256Z",
"ScheduleName": "example-eod",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T17:01:09.000Z",
"ExtractionEndUtc": "2021-07-22T17:01:09.000Z"
},
...
]
}

View Available Files


Retrieve a list of report filenames extracted.

Request
GET [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"ExtractedFileId": "VjF8fDI2MTU2NTE5Mg",
"ReportExtractionId": "234826895",
"ScheduleId": "0x0576b8d1991b2f86",

81
10 Administration

"FileType": "Full",
"ExtractedFileName": "_OnD_0x0576b8d02f5b2f86.csv",
"LastWriteTimeUtc": "2021-10-24T16:16:07.902Z",
"ContentsExists": true,
"Size": 657,
"ReceivedDateUtc": "2021-10-24T16:16:07.902Z"
},
{
"ExtractedFileId": "VjF8fDI2MTU2NTE5MQ",
"ReportExtractionId": "234826895",
"ScheduleId": "0x0576b8d1991b2f86",
"FileType": "Note",
"ExtractedFileName": "_OnD_0x0576b8d02f5b2f86.[Link]",
"LastWriteTimeUtc": "2021-10-24T16:16:07.905Z",
"ContentsExists": true,
"Size": 935,
"ReceivedDateUtc": "2021-10-24T16:16:07.905Z"
},
{
"ExtractedFileId": "VjF8fDI2MTU2NDc0Nw",
"ReportExtractionId": "234826671",
"ScheduleId": "0x0576b8bfa8db2f86",
"FileType": "Full",
"ExtractedFileName": "_OnD_0x0576b8bf10bb2f86.csv",
"LastWriteTimeUtc": "2021-10-24T16:14:53.946Z",
"ContentsExists": true,
"Size": 657,
"ReceivedDateUtc": "2021-10-24T16:14:53.946Z"
},
{
"ExtractedFileId": "VjF8fDI2MTU2NDc0Ng",
"ReportExtractionId": "234826671",
"ScheduleId": "0x0576b8bfa8db2f86",
"FileType": "Note",
"ExtractedFileName": "_OnD_0x0576b8bf10bb2f86.[Link]",
"LastWriteTimeUtc": "2021-10-24T16:14:53.949Z",
"ContentsExists": true,
"Size": 935,
"ReceivedDateUtc": "2021-10-24T16:14:53.949Z"
},
...{
}
]
}

View Available Files by Date Range


Retrieve a list of all extracted files between a specific date period. The only parameter that needs to be defined in
the URI is the StartDate and EndDate in ISO-8601 format.

Request
GET [Link]
tedByDateRange(StartDate=2021-07-22T00:00:00.000Z,EndDate=2021-07-22T19:02:22.836Z)
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"ReportExtractionId": "6043769",
"ScheduleId": "0x05586f83db459cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T18:57:17.180Z",
"ScheduleName": "GetCompletedByDateRange",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T18:57:19.000Z",
"ExtractionEndUtc": "2021-07-22T18:57:20.000Z"
},
{
"ReportExtractionId": "6043728",
"ScheduleId": "0x05586d75fc759cb1",
"Status": "Completed",

82
10 Administration

"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T18:21:24.996Z",
"ScheduleName": "example-eod",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T18:21:25.000Z",
"ExtractionEndUtc": "2021-07-22T18:21:26.000Z"
},
{
"ReportExtractionId": "6043717",
"ScheduleId": "0x05586d6ac2259cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T18:20:39.510Z",
"ScheduleName": "example-eod",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T18:20:40.000Z",
"ExtractionEndUtc": "2021-07-22T18:20:40.000Z"
},
{
"ReportExtractionId": "6043711",
"ScheduleId": "0x05586d5f45d59cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T18:19:52.203Z",
"ScheduleName": "example-eod",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T18:19:55.000Z",
"ExtractionEndUtc": "2021-07-22T18:20:03.000Z"
},
{
"ReportExtractionId": "40000135456",
"ScheduleId": "0x05586d5db6459cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T18:19:43.586Z",
"ScheduleName": "example-eod",
"IsTriggered": false
},
{
"ReportExtractionId": "6043695",
"ScheduleId": "0x05586d56eb359cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T18:19:16.126Z",
"ScheduleName": "example-eod",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T18:19:17.000Z",
"ExtractionEndUtc": "2021-07-22T18:19:19.000Z"
},
{
"ReportExtractionId": "6043436",
"ScheduleId": "0x05586be57ef59cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T17:54:03.993Z",
"ScheduleName": "_OnD_0x05586be44ac59cb1",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T17:54:08.000Z",
"ExtractionEndUtc": "2021-07-22T17:54:09.000Z"
},
{
"ReportExtractionId": "6043378",
"ScheduleId": "0x05586b3f02e59cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T17:42:42.056Z",
"ScheduleName": "_OnD_0x05586b3df4759cb1",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T17:42:51.000Z",
"ExtractionEndUtc": "2021-07-22T17:42:53.000Z"
},
{
"ReportExtractionId": "6043224",
"ScheduleId": "0x05586a9544959cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T17:31:06.813Z",
"ScheduleName": "_OnD_0x05586a93f1f59cb1",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T17:31:08.000Z",
"ExtractionEndUtc": "2021-07-22T17:31:08.000Z"
},

83
10 Administration

{
"ReportExtractionId": "6038669",
"ScheduleId": "0x05582f0868b59cb1",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-07-22T00:10:26.253Z",
"ScheduleName": "_OnD_0x05582f0642b59cb1",
"IsTriggered": false,
"ExtractionStartUtc": "2021-07-22T00:10:27.000Z",
"ExtractionEndUtc": "2021-07-22T00:10:28.000Z"
}
]
}

View Files Associated to a Report


List all completed extractions related to a report by ReportExtractionID.

Request
GET [Link]
5')/Files
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"ExtractedFileId": "VjF8fDI4NTQ4ODY",
"ReportExtractionId": "6043775",
"ScheduleId": "0x05586f969d459cb1",
"FileType": "Full",
"ExtractedFileName": "[Link]",
"LastWriteTimeUtc": "2021-07-22T18:58:34.605Z",
"ContentsExists": true,
"Size": 122,
"ReceivedDateUtc": "2021-07-22T18:58:34.605Z"
},
{
"ExtractedFileId": "VjF8fDI4NTQ4ODU",
"ReportExtractionId": "6043775",
"ScheduleId": "0x05586f969d459cb1",
"FileType": "Note",
"ExtractedFileName":
"[Link]",
"LastWriteTimeUtc": "2021-07-22T18:58:34.611Z",
"ContentsExists": true,
"Size": 1727,
"ReceivedDateUtc": "2021-07-22T18:58:34.611Z"
}
]
}

Download Report Files


This example demonstrates how to download the two files associated with the report request using the
ExtractedFileIds VjF8fDI4NTQ4ODY and VjF8fDI4NTQ4ODU.

Request File 1
GET [Link]
TQ4ODY’)/$value
Authorization: Token <your_auth_token_goes_here>
Prefer:respond-async

84
10 Administration

Response
HTTP/1.1 200 OK
Accept-Ranges: bytes
IBM.N,459200101,IBM,US4592001014,2005973,ORD,USD,152.61,10/28/2021
KO.N,191216100,KO,US1912161007,2206657,ORD,USD,42.23,10/28/2021

Request File 2
GET [Link]
TQ4ODU’)/$value
Authorization: Token <your_auth_token_goes_here>
Prefer:respond-async

Response
HTTP/1.1 200 OK
Accept-Ranges: bytes
Extraction Services Version 10.7.35743 (b74a502e64b0), Built Oct 17 2021 20:52:51
Holiday Rollover of Universal Close Price waived.
User has overridden estimates broker entitlements.
Processing started at 10/28/2021 21:09:09.
User ID: 9007660
Extraction ID: 235379233
Schedule: FetchAllFiles (ID = 0x057820e78aab2f96)
Input List (2 items): FetchAllFiles (ID = 057820e43a1b3026) Created: 10/28/2021 21:08:47 Last
Modified: 10/28/2021 21:08:52
Schedule Time: 10/28/2021 21:09:01
Report Template (9 fields): FetchAllFiles (ID = 0x057820e6f53b3026) Created: 10/28/2021
21:08:59 Last Modified: 10/28/2021 21:08:59
Processing completed successfully at 10/28/2021 21:09:09, taking 0.436 Secs.
Extraction finished at 10/29/2021 01:09:09 UTC, with servers: x03t02, QSHA02 (0.1 secs),
QSHC10 (0.1 secs)
Usage Summary for User 9007660, Client 65510, Template Type EOD Pricing
Base Usage
Instrument Instrument Terms Price
Count Type Subtype Source Source
------- ----------------------------------- ---------------------------- -------------- ------
----------------------------------
2 Equities N/A N/A
-------
2 Total instruments charged.
0 Instruments with no reported data.
=======
2 Instruments in the input list.

Clean Up
After the files are retrieved, the objects used to generate the report can be purged if they are no longer of use.
These objects consist of the Schedule, ReportTemplate and Instrument Lists. Identify the ExtractionID associated
to the last ScheduleID.

Request
GET [Link]
duleId(ScheduleId='0x05782193560b2f96')
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"ReportExtractionId": "235379834",
"ScheduleId": "0x05782193560b2f96",
"Status": "Completed",
"DetailedStatus": "Done",
"ExtractionDateUtc": "2021-10-29T01:20:45.270Z",
"ScheduleName": "Cleanup",

85
10 Administration

"IsTriggered": false,
"ExtractionStartUtc": "2021-10-29T01:20:53.000Z",
"ExtractionEndUtc": "2021-10-29T01:20:53.000Z"
} ] }

The ReportExtractionId is the link between all the associated files.

File Look Up
Look up the files associated with the Report extraction by the ReportExtractionId.

Request
GET [Link]
834')/Files
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
{
"@[Link]":
"[Link]
"value": [
{
"ExtractedFileId": "VjF8fDI2MjM4MTI3OQ",
"ReportExtractionId": "235379834",
"ScheduleId": "0x05782193560b2f96",
"FileType": "Full",
"ExtractedFileName": "[Link]",
"LastWriteTimeUtc": "2021-10-29T01:20:53.524Z",
"ContentsExists": true,
"Size": 133,
"ReceivedDateUtc": "2021-10-29T01:20:53.524Z"
},
{
"ExtractedFileId": "VjF8fDI2MjM4MTI3OA",
"ReportExtractionId": "235379834",
"ScheduleId": "0x05782193560b2f96",
"FileType": "Note",
"ExtractedFileName":
"[Link]",
"LastWriteTimeUtc": "2021-10-29T01:20:53.527Z",
"ContentsExists": true,
"Size": 1562,
"ReceivedDateUtc": "2021-10-29T01:20:53.527Z"
}
]
}

86
11 Venue by Day Workflow

11 Venue by Day Workflow


These are the system generated Venue files that reflect market activity. This product relies on a subset of the
REST API functions as outlined.
Feature Description
Get All Subscriptions Retrieve a list of all subscriptions on DataScope Select.
Get all Packages Retrieve a list of all available packages (Venues and the corresponding
package ID).
Get all Packages by Subscription Retrieve a list of all available packages by subscription (Equity regions,
Institutional & Professional profiles).
Get my Packages* Retrieve a list of packages for which this user is permissioned.
Get my Package Deliveries by Package* Retrieve a list of files associated with the packages for which the user is
permissioned.
Get my Package Deliveries by Date Range* Retrieves a list of files associated with the package within a date
criterion.
Download my Package Deliveries* Retrieve a list of files associated per entitlement for download.
Paging Return a list of user package deliveries in 250 row portions.
Change Tracking Retrieve a list of user package deliveries in portions and continue where
left off.
*Appropriate for retrieving Venue by Day venues and files

87
11 Venue by Day Workflow

Content Access
Venue by Day content is limited by User ID. Venue files will reside on the platform for 30 days from the day of
publication.

Content Hierarchy
Venue by Day content is organized by Subscription → Packages → Deliveries.

The respective references are SubscriptionId → UserPackageId → PackageDeliveryId

Packages (Venues)
Deliveries (Venue Files)
[Link]
ADC - NASD Alternative Display PackageDeliveryId: 0x0576d52bdb7b2f86
Facility for NYSE/AMEX Issues [Link]
UserPackageId: 0x04f21a8d13459cb1 PackageDeliveryId: 0x0576d52bb4cb2f76
[Link]
PackageDeliveryId: 0x0576d52badfb2f76
[Link]
PackageDeliveryId: 0x0576d52b759b3026
[Link]
PackageDeliveryId: 0x0576d4520a2b2f86
[Link]
PackageDeliveryId: 0x0576d451913b3036
[Link]
PackageDeliveryId: 0x0576d4516c3b3036
[Link]
PackageDeliveryId: 0x0576d450dbeb2f86
[Link]
PackageDeliveryId: 0x0576d44dd25b3026
[Link]
Tick History PackageDeliveryId: 0x0576d44d83db2f86
[Link]
SubscriptionId: PackageDeliveryId: 0x0576d44d50ab3026
0x0400dc1d24a00cb4

CBT - Chicago Board of Trade Deliveries(Venue Files)


UserPackageId: 0x04f21a8d18559cb1

LSE - London Stock Exchange Deliveries(Venue Files)


UserPackageId: 0x04f21a8d23759cb1

MUN - Munich Stock Exchange Deliveries(Venue Files)


UserPackageId: 0x04f21a8d25959cb1

TYO - Tokyo Stock Exchange Deliveries(Venue Files)


UserPackageId: 0x04f21a8d2e759cb1

88
11 Venue by Day Workflow

View the Available Venue Files


This task requires two steps.

Step 1 - Retrieve Your List of Venues


Return a list of packages (venues) to collect their associated UserPackageIds.

Request
GET [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"UserPackageId": "0x04f21a8d2d759cb1",
"PackageId": "0x04f21a8d2d759cb1",
"PackageName": "TFF - Tokyo Financial Futures Exchange",
"SubscriptionId": "0x0400dc1d24a00cb4",
"SubscriptionName": "Tick History Venue by Day"
},
{
"UserPackageId": "0x04f21a8d2d859cb1",
"PackageId": "0x04f21a8d2d859cb1",
"PackageName": "TFX - Thailand Futures",
"SubscriptionId": "0x0400dc1d24a00cb4",
"SubscriptionName": "Tick History Venue by Day"
},
{
"UserPackageId": "0x04f21a8d2da59cb1",
"PackageId": "0x04f21a8d2da59cb1",
"PackageName": "THM - NASDAQ InterMarket",
"SubscriptionId": "0x0400dc1d24a00cb4",
"SubscriptionName": "Tick History Venue by Day"
},
{
"UserPackageId": "0x04f21a8d2db59cb1",
"PackageId": "0x04f21a8d2db59cb1",
"PackageName": "TIM - Taiwan Futures Exchange",
"SubscriptionId": "0x0400dc1d24a00cb4",
"SubscriptionName": "Tick History Venue by Day"
},
{
"UserPackageId": "0x04f21a8d27c59cb1",
"PackageId": "0x04f21a8d27c59cb1",
"PackageName": "OBB - NASD OTC Bulletin Board Market",
"SubscriptionId": "0x0400dc1d24a00cb4",
"SubscriptionName": "Tick History Venue by Day"
},
{
"UserPackageId": "0x04f21a8d27659cb1",
"PackageId": "0x04f21a8d27659cb1",
"PackageName": "NYQ - Consolidated Issue, listed by NYSE",
"SubscriptionId": "0x0400dc1d24a00cb4",
"SubscriptionName": "Tick History Venue by Day"
},
{
"UserPackageId": "0x04f21a8d27859cb1",
"PackageId": "0x04f21a8d27859cb1",
"PackageName": "NYS - New York Stock Exchange",
"SubscriptionId": "0x0400dc1d24a00cb4",
"SubscriptionName": "Tick History Venue by Day"
},
{
"UserPackageId": "0x04f21a8d27a59cb1",
"PackageId": "0x04f21a8d27a59cb1",

89
11 Venue by Day Workflow

"PackageName": "NZC - New Zealand Total - Prices, Indices, News",


"SubscriptionId": "0x0400dc1d24a00cb4",
"SubscriptionName": "Tick History Venue by Day"
},
{
"UserPackageId": "0x04f21a8d28b59cb1",
"PackageId": "0x04f21a8d28b59cb1",
"PackageName": "PAR - Paris Stock Exchange",
"SubscriptionId": "0x0400dc1d24a00cb4",
"SubscriptionName": "Tick History Venue by Day"
},
{
"UserPackageId": "0x04f21a8d28d59cb1",
"PackageId": "0x04f21a8d28d59cb1",
"PackageName": "PCQ - CONSOLIDATED ISSUE LISTED BY NYSE Arca",
"SubscriptionId": "0x0400dc1d24a00cb4",
"SubscriptionName": "Tick History Venue by Day"
},
{
"UserPackageId": "0x04f21a8d28059cb1",
"PackageId": "0x04f21a8d28059cb1",
"PackageName": "ONE - OneChicago Exchange",
"SubscriptionId": "0x0400dc1d24a00cb4",
"SubscriptionName": "Tick History Venue by Day"
},
{
"UserPackageId": "0x04f21a8d28259cb1",
"PackageId": "0x04f21a8d28259cb1",
"PackageName": "OPQ - Options Price Reporting Authority BBO",
"SubscriptionId": "0x0400dc1d24a00cb4",
"SubscriptionName": "Tick History Venue by Day"
},
{
"UserPackageId": "0x04f21a8d28459cb1",
"PackageId": "0x04f21a8d28459cb1",
"PackageName": "OSA - OSAKA EXCHANGE INC.",
"SubscriptionId": "0x0400dc1d24a00cb4",
"SubscriptionName": "Tick History Venue by Day"
},
{
"UserPackageId": "0x04f21a8d28559cb1",
"PackageId": "0x04f21a8d28559cb1",
"PackageName": "OSL - Oslo Stock Exchange",
"SubscriptionId": "0x0400dc1d24a00cb4",
"SubscriptionName": "Tick History Venue by Day"
},
...
{
"UserPackageId": "0x04f9cf0080c59cb1",
"PackageId": "0x04f9cf0080c59cb1",
"PackageName": "UAX - OJSC UKRAINE EXCHANGE",
"SubscriptionId": "0x0400dc1d24a00cb4",
"SubscriptionName": "Tick History Venue by Day"
}
]
}

Step 2 - Look Up the Associated Venue Files


Retrieve a list of files associated with a Venue using the UserPackageID 0x04f21a8d13459cb1.

Request
GET [Link]
ryGetUserPackageDeliveriesByPackageId(PackageId='0x04f21a8d13459cb1')
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{ "@[Link]":
"[Link]
"value": [
{
"PackageDeliveryId": "0x0569a825b7cc3156",

90
11 Venue by Day Workflow

"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-14T04:00:00.000Z",
"FileSizeBytes": 107460,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569a825ab1c3156",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-14T04:00:00.000Z",
"FileSizeBytes": 131717761,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569a7d3ec6c3156",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-14T04:00:00.000Z",
"FileSizeBytes": 100174,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569a7d3ec3c24e5",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-14T04:00:00.000Z",
"FileSizeBytes": 549025508,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x056984538f0c3156",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T15:37:40.846Z",
"FileSizeBytes": 104542,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x05698451460c3156",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T15:37:31.486Z",
"FileSizeBytes": 109419,
"Frequency": "Daily",
"ContentMd5": "" },
{
"PackageDeliveryId": "0x056984505c2c24e5",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T15:37:27.746Z",
"FileSizeBytes": 548847712,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569844f7bec24e5",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T15:37:24.156Z",
"FileSizeBytes": 132452905,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0568fdcce8bc24e5",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",

91
11 Venue by Day Workflow

"ReleaseDateTime": "2021-09-12T04:00:00.000Z",
"FileSizeBytes": 92528,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0568fdccdb1c24e5",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-12T04:00:00.000Z",
"FileSizeBytes": 15845,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0568ac621bbc24e5",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-11T04:00:00.000Z",
"FileSizeBytes": 16517,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x05604cde4fdc3156",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-08-16T04:00:00.000Z",
"FileSizeBytes": 113641435,
"Frequency": "Daily",
"ContentMd5": ""
}
]
}

Look Up the Available Venue Files within a Date Range.


This example shows how to retrieve a list of available files published between specific points in time for download.
This can be particularly useful to retrieve files that were previously missed. This task requires two steps.

Step 1 – View Data Feed Product Subscription on the system


Return a list of data feed products on the system to identify the Tick History ‘SubscriptionId’.

Request
GET [Link]
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"SubscriptionId": "0x0400dc1d24a00cb2",
"Name": "StreetEvents",
"Description": "StreetEvents is a one-stop corporate disclosure and brokerage event
solution that provides the relevant information you need, when you need it. StreetEvents
offers the largest available archive of global events and calendar information for the retail
and institutional markets.",
"RetentionDays": 0
},
{
"SubscriptionId": "0x0400dc1d24a00cb3",
"Name": "Insider",
"Description": " Insider data feeds provide data on equity transactions by individuals
and institutions classified as insiders in Asia, Canada, the UK and US markets.<br />Insiders

92
11 Venue by Day Workflow

may include an officer, director, person with a policy-making role in a company or a


beneficial owner of a company’s stock, who are required by their respective governments to
report stock transaction activity, direct or indirect holdings. Feeds are segmented by country
– US, Canada or by region – UK, Asia (Australia, China, Hong Kong, India, Singapore and
Taiwan).<br />A US Insider Trading Model and StarMine US Insider Trading Model are also
available.",
"RetentionDays": 0
},
{
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": " Venue by Day",
"Description": "Venue by Day enables clients to download a day’s complete trading data
on a venue. It is the simplest way of downloading data because:<br /><br /><ul><li>There is no
need to request data or specify particular instruments or fields of data.</li><li>Clients
simply select and download entire files for the venue(s) of interest.</li><li>The data is
always available at set times.</li><li>The data is always in the same format.</li></ul>",
"RetentionDays": 30
} ] }

Step 2 - Search for Venue Files within a Date Range Search


This example shows how to list the available Tick History Venue by Day Venue files by SubscriptionId
0x0400dc1d24a00cb4, FromDate 2021-09-12T14:03:49.300Z and ToDate 2021-09-13T14:03:49.300Z
parameters defined.

NOTE: Venue by Day files maintain a 30 day archive so the date range applied must be within this period.

Request
GET [Link]
UserPackageDeliveryGetUserPackageDeliveriesByDateRange(SubscriptionId='0x0400dc1d24a00cb4',Fro
mDate=2021-09-12T14:03:49.300Z,ToDate=2021-09-13T14:03:49.300Z)
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{ "@[Link]":
"[Link]
"value": [
{
"PackageDeliveryId": "0x0569515b2c1c24e5",
"UserPackageId": "0x04f21a8d26659cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T04:00:00.000Z",
"FileSizeBytes": 17334,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569515b2a2c24e5",
"UserPackageId": "0x04f21a8d25e59cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T04:00:00.000Z",
"FileSizeBytes": 18986,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569515b225c24e5",
"UserPackageId": "0x04f21a8d27659cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T04:00:00.000Z",
"FileSizeBytes": 79840,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569515b206c24e5",

93
11 Venue by Day Workflow

"UserPackageId": "0x04f21a8d30559cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T03:00:00.000Z",
"FileSizeBytes": 1155071,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569515b1b8c24e5",
"UserPackageId": "0x04f21a8d18359cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T04:00:00.000Z",
"FileSizeBytes": 6761,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569515b1b7c3156",
"UserPackageId": "0x04f21a8d26859cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T04:00:00.000Z",
"FileSizeBytes": 18835,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569515b198c3156",
"UserPackageId": "0x04f21a8d27059cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T04:00:00.000Z",
"FileSizeBytes": 38345,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569515b09fc24e5",
"UserPackageId": "0x04f21a8d30559cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T03:00:00.000Z",
"FileSizeBytes": 1483990,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569515b080c24e5",
"UserPackageId": "0x04f21a8d18359cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T04:00:00.000Z",
"FileSizeBytes": 12100,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569515b042c24e5",
"UserPackageId": "0x04f21a8d18359cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T04:00:00.000Z",
"FileSizeBytes": 6938,
"Frequency": "Daily",
"ContentMd5": ""
}
],
"@[Link]":
"[Link]
etUserPackageDeliveriesByDateRange(SubscriptionId='0x0400dc1d24a00cb4',FromDate=2021-09-
12T14:03:49.300Z,ToDate=2021-09-
13T14:03:49.300Z)?$skiptoken='MjAxNi0wOS0xMlQyMzozODozNC45OTMwMDAw'"
}

94
11 Venue by Day Workflow

Download Your Venue Files


Download all available files for a venue. This is the most common task for Venue by Day customers. This task
requires three steps.

Step 1 - Retrieve the List of Venue Files


Return the list of files associated to a venue.

This example refers to “ADC – NASD Alternative Display Facility for NYSE/AMEX issues” venue with
UserPackageId: 0x04f21a8d13459cb1.

Request
GET [Link]
ryGetUserPackageDeliveriesByPackageId(PackageId='0x04f21a8d13459cb1')
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

Response
HTTP/1.1 200 OK
{
"@[Link]":
"[Link]
"value": [
{
"PackageDeliveryId": "0x0569a825b7cc3156",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-14T04:00:00.000Z",
"FileSizeBytes": 107460,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569a825ab1c3156",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-14T04:00:00.000Z",
"FileSizeBytes": 131717761,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569a7d3ec6c3156",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-14T04:00:00.000Z",
"FileSizeBytes": 100174,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569a7d3ec3c24e5",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-14T04:00:00.000Z",
"FileSizeBytes": 549025508,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x056984538f0c3156",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T15:37:40.846Z",
"FileSizeBytes": 104542,
"Frequency": "Daily",
"ContentMd5": ""

95
11 Venue by Day Workflow

},
{
"PackageDeliveryId": "0x05698451460c3156",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T15:37:31.486Z",
"FileSizeBytes": 109419,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x056984505c2c24e5",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T15:37:27.746Z",
"FileSizeBytes": 548847712,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x0569844f7bec24e5",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-09-13T15:37:24.156Z",
"FileSizeBytes": 132452905,
"Frequency": "Daily",
"ContentMd5": ""
},
{
"PackageDeliveryId": "0x05604cde4fdc3156",
"UserPackageId": "0x04f21a8d13459cb1",
"SubscriptionId": "0x0400dc1d24a00cb4",
"Name": "[Link]",
"ReleaseDateTime": "2021-08-16T04:00:00.000Z",
"FileSizeBytes": 113641435,
"Frequency": "Daily",
"ContentMd5": ""
}
]
}

This request returns the individual file identifiers PackageDeliveryId for each file associated with the selected
venue.

Step 2 - Download the Venue Files


Run UserPackageDeliveries to request the file download. The files are referred to by their PackageDeliveryId
0x0569a825b7cc3156.

You can download files faster by retrieving them directly from the Amazon Web Services (AWS) cloud in which
they are hosted, as shown below and as described in Downloading Files Faster via Direct Download From
Amazon Web Services.

Request
GET [Link]
ries('0x0569a825b7cc3156')/$value
Authorization: Token <your_auth_token_goes_here>
X-Direct-Download: true
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

96
11 Venue by Day Workflow

Response
The HTTP response includes an encoded byte stream:

Step 3 - Repeat
Repeat step 1 to identify the next file, then step 2 to download that file.

The API pagination and change tracking features through @[Link] and @[Link] respectively, are
optional API features available to help manage your download task as it would adjust the number of files to
download each time and eliminate the listing of previously downloaded files.

Validating Downloads
Tick History uses MD5 checksums to enable you to validate that you have downloaded your VBD files with no
unintentional loss or corruption.

When you retrieve a list of files available for downloading from a particular venue (via
StandardExtractions/UserPackageDeliveryGetUserPackageDeliveriesByPackageId), and when you download a
package delivery file (via StandardExtractions/UserPackageDeliveries), you retrieve each file’s MD5 checksum
from the following HTTP header field (which is returned in the response header):

– x-amz-meta-md5sum for the downloaded file’s MD5 checksum if you downloaded the file directly from
Amazon Web Services.
– Content-MD5 for the downloaded file’s MD5 checksum if you downloaded from Tick History.

Once you have received the checksum and have downloaded the file, you can use the third-party utility of your
choice to generate the checksum for the file as it exists on your local system, and compare that local checksum
with the one you received from Tick History.

If you wish to validate a download using a file’s size, refer to the Content-Length header field (which is returned
in the response header) for the downloaded file’s size in octets (that is, in eight-bit bytes).

97
12 Reference Information

12 Reference Information
Identifier Types
List of supported instrument formats
Value Description
ChainRIC LSEG Chain
Cusip Issue-level code assigned by CUSIP for identifying North American securities. For loans, this is
the CUSIP for the facility level of the loan.
Isin International Securities Identification Number developed by the ISO.
Ric Market-level identifier for instruments and pricing sources.
Sedol Stock Exchange Daily Official List number

ContentField Properties
Name Data Type Description
FieldName String Field selected for the report
Format ContentFieldFormat Format specific to the field type ( date, number or
text). Value can be null.
Justification ContentFieldJustification Field justification (left, right or center)
Label String Field label
Width int? Field length. Value can be null.
WidthStyle ContentFieldWidthStyle Fixed or variable field width

HTTP Response Codes


The REST API uses HTTP status codes consistent with the OData protocol specifications. This list shows the
common HTTP response codes and some brief guidelines on how to use them. For the complete list of HTTP
response codes, please refer to section 6 of RFC 2616.

Successful Responses
Code Name Description
200 OK A request that does not create a resource returns 200 OK if it is completed
successfully and the value of the resource is not null. The response body will
contain the value of the resource specified in the request URL.
201 Created A Create Entity or Invoke Action request that successfully creates a resource,
returns 201 Created. The response body will contain the resource created.
202 Accepted Accepted indicates that the request has been accepted and has not yet completed
executing asynchronously. See Async Key Mechanism async example or the
OData async specification for more details.
204 No Content A request returns 204 No Content if the requested resource has the null value.
3xx Redirection As per [RFC7231], a 3xx Redirection indicates that further action needs to be
taken by the client in order to fulfill the request. In this case, the response will
include a Location header, as appropriate, with the URL from which the result can
be obtained; it may include a Retry-After header.

98
12 Reference Information

Client Error Responses


Code Name Exception Type Description
400 Bad Request ValidationException Bad Request errors can be returned if the request is
malformed and cannot be interpreted or if the request
cannot be processed due to violation of business rules.
401 Unauthorized UnauthorizedException Unauthorized exception is returned if the username and
password are invalid or if the supplied token is invalid or
expired. See Validation Key Mechanism for details about
requesting new tokens.
403 Forbidden ForbiddenException Forbidden errors are returned when the user does not have
sufficient permissions to perform the requested operation.
The body will contain details regarding this error. The
request should not be repeated.
404 Not Found NotFoundException Not Found indicates that the resource specified by the
request URL does not exist. The response body will
typically include the entity type and id that could not be
found.
405 Method Not RequestException Method Not Allowed indicates that the resource specified
Allowed by the request URL does not support the request method.
410 Gone RequestException Gone indicates that the requested resource is no longer
available. This can happen if a client has waited too long to
follow a delta link or to poll a resource link (async links).
412 Precondition RequestException Precondition Failed indicates that the client has performed
Failed a conditional request and the resource fails the condition.
The service MUST ensure that no observable change
occurs as a result of the request.

Server Error Responses


As specified in [RFC7231], error codes in the 5xx range indicate server errors.
Code Name Exception Type Description
500 Internal Server RequestException The server encountered an unexpected condition which
Error prevented it from fulfilling the request.
501 Not RequestException The server encountered an unexpected condition which
Implemented prevented it from fulfilling the request.
502 Bad Gateway BadGatewayException If the client requests functionality not implemented by the
REST API, the service will respond with 501 Not
Implemented.
503 Service RequestException The server, while acting as a gateway or proxy, received
Unavailable an invalid response from the upstream server it accessed
in attempting to fulfill the request.
504 Gateway GatewayTimeoutException The server, while acting as a gateway or proxy, did not
Timeout receive a timely response from the upstream server
specified by the URI (e.g. HTTP, FTP, LDAP) or some
other auxiliary server (e.g. DNS) it needed to access in
attempting to complete the request.

Product Attributes
Data Types
For most venues, the Venue by Day service publishes content in bulk under the following file types:
Recorded Trade & Quotes Description
NORMALIZEDMP Tick-by-tick trade execution messages for Auction, Corrections, Market Condition,
Quotes and Trades.
MARKETPRICE Tick-by-tick trade execution messages in original raw format.

99
12 Reference Information

Recorded Trade & Quotes Description


NORMALIZEDLL2 Aggregated market by price level quotes (1- 25). Each price level represents an
aggregation of orders at that price from best (Level 1) to worst quotes for the market at
the time of the update.
LEGACYLEVEL2 Aggregated market by price level quotes in original raw format.

Corporate Actions Description


CORP Corporate Actions Data (dividend, earnings, capital changes, share type and stock split
events)

Reference Data Description


REF Asset specific reference data, including metadata, terms and conditions, symbology
changes, etc.

Instruments Description
INSTRUMENTS List of active instruments on the venue.
Depending on your entitlements, you may receive one or more Instrument files with the
provider(s) for which you are entitled:

Reports Description
REPORT Files with REPORT appended indicate the availability of data for each instrument for
that venue.

File Compression
The files are compressed into .gz format, requiring a gunzip utility for you to uncompress them. The
uncompressed files present the data in .csv format. Compression ratios may vary from 10-30:1 depending on the
file size and metadata.

For reference, a random sampling of compressed files measured at 12:1 ratio. (e.g. 185,785 file size: 2,287,440
packed file size)

File Names
The files are named using the following convention:

[Link]

For example: [Link]


Component Description
Venue Three letter identifier for the venue
YYYY-MM-DD Numerical year, month and date
Format NORMALIZEDMP, MARKETPRICE, NORMALIZEDLL2, LEGACYLEVEL2, CORAX, or REF
Datatype Data or Report
Part The volume to the total number of parts.
Totalparts The total number of parts.

100
12 Reference Information

Daily Time Periods Covered


The Venue by Data service generates daily-recorded trade and quotes files by venue for the previous trading
session. The files contain market data for all currently trading instruments on the appropriate venue.

The corresponding report file indicates the availability of data for each instrument for that venue. For example,
inactive instruments for which no data is available are identified in the report file.

All Venue by Day files, excluding Corporate Actions, span a 24-hour period from the previous day cycle cut-off to
the current day’s cut-off. For example, the US Cycle files contain all data from 21:00 GMT previous day to 21:00
GMT on the current day.

Corporate Actions and Reference files include all updates reflecting changes over the past 2 days. Files are
generated for each day of the week, including weekends and non-trading days; weekend files include mostly
Corporate Actions and Reference data.

ISO 8601 Date and Time Format


The formats are as follows. Exactly the components shown here must be present, with exactly this punctuation.
Note that the "T" appears literally in the string, to indicate the beginning of the time element, as specified in ISO
8601.
Date and Time Format
Year YYYY (e.g. 1997)
Year and month YYYY-MM (e.g. 1997-07)
Complete date YYYY-MM-DD (e.g. 1997-07-16)
Complete date plus hours and minutes YYYY-MM-DDThh:mmTZD (e.g. 1997-07-16T19:20+01:00)
Complete date plus hours, minutes and seconds YYYY-MM-DDThh:mm:ssTZD (e.g. 1997-07-16T19:20:30+01:00)
Complete date plus hours, minutes, seconds and a YYYY-MM-DDThh:mm:[Link]
decimal fraction of a second

Legend Description
YYYY Four-digit year
MM Two-digit month (01=January, etc.)
DD Two-digit day of month (01 through 31)
hh Two digits of hour (00 through 23) (am/pm NOT allowed)
mm Two digits of minute (00 through 59)
ss Two digits of second (00 through 59)
TZD Time zone designator (Z or +hh:mm or –hh:mm)

Checking Request Status


While small queries may return data in the response, it is reasonable for larger queries will require a considerable
amount of time to process. These requests need to be checked to know when they are available for download.
The key indicators are the HTTP status responses. The HTTP 202 is an acknowledgement of the request while
HTTP 200 represents a completed report.

When the job is complete, an HTTP 200 is returned. The HTTP 200 OK should prompt report completion where
JobId 0x057244e0051c44c6 can be used with the RawExtractionResults function to retrieve the results.

Request
GET [Link]
ries('0x057244e0051c44c6')/$value
Authorization: Token <your_auth_token_goes_here>
Content-Type: application/json
Accept-Charset: UTF-8
Prefer: respond-async

101
12 Reference Information

Headers for File Download


There are optional headers that can be applied to report file retrieval.

Content-Type: text/plain
Content-Disposition: attachment; filename="[Link]"
Accept-Ranges: bytes

Add the three header parameters as follows:

Headers for Minimizing Response Information


The amount of data returned in the response JSONs can be minimized to save bandwidth and allow easier
parsing of data. This is accomplished by adding the [Link] to the request header.
Header Field Name Support
[Link]: full Not at present
[Link]: minimal Yes
[Link]: none Yes
Header: Accept: application/json; [Link]: minimal

Header: Accept: application/json; [Link]: none

Errors
HTTP 400 Bad Request: Syntax error: character '‘' is not valid at position 0

Resolution: Check the URL for single quotes surrounding any Identifiers. Often when pasting these values, the
single quotes need to be typed in manually. Deleting ‘ then retyping ‘ fixes this problem.

102
12 Reference Information

Copyright © 2023 London Stock Exchange Group plc and its group of companies (LSEG) and/or its affiliates. All rights reserved.
The LSEG content received through this service is the intellectual property of LSEG or its third party suppliers. Republication or
redistribution of content provided by LSEG is expressly prohibited without the prior written consent of LSEG, except where
permitted by the terms of the relevant LSEG service agreement. Neither LSEG nor its third party suppliers shall be liable for any
errors, omissions or delays in content, or for any actions taken in reliance thereon. LSEG and its logo are trademarks of LSEG.

You might also like