openapi: 3.0.0
info:
title: A7 Analytics Platform - Algo management Algo management API Auctions 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.
The A7 data can be accessed either via the user interface or via RESTful API.
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.
Security measures: 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. A token can be generated at the A7 user interface. After login the user has to click on the user icon in the upper right corner, click on API token generation and finally click on Request API key. The generated token will be displayed directly in the user interface.
'
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: Auctions
paths:
/auction/{exchange}/{date}/{marketSegmentID}/{securityID}/:
get:
tags:
- Auctions
summary: retrieves list of auction types
description: The request delivers all available auction types for the selected security that is identified by market, trading day, market segment ID and security ID.
operationId: getAuctions
parameters:
- $ref: '#/components/parameters/exchange'
- $ref: '#/components/parameters/date'
- $ref: '#/components/parameters/marketSegmentID'
- $ref: '#/components/parameters/securityID'
responses:
200:
description: successful operation
content:
application/json:
schema:
description: array of auction types
type: array
items:
$ref: '#/components/schemas/auctionType'
example:
- opening
- intraday
- closing
application/gzip:
schema:
type: array
items:
$ref: '#/components/schemas/auctionType'
format: binary
example:
- opening
- intraday
- closing
400:
$ref: '#/components/responses/400'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
404:
$ref: '#/components/responses/404'
/auction/{exchange}/{date}/{symbol}/:
get:
tags:
- Auctions
summary: retrieves list of auction types
description: The request delivers all available auction types for the selected security that is identified by market, trading day and trading symbol.
operationId: getAuctionsBySymbol
parameters:
- $ref: '#/components/parameters/exchange'
- $ref: '#/components/parameters/date'
- $ref: '#/components/parameters/symbol'
responses:
200:
description: successful operation
content:
application/json:
schema:
description: array of auction types
type: array
items:
$ref: '#/components/schemas/auctionType'
example:
- opening
- intraday
- closing
application/gzip:
schema:
type: array
items:
$ref: '#/components/schemas/auctionType'
format: binary
example:
- opening
- intraday
- closing
400:
$ref: '#/components/responses/400'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
404:
$ref: '#/components/responses/404'
/auction/{exchange}/{date}/{marketSegmentID}/{securityID}/{auctionType}:
get:
tags:
- Auctions
summary: retrieves auction's historical data and optionally simulated outcome of an auction
description: The request delivers historical data for the selected auction that is identified by market, trading day, market segment ID and security ID, and optionally a simulated outcome of an auction, if complete information of an additional order (side {side}, limit price {px}, quantity {qty}) and optionally order priority {prio} and is provided.
operationId: getAuction
parameters:
- $ref: '#/components/parameters/exchange'
- $ref: '#/components/parameters/date'
- $ref: '#/components/parameters/marketSegmentID'
- $ref: '#/components/parameters/securityID'
- $ref: '#/components/parameters/auctionType'
- $ref: '#/components/parameters/side'
- $ref: '#/components/parameters/px'
- $ref: '#/components/parameters/prio'
- $ref: '#/components/parameters/qty'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/auction'
application/gzip:
schema:
$ref: '#/components/schemas/auction'
format: binary
400:
$ref: '#/components/responses/400'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
404:
$ref: '#/components/responses/404'
/auction/{exchange}/{date}/{symbol}/{auctionType}:
get:
tags:
- Auctions
summary: retrieves auction's historical data and optionally simulated outcome of an auction
description: The request delivers historical data for the selected auction that is identified by market, trading day and trading symbol, and optionally a simulated outcome of an auction, if complete information of an additional order (side {side}, limit price {px}, quantity {qty}) and optionally order priority {prio} and is provided.
operationId: getAuctionBySymbol
parameters:
- $ref: '#/components/parameters/exchange'
- $ref: '#/components/parameters/date'
- $ref: '#/components/parameters/symbol'
- $ref: '#/components/parameters/auctionType'
- $ref: '#/components/parameters/side'
- $ref: '#/components/parameters/px'
- $ref: '#/components/parameters/prio'
- $ref: '#/components/parameters/qty'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/auction'
application/gzip:
schema:
$ref: '#/components/schemas/auction'
format: binary
400:
$ref: '#/components/responses/400'
401:
$ref: '#/components/responses/401'
403:
$ref: '#/components/responses/403'
404:
$ref: '#/components/responses/404'
components:
parameters:
securityID:
name: securityID
in: path
description: unique security identifier
required: true
schema:
$ref: '#/components/schemas/securityID'
auctionType:
name: auctionType
in: path
description: auction type
required: true
schema:
$ref: '#/components/schemas/auctionType'
date:
name: date
in: path
required: true
description: trading day in the format YYYYMMDD
schema:
$ref: '#/components/schemas/date'
marketSegmentID:
name: marketSegmentID
in: path
description: unique market segment identifier
required: true
schema:
$ref: '#/components/schemas/marketSegmentID'
symbol:
name: symbol
in: path
description: unique trading symbol identifier
required: true
schema:
$ref: '#/components/schemas/symbol'
exchange:
name: exchange
in: path
description: exhange identifier code
required: true
schema:
$ref: '#/components/schemas/exchange'
prio:
name: prio
in: query
description: order priority (default 0)
required: false
schema:
type: array
items:
$ref: '#/components/schemas/timestamp'
style: form
explode: true
side:
name: side
in: query
description: side of an order
required: false
schema:
type: array
items:
$ref: '#/components/schemas/side'
style: form
explode: true
qty:
name: qty
in: query
description: quantity of an order
required: false
schema:
type: array
items:
$ref: '#/components/schemas/qty'
style: form
explode: true
px:
name: px
in: query
description: limit price of an order, a null value corresponds to a market order
required: false
schema:
type: array
items:
oneOf:
- $ref: '#/components/schemas/px'
- $ref: '#/components/schemas/null_string'
style: form
explode: true
schemas:
symbol:
description: trading symbol
type: string
example: DB1
auction:
description: auction's historical data and optionally simulated outcome of an auction
type: object
properties:
Exchange:
$ref: '#/components/schemas/exchange'
Date:
$ref: '#/components/schemas/date'
MarketSegmentID:
$ref: '#/components/schemas/marketSegmentID'
SecurityID:
$ref: '#/components/schemas/securityID'
AuctionType:
$ref: '#/components/schemas/auctionType'
AuctionStartTimestamp:
$ref: '#/components/schemas/timestamp'
AuctionEndTimestamp:
$ref: '#/components/schemas/timestamp'
AuctionReferencePrice:
$ref: '#/components/schemas/px'
UncrossingPrice:
oneOf:
- $ref: '#/components/schemas/px'
- $ref: '#/components/schemas/null_string'
MatchedVolume:
$ref: '#/components/schemas/qty'
SimulatedUncrossingPrice:
$ref: '#/components/schemas/px'
SimulatedMatchedVolume:
$ref: '#/components/schemas/qty'
SimulatedOrders:
description: simulated orders
type: array
items:
type: object
properties:
Side:
$ref: '#/components/schemas/side'
Px:
oneOf:
- $ref: '#/components/schemas/px'
- $ref: '#/components/schemas/null_string'
Prio:
$ref: '#/components/schemas/timestamp'
Qty:
$ref: '#/components/schemas/qty'
TradedQty:
$ref: '#/components/schemas/qty'
required:
- Side
- Px
- Prio
- Qty
- TradedQty
required:
- Exchange
- Date
- MarketSegmentID
- SecurityID
- AuctionType
- AuctionStartTimestamp
- AuctionEndTimestamp
- AuctionReferencePrice
- UncrossingPrice
- MatchedVolume
securityID:
description: security ID
type: integer
format: int64
minimum: -9223372036854775808
maximum: 9223372036854775807
example: 2504978
marketSegmentID:
description: market segment ID
type: integer
format: int32
example: 52885
null_string:
description: a null string that corresponds to a market order
type: string
enum:
- 'null'
example: 'null'
side:
description: side of an order
type: string
enum:
- bid
- ask
example: bid
date:
description: date representation
type: integer
format: int32
example: 20230111
exchange:
description: exchange mic
type: string
minLength: 4
maxLength: 4
example: XETR
timestamp:
description: timestamp as number of nanoseconds since Unix epoch
type: integer
format: int64
minimum: 0
maximum: 18446744073709551615
default: 0
example: 1652962104095620563
qty:
description: quantity of an order
type: integer
format: int64
minimum: -9223372036854775808
maximum: 9223372036854775807
example: 125
px:
description: limit price of an order
type: number
format: double
example: 178.25
auctionType:
description: auction type
type: string
enum:
- opening
- intraday
- closing
example: opening
responses:
'401':
description: authorization failed
content:
text/plain:
schema:
type: string
example: specific error message
'403':
description: access denied
content:
text/plain:
schema:
type: string
example: specific error message
'404':
description: not found
'400':
description: bad request
content:
text/plain:
schema:
type: string
example: specific error message
securitySchemes:
bearerAuth:
type: http
scheme: bearer