A7 Analytics Platform - Dataset API
Manage customer datasets on the A7 Analytics Platform (versions 1 and 2 of the Dataset API).
Manage customer datasets on the A7 Analytics Platform (versions 1 and 2 of the Dataset API).
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/a7-dataset-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: A7 Analytics Platform - Algo management Algo management Dataset API
description: 'A7 Analytics Platform for the main T7 trading venues of Deutsche Börse Group and for the MDP feed of CME Group. The platform enables clients to perform pre/at/post trade analysis and to interact with market data and analytics.It provides clients access to the most granular un-normalized/genuine historical order book data (EOBI, MDP) as well as constructed order books, off-the-shelf analytics and allows them to build their own custom analytics utilizing algo functionality, which is a flexible high-performance framework based on historical order book data.<br/><br/> The A7 data can be accessed either via the <a href="https://a7.deutsche-boerse.com/">user interface</a> or via RESTful API.</br></br>
The algo management API provides access to the A7 algos and their results. With the API it is possible to create, update, delete and run algos and to access the results of the algo runs. All available endpoints are described in detail below.<br/><br/>
<b>Security measures:</b></br> In order to prevent unauthorized access to the API an authentication token must be used. A7 utilises the bearer authentication scheme for this purpose. The authentication token must be added to the header of each request message. Depending on the implementation it might be necessary to add the keyword "Bearer" to the token string as a prefix followed by a space.</br></br> A token can be generated at the <a href="https://a7.deutsche-boerse.com/">A7 user interface</a>. After login the user has to click on the user icon in the upper right corner, click on <b>API token generation</b> and finally click on <b>Request API key</b>. The generated token will be displayed directly in the user interface.<br/><br/>
'
contact:
name: Deutsche Börse Data & Analytics
url: https://www.mds.deutsche-boerse.com
email: analytics@deutsche-boerse.com
version: 1.0.2
servers:
- url: /api/v1
description: A7 production environment
security:
- bearerAuth: []
tags:
- name: Dataset API
paths:
/dataset:
get:
tags:
- Dataset API
summary: Retrieve list of dataset owners
description: 'The request delivers the list of owners the user has permission to access.<br/> If the mode parameter is set to `detailed`, the request also returns a list of the datasets assigned to each owner.
'
operationId: getOwners
parameters:
- $ref: '#/components/parameters/mode'
responses:
'200':
description: successful operation
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/OwnerList'
- $ref: '#/components/schemas/OwnerTablesList'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'422':
$ref: '#/components/responses/422'
/dataset/{owner}:
get:
tags:
- Dataset API
summary: Retrieve list of available datasets
description: The request delivers all available datasets assigned to the given owner.
operationId: getAvailableDatasets
parameters:
- $ref: '#/components/parameters/owner'
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Datasets'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'422':
$ref: '#/components/responses/422'
/dataset/{owner}/{dataset}:
get:
tags:
- Dataset API
summary: Retrieve specification (schema) of given dataset
description: The request delivers the specification of the given dataset.
operationId: getDatasetSpecs
parameters:
- $ref: '#/components/parameters/owner'
- $ref: '#/components/parameters/dataset'
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetSpecs'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
delete:
tags:
- Dataset API
summary: Delete dataset
description: The request deletes the given dataset.
operationId: deleteDataset
parameters:
- $ref: '#/components/parameters/owner'
- $ref: '#/components/parameters/dataset'
responses:
'200':
description: successful operation
content:
application/json:
schema:
properties:
success:
type: string
message:
type: string
required:
- success
- message
example:
success: 'true'
message: Success message
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
/dataset/{owner}/{dataset}/data:
get:
tags:
- Dataset API
summary: Query result of given dataset
description: The request delivers the results of the given dataset.
operationId: getDatasetResults
parameters:
- $ref: '#/components/parameters/owner'
- $ref: '#/components/parameters/dataset'
- $ref: '#/components/parameters/select'
- $ref: '#/components/parameters/where'
- $ref: '#/components/parameters/orderBy'
- $ref: '#/components/parameters/format'
- $ref: '#/components/parameters/limit'
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetResultsWithMeta'
text/csv:
schema:
$ref: '#/components/schemas/DatasetResults'
application/gzip:
schema:
$ref: '#/components/schemas/DatasetResultsWithMeta'
format: binary
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
/dataset/{provider}:
get:
tags:
- Dataset API
summary: Retrieve list of available datasets of a single provider
description: The request delivers all available datasets assigned to the given provider.
operationId: getAvailableDatasets
parameters:
- $ref: '#/components/parameters/provider'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Datasets_2'
application/gzip:
schema:
$ref: '#/components/schemas/Datasets_2'
format: binary
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
/dataset/{provider}/{dataset}:
get:
tags:
- Dataset API
summary: Retrieve specification (schema) of given dataset
description: The request delivers the specification of the given dataset.
operationId: getDatasetSpecs
parameters:
- $ref: '#/components/parameters/provider'
- $ref: '#/components/parameters/dataset_2'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetSpecs_2'
application/gzip:
schema:
$ref: '#/components/schemas/DatasetSpecs_2'
format: binary
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
/dataset/{provider}/{dataset}/{date}:
get:
tags:
- Dataset API
summary: Retrieve results of given dataset for the selected date
description: The request delivers the results of the given dataset.
operationId: getDatasetResultsForDate
parameters:
- $ref: '#/components/parameters/provider'
- $ref: '#/components/parameters/dataset_2'
- $ref: '#/components/parameters/date'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/format'
- $ref: '#/components/parameters/limit_2'
- $ref: '#/components/parameters/queryParams'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: string
text/csv:
schema:
type: string
application/gzip:
schema:
type: string
format: binary
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
/dataset/{provider}/{dataset}/data:
get:
tags:
- Dataset API
summary: Retrieve result of given dataset
description: The request delivers the results of the given dataset.
operationId: getDatasetResults
parameters:
- $ref: '#/components/parameters/provider'
- $ref: '#/components/parameters/dataset_2'
- $ref: '#/components/parameters/dates'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/format'
- $ref: '#/components/parameters/limit_2'
- $ref: '#/components/parameters/params'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: string
text/csv:
schema:
type: string
application/gzip:
schema:
type: string
format: binary
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
/dataset/{provider}/{dataset}/query:
post:
tags:
- Dataset API
summary: Retrieve result of given dataset query
description: The request queries the dataset and returns the matching results.
operationId: queryDatasetResults
parameters:
- $ref: '#/components/parameters/provider'
- $ref: '#/components/parameters/dataset_2'
- $ref: '#/components/parameters/dates'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/format'
- $ref: '#/components/parameters/limit_2'
requestBody:
description: Query string as SQL 'where' clause
required: true
content:
text/plain:
schema:
type: string
examples:
one:
summary: Select dataset content by ISIN pattern
value: ISIN like 'DE%'
two:
summary: Select dataset content by multiple ISINs
value: ISIN IN ('DE0005810055', 'DE0008469594', 'DE0008469495')
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: string
text/csv:
schema:
type: string
application/gzip:
schema:
type: string
format: binary
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
components:
parameters:
where:
name: where
in: query
description: "Defines criteria to filter the result data.<br> The following rules apply:\n - `Parameter=value` filters for data which contains a specific value for the given parameter<br>\n <b>Example:</b> MarketSegmentID=1210<br><br>\n - `Parameter!=value` filters for data which does NOT contain the specified value for the given parameter<br>\n <b>Example:</b> marketSegmentId!=1210<br><br>\n - `Parameter<value` filters for data which contains values smaller than the specified value for the given parameter<br>\n <b>Example:</b> price<1000<br><br>\n - `Parameter<=value` filters for data which contains values smaller than or equal to the specified value for the given parameter<br>\n <b>Example:</b> price<=1000<br><br> \n - `Parameter>value` filters for data which contains values larger than the specified value for the given parameter<br>\n <b>Example:</b> price>1000<br><br>\n - `Parameter>=value` filters for data which contains values larger than or equal to the specified value for the given parameter<br>\n <b>Example:</b> price>=1000<br><br> \n - `Parameter in(value1,value2,...)` filters for data which contains at least one of the specified values for the given parameter<br>\n <b>Example:</b> marketSegmentId in(1210,1211,1213)<br><br>\n - `&&` combines multiple filter criteria with a logical AND<br>\n <b>Example:</b> marketSegmentId=1210&&securityId=6565671 <br><br>\n - `||` combines multiple filter criteria with a logical OR<br>\n <b>Example:</b> marketSegmentId=1210||securityId=6565671<br><br>\n - `()` manipulates the order in which parameters combined with AND/OR are evaluated<br>\n <b>Example:</b> (marketSegmentId=1210&&securityId!=6565671)||(marketsegmentId in(1210,589)&&cuerrency!=EUR)<br>\n \n<b>Depending on the implementation it may be necessary to use URL encoding for special characters. In this case please use the respective codes (e.g. %27) instead of the characters.</b>\n"
schema:
type: string
example: MarketSegmentID=1210
orderBy:
name: orderBy
in: query
required: false
description: 'Defines the fields and the order the result will be sorted by. <br/> Multiple fields have to be separated by comma. <br/> ASC/DESC must be added to define the sort order.
'
example: MarketSegmentID,SecurityID ASC
schema:
type: string
limit:
name: limit
in: query
description: Limit the number of elements in the response (null = 1000). Max value is 10000.
example: '100'
schema:
type: string
default: null
dates:
name: dates
in: query
description: 'Data filter by date (default value - when omitted - refers to the latest available date); possible values: YYYYMMDD (single date), YYYYMMDD-YYYYMMDD (days between start - end date), YYYYMMDD,YYYYMMDD (comma separated list of dates). There can be some restrictions for individual datasets, thus only single date value will be accepted. Please read the dataset documentation for further details.'
example: '20211224'
required: false
schema:
type: string
dataset:
name: dataset
in: path
description: Name of the dataset
example: TRADES
required: true
schema:
type: string
owner:
name: owner
in: path
description: User identifier code
example: Owner1
required: true
schema:
type: string
provider:
name: provider
in: path
description: Dataset provider identification
example: eurex
required: true
schema:
type: string
mode:
name: mode
in: query
description: "Defines the level of detail for the output.<br/> Mode options:\n * `compact` (default) - Returns a list of owners\n * `detailed` - Returns a list of owners and their respective datasets\n"
schema:
type: string
enum:
- compact
- detailed
default: compact
fields:
name: fields
in: query
description: The list of fields to be returned. (by default - wihout fields parameter - all fields will be returned)
example: ISIN,PRICE
required: false
schema:
type: string
default: '*'
date:
name: date
in: path
description: Date (fact date) of the data to be retrieved (as YYYYMMDD)
example: 20220121
required: true
schema:
type: string
pattern: ^20\d{2}[01]\d[0-3]\d$
limit_2:
name: limit
in: query
description: Limit the number of elements in the response (default is 10000 if omitted). Max value is 1000000.
example: '100'
schema:
type: string
default: null
params:
name: params
in: query
description: any additional query parameters
schema:
type: object
additionalProperties:
type: string
style: form
explode: true
example: Isin=DE0005810055,Price=162.0
dataset_2:
name: dataset
in: path
description: Name of the dataset
example: trades
required: true
schema:
type: string
queryParams:
name: params
in: query
description: any additional query parameters. The mandatory fields must be set here
schema:
type: object
additionalProperties:
type: string
style: form
explode: true
example: Isin=DE0005810055,Price=162.0
format:
name: format
in: query
description: Defines the format of the response.
schema:
type: string
enum:
- csv
- json
default: json
select:
name: select
in: query
description: Defines the fields which will be included in the result data.<br/> Multiple fields have to be separated by comma.<br/> `*` can be used to select all fields availale in the dataset.<br/>
example: MarketSegmentID,Currency
schema:
type: string
default: '*'
schemas:
FieldSpec:
properties:
name:
type: string
type:
type: string
example:
name: Market
type: String
DatasetRate:
properties:
weight:
type: integer
limit:
type: integer
StatisticSpec:
properties:
numberOfRows:
type: integer
format: int64
allocatedDiscSpace:
type: string
example:
numberOfRows: 9998726
allocatedDiscSpace: 20GB
DatasetSpecs_2:
properties:
name:
type: string
schemas:
type: array
items:
$ref: '#/components/schemas/FieldSpecValid'
example:
name: trades
schemas:
- valid_from: '2020-01-01'
fields:
- name: Isin
type: String
query: mandatory
- name: Symbol
type: String
- name: Date
type: String
- name: SecurityType
type: String
- name: Currency
type: String
- name: ContractDate
type: Integer
- name: ContractType
type: Integer
- name: SettlementMethod
type: String
- name: StrikePrice
type: Number
- name: ExerciseStyle
type: String
- name: OptionType
type: String
- name: EntryTime
type: Timestamp
- name: Price
type: Number
- name: Size
type: Number
FieldSpecValid:
properties:
valid_from:
type: string
valid_to:
type: string
fields:
type: array
items:
$ref: '#/components/schemas/FieldSpec_2'
Datasets_2:
properties:
datasets:
type: array
items:
$ref: '#/components/schemas/Dataset'
example:
datasets:
- name: trades
description: trade events with price, size, ...
type: time series
- name: openinterest
description: daily adjusted open interest qty
type: daily
- name: settlement
description: daily settlement prices
type: daily
- name: ohlct
description: daily trade statistics open/high/log/close/totel_volume
type: daily
DatasetResultsWithMeta:
properties:
data:
type: array
items:
type: object
meta:
type: array
items:
$ref: '#/components/schemas/FieldSpec'
example:
data:
- - 65851025
- 65851025
- 1.11895E12
- 10000.0
- 14
- 20200521
- XEUR
- 589
- - 65501498
- 65501498
- 1.1758E12
- 10000.0
- 14
- 20200528
- XEUR
- 589
- - 99422946
- 99422946
- 3.057E9
- 1.958E7
- 14
- 20200522
- XETR
- 52983
- - 84087632
- 84087632
- 1.0639E12
- 10000.0
- 14
- 20200506
- XEUR
- 589
meta:
- name: date
type: int
- name: time
type: int
- name: price
type: double
- name: quantity
type: double
- name: tradeid
type: int
- name: day
type: int
- name: market
type: string
- name: marketsegmentid
type: int
DatasetSpecs:
properties:
name:
type: string
fields:
type: array
items:
$ref: '#/components/schemas/FieldSpec'
partitionFields:
type: array
items:
$ref: '#/components/schemas/FieldSpec'
statistics:
$ref: '#/components/schemas/StatisticSpec'
example:
name: TRADES
fields:
- name: Market
type: String
- name: MarketSegmentID
type: INTEGER
- name: SecurityID
type: Integer
partitionFields:
- name: Date
type: DATE
- name: Market
type: String
- name: MarketSegmentID
type: INTEGER
statistics:
numberOfRows: 9998726
allocatedDiscSpace: 20GB
FieldSpec_2:
properties:
name:
type: string
type:
type: string
info:
type: string
presence:
type: string
query:
type: string
example:
name: Market
type: String
info: Market information
presence: mandatory
query: mandatory
Datasets:
properties:
datasets:
type: array
items:
type: string
example:
datasets:
- TRADES
- DEPTH21
- QUOTE_MINBYMIN
OwnerList:
properties:
owners:
type: array
items:
type: string
example:
owners:
- DBAG
- ClientA
DatasetResults:
properties:
data:
type: string
example: 'market,price,marketsegmentid,day,ts
XETR,77400,52105,20210127,1611734640138020461
XETR,77550,52105,20210127,1611734640138484359
XETR,77500,52105,20210127,1611734645905770626
XETR,77450,52105,20210127,1611734647820975768
'
OwnerTablesList:
properties:
owners:
type: array
items:
$ref: '#/components/schemas/OwnerTable'
example:
- owner: DBAG
dataSets:
- name: dataSet1,
fields:
- name: time
type: bigint
- name: volume
type: bigint
partitionFields:
- name: day
type: int
- name: market
type: string
statistics: null
- name: dataSet2,
fields:
- name: time
type: bigint
- name: volume
type: bigint
partitionFields:
- name: day
type: int
- name: market
type: string
statistics: null
- owner: ClientA
dataSets:
- name: dataSet3,
fields:
- name: time
type: bigint
- name: volume
type: bigint
partitionFields:
- name: day
type: int
- name: market
type: string
statistics: null
OwnerTable:
properties:
owner:
type: string
dataSets:
type: array
items:
type: object
properties:
name:
type: string
fields:
type: array
items:
type: object
properties:
name:
type: string
type:
type: string
partitionFields:
type: array
items:
type: object
properties:
name:
type: string
type:
type: string
statistics:
type: array
items:
type: object
Dataset:
properties:
name:
type: string
info:
type: string
license:
type: string
type:
type: string
format:
type: string
firstDate:
type: integer
lastDate:
type: integer
rate:
$ref: '#/components/schemas/DatasetRate'
securitySchemes:
bearerAuth:
type: http
scheme: bearer