3.2. Return the metadata from all available datasources.
Get and POST GetAllDatasources
Description: Returns a list of all public datasources that are published on the service.
API Usage: This endpoint uses zero API calls. Please refer to section 8.2 for more details on API rate limits.
GET Sample Request:
GET https://[server]/GetAllDatasources?SessionToken=YOUR_SESSION_TOKEN&ReturnAccess=true&ReturnCategoryTree=false
POST Sample Request:
POST https://[server]/GetAllDatasources { "SessionToken":"YOUR_SESSION_TOKEN", "ReturnCategoryList":false, "DateFormat":"YY-MM-DD", "ReturnCategoryTree":false, "ReturnAccess": true }
Request Parameters
Parameter | Type | Description | |
---|---|---|---|
1 | SessionToken | String | A session token from the GetSessionToken endpoint. |
Optional Request parameters
Parameter | Type | Default | Description | |
---|---|---|---|---|
2 | ReturnCategoryList | Boolean | True | Returns a list of all
available data categories in each
datasource. See the ‘Details Object’ and ‘DetailsDS Object’ tables below for details. |
3 | ReturnCategoryTree | Boolean | True | If true (and
available for the datasource), returns a
hierarchical data tree of available data
categories in each datasource. Some
non CategoryDS datasources may return a
“Category” style tree that can be used to
organise the data using symbol lists or wildcard
symbols. See the “Notes on CategoryDS datasources” below and ‘Details Object’ and ‘DetailsDS Object’ tables for details. |
4 | ReturnUserCategoryList | Boolean | False | Note: For CategoryDS
datasources only (see notes below). Returns in the DetailsDS object a list of data categories and date ranges that the user can access. This parameter also controls if the result parameter UserCategoryCount is returned. See the “CategoryDS datasources” below and the DetailsDS table below for details. |
5 | ReturnAccess | Boolean | False | If true, returns
subscription information about
the datasources (or data categories in
a CategoryDS
datasource) that the user can
access. The access information
is returned as a Subscription
string and a
UserAccess
object.
In
a CategoryDS
datasource, the access
information is located in
the UserCategoryList
object (in the
result DetailsDS
object). This requires that the
request parameter
ReturnUserCategoryList be
set to true. See the UserAccess parameter in the ‘Details Object’ and ‘DetailsDS Object’ tables below. |
6 | DateFormat | String | “YYYY-MM-DD” | The date format to use in the request and the result. See the ‘DateFormat Parameter‘ section below for details. |
- A CategoryDS is a datasource whose datasets are grouped into data categories. The subscriber must be authorised to access each individual data category.
- A CategoryDS is identified when the result object parameterIsCategoryDSis set to true.
- TheDatacategoryparameter must be used in all data requests to a CategoryDS datasource UNLESS the request parameter ' IgnoreCategories' is set to true.
- In GET requests Datasource,
[Datacategory] and Symbol are combined into one 'Series' string.
e.g. Symbols[]=Datasource/[Datacategory]/Symbol&Symbols[] = ... - In POST requests, the data category is inserted between the datasource and the symbol
e.g. ” {“Datasource”:“AAA”, “Datacategory”:“BBB”, “Symbol”:“CCC”}, { "Datasource": ….
DateFormat Parameter
You can control the format of dates that are used in the request and returned in the result.
If used, the date separator is the character between the day, month and year values and can be one of 4 characters:
“-”
– hyphen or dash
“/” – forward slash
“.” – dot or full stop
” ” – space
Format | Result Dates |
---|---|
“YYYY-MM-DD” | Formatted as 2018-01-22. (default). |
“YYYY-DD-MM” | Formatted as 2018-22-01. |
“YYYYMMDD” | Formatted as 20180122. |
“YYYYDDMM” | Formatted as 20182201. |
“MM-DD-YYYY” | Formatted as 01-22-2018. |
“DD-MM-YYYY” | Formatted as 22-01-2018. |
“EXCEL” | Formatted as numbers where 1/1/1976 = 27760. |
“JULIAN” | Formatted as the number of days since ’12h Jan 1, 4713 BC’. |
Response Parameters
Parameter | Type | Mandatory | Description | |
---|---|---|---|---|
1 | ServerDateTime | String | Yes | The server UTC date and time as an ISO 8601 string. |
2 | TimeStamp | Float | Yes | The server date and time as a Julian date. |
3 | ExecutionTime | Float | Yes | The number of milliseconds to process the request. |
4 | Result | [Object] | No* | A Result object as described in table below. |
5 | Errors | [Object] | No* | An 'Errors' object as described in table below. |
A succesful API response will return a Result object with the requested payload or an 'Errors' object detailing the issue that caused the error.
Result Object
Contains a number of objects, each one describing a datasource.
Parameter | Type | Mandatory | Description | |
1 | Datasource | String | Yes | The datasource ID. |
2 | Name | String | Yes | A text string that that describes the datasource. |
3 | LastUpdated | Datetime | Yes | Date and time that the
datasource was updated on the server. Returned as a UTC date and time ISO 8601 string. |
4 | Premium | Boolean | Yes | If true, this is a premium subscription datasource that is not included gratis as part of a service. |
5 | HasDataTree | Boolean | Yes | If true, the datasource has an additional JSON tree that can be used to structure and filter its datasets. |
6 | IsCategoryDS | Boolean | Yes | If true the datasource
is a CategoryDS datasource. A CategoryDS
is a datasource whose datasets are grouped in
data categories. The user must be authorised to
access individual data categories. See “CategoryDS Datasources” above. |
7 | Details | [Object] | No* | Available only if
this is not a
CategoryDS datasource (see parameter
IsCategoryDS above). It returns
details about the datasets in the
datasource. See the ‘Details Object’ table below for more details. |
8 | DetailsDS | [Object] | No* | Available only if this
is a CategoryDS
datasource (if parameter IsCategoryDS
is true). It returns details
about the datasets in the datasource. See the ‘DetailsDS Object’ table below for more details. |
9 | Logo | String | Yes | Link to a logo image for the datasource. |
10 | Description | String | Yes | Additional data describing the datasource in more detail. |
If the result parameter IsCategoryDS is set to true, the result will contain a DetailsDS object otherwise it will contain a Details object.
Details Object
The Details object is returned if the datasource is not a CategoryDS datasource (if result parameter IsCategoryDS is false).
Parameter | Type | Mandatory | Description | |
---|---|---|---|---|
1 | SeriesCount | Long | Yes | The number of symbols in the datasource. |
2 | StartDate | String | Yes | The first available date for any dataset. |
3 | EndDate | String | Yes | The last available date for any dataset. |
4 | CategoryTree | [Object] | No | The
CategoryTree
object can only returned when the
request parameter
ReturnCategoryTree is set
to true. If available, it returns a hierarchical JSON tree of both category groups and items. Data categories are used to organise data series – often by region, market, product type or instrument class. In a non CategoryDS datasource, categories are virtual and user access to datasets is not restricted by data category. Please see the CategoryTree parameter in the DetailsDS table below. |
5 | CategoryList | [Object] | No | The
CategoryList
object can only returned when the
request parameter
ReturnCategoryList is
set to true. If available, it returns a list of CategoryItem objects, each one describing a category from the datasource. See the CategoryTree parameter above and the ‘CategoryItem Object‘ table below for details. |
6 | Subscription | String | No | The
Subscription parameter is only
returned when the request parameter
ReturnAccess is set to
true. It returns the type of datasource access available with the current subscription. There are 4 options: “None”, “Active”, “Inactive” and “Simulated”. Please note that the option “Simulated” means that the values are fictional and are generated for demonstration purposes only. |
7 | UserAccess | [Object] | No | Returns details of
the access allowed to the datasource
with the current
subscription. The UserAccess object is only returned when the request parameter ReturnAccess is set to true and Subscription is not equal to “None”. See the request parameter ReturnAccess above and the “UserAccess Object” table below for more details. |
DetailsDS Object
The DetailsDS object is returned only if the datasource is a CategoryDS datasource (if result parameter IsCategoryDS is set to true).
Parameter | Type | Mandatory | Description | |
---|---|---|---|---|
1 | SeriesCount | Long | Yes | The number of symbols in the datasource |
2 | CategoryCount | Integer | Yes | The number of data categories in the datasource. |
3 | CategoryTree | [Object] | No | The CategoryTree
object can only returned when the
request parameter ReturnCategoryTree
is
set to true. If available, it returns a hierarchical JSON tree of both category groups and category items. Data categories are used to organise data series, often by region, market, product type or instrument class. With a CategoryDS datasource, user access may be restricted to individual data categories. Each category item in the tree contains a name and the category ID. Each category group has a name and ‘Filter’ property containing a list of all the categories that are in the category group.JSON Example: { “Group”: “Energy”,
“Items”: [
{
“Name”: “Crude
Oil”,
“Category”: “C-OIL”
},
{
“Name”: “Natural
Gas”,
“Category”: “NGAS”
}
],
“Filter”: “C-OIL,
NGAS”
},
|
4 | CategoryList | [Object] | No | The
CategoryList
object can only returned when the
request parameter
ReturnCategoryList is
set to true. If available, it returns a list of CategoryItem objects, each one describing a category from the datasource. See the ‘CategoryItem object‘ table below. |
5 | UserCategoryCount | Integer | No | The UserCategoryCount parameter is returned only if the request parameter ReturnUserCategoryList is set to true. It returns the number of data categories that can be accessed with the current subscription. If it returns zero then the UserCategoryList object will not be present in the result. |
6 | UserCategoryList | [Object] | No | The
UserCategoryList object
is only present if the
UserCategoryCount parameter
above is greater than zero
and the
ReturnUserCategoryList request
parameter is set to true. It returns a list of UserCategoryItem objects (see the ‘UserCategoryList Object‘ table below) that the user has (or had) access to. Each UserCategoryItem object describes the data category and the available access with the current subscription. The UserAccess object is located in the UserCategoryList object and is only returned when the request parameter ReturnAccess is set to true. |
CategoryItem Object
Parameter | Type | Mandatory | Description | |
---|---|---|---|---|
1 | Name | String | Yes | A short text identifier for the data category. |
2 | Description | String | Yes | A description of the data category. |
3 | StartDate | String | No* | The first available data to subscriber for any dataset. |
4 | EndDate | String | No* | The latest available data to subscriber for any dataset. |
5 | SeriesCount | Integer | No* | The number of series (datasets) in the data category. |
Only available in CategoryDS datasources.
UserCategoryItem Object
Parameter | Type | Mandatory | Description | |
---|---|---|---|---|
1 | Name | String | Yes | A short string identifier for the data category. |
2 | Description | String | Yes | A description of the data category. |
3 | StartDate | String | Yes | The first available data for any dataset. |
4 | EndDate | String | Yes | The latest available data for any dataset. |
5 | SeriesCount | Integer | Yes | The number of series (datasets) in the data category. |
6 | Subscription | String | No | The
Subscription parameter is only
returned if the request parameter
ReturnAccess is set to
true. The type of subscription access available to the datasource. There are 4 options: “None”, “Active”, “Inactive” and “Simulated”. Please note that the option “Simulated” means that the values are fictional and are generated for demonstration purposes only. |
7 | UserAccess | [Object] | No | The
UserAccess object is only
returned when the request parameter
ReturnAccess is set to
true. It contains details of the access allowed to the datasource with the current subscription. If Subscription is returned as “None” the UserAccess object will not be present in the result. See the ‘UserAccess Object’ table below for details. |
UserAccess Object
If
the
user
has
(or
had)
a
subscription
to
the
datasource
(or
data
category),
the
UserAccess
object
reports
on
the
range
allowed
for
the
dataset
with
the
current
subscription.
The
Starts
and
Ends
parameters
show
the
date
range
that
the
user
can
access.
Parameter | Type | Description |
---|---|---|
Starts | String | Date of the earliest available data for the current subscription. |
Ends | String | Date of the latest available data for the current subscription. |
- There may be a greater range available in the datasource than the user has permission to access.
- The UserAccess object is present only if request parameter ReturnAccess is set to true and Subscription is not equal to “None”.
- The request parameter DateFormat controls the format of the result in the Starts and Ends parameters.
Errors Object
Parameter | Type | Description | |
---|---|---|---|
1 | Status | Integer | HTTP status code. |
2 | Detail | String | Description of the status code above. |
Possible Status codes in the 'Errors' object
Code | Description |
---|---|
400 | Bad request or missing session parameter. |
401 | User is inactive. |
404 | Unknown session token. |
405 | Method [request] not allowed. |
500 | Server may be down for maintenance. |
This is not an exhaustive list and additional error codes may be returned. The Errors Detail field will return request specific error information.
Possible HTTP response codes
This
endpoint returns 200 for success.
If
an 'Errors' object is returned, the HTTP result is
likely to be the same as the one set in the 'Errors'
object.
You can get HTTP client network errors or server
errors from any API request. You should check
with your network or IT colleagues in case the issue is a
local one.
All server generated errors will return an 'Errors'
object that will give specific details about the error.
A full list of HTTP codes and their meanings is available here,
Success and fail examples
The sample below requests metadata for all datasources without any CategoryList objects being returned.
Sample Request:
GET https://[server]/GetAllDatasources?SessionToken=YOUR_SESSION_TOKEN&ReturnCategoryList=false
Response body on success:
In an actual request there may be multiply datasources in the result object. For clarity, we show only two.