openapi: 3.0.0 info: title: A7 Analytics Platform - Algo management Algo management API Sending times, packets, messages 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: Sending times, packets, messages paths: /mdp/{exchange}/{date}/{asset}/{securityId}: get: tags: - Sending times, packets, messages summary: retrieves list of packets' sending times, or complete packets description: The request delivers a list of the available sending times, or alternatively complete packets for the selected exchange, trading day, asses and security. operationId: getTransactTimes parameters: - $ref: '#/components/parameters/exchange' - $ref: '#/components/parameters/date' - $ref: '#/components/parameters/asset' - $ref: '#/components/parameters/securityID' - $ref: '#/components/parameters/mode' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/from' - $ref: '#/components/parameters/to' - $ref: '#/components/parameters/msgSeqNum' - $ref: '#/components/parameters/templateID' responses: 200: description: successful operation content: application/json: schema: oneOf: - $ref: '#/components/schemas/sendingTimes' - $ref: '#/components/schemas/packetDetails' - $ref: '#/components/schemas/InternalError' application/gzip: schema: oneOf: - $ref: '#/components/schemas/sendingTimes' - $ref: '#/components/schemas/packetDetails' - $ref: '#/components/schemas/InternalError' format: binary 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 404: $ref: '#/components/responses/404' /mdp/{exchange}/{date}/{asset}/{securityId}/{sendingTime}: get: tags: - Sending times, packets, messages summary: retrieves packet details description: 'The request delivers the details of the packet identified by the selected exchange, trading day, asset, security and packet''s sending time.
For a detailed description of the different message types please refer to the CME MDP documentation. ' operationId: getPacketDetails parameters: - $ref: '#/components/parameters/exchange' - $ref: '#/components/parameters/date' - $ref: '#/components/parameters/asset' - $ref: '#/components/parameters/securityID' - $ref: '#/components/parameters/sendingTime' responses: 200: description: successful operation content: application/json: schema: oneOf: - $ref: '#/components/schemas/packetDetail' - $ref: '#/components/schemas/InternalError' application/gzip: schema: oneOf: - $ref: '#/components/schemas/packetDetail' - $ref: '#/components/schemas/InternalError' format: binary 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' templateID: name: templateId in: query description: array of templateIDs used as a filter to select packets (multiple values are separated by comma) required: false schema: type: array items: type: integer format: int32 minimum: 0 example: 46 style: form explode: false sendingTime: name: sendingTime in: path description: packet's sending time required: true schema: $ref: '#/components/schemas/timestamp' date: name: date in: path required: true description: trading day in the format YYYYMMDD schema: $ref: '#/components/schemas/date' asset: name: asset in: path description: unique asset identifier required: true schema: $ref: '#/components/schemas/asset' exchange: name: exchange in: path description: exhange identifier code required: true schema: $ref: '#/components/schemas/exchange' msgSeqNum: name: msgSeqNum in: query description: array of packet's sequence numbers used as a filter to select packets (multiple values are separated by comma) required: false schema: type: array items: type: integer format: int64 minimum: 1 example: 22902064 style: form explode: false limit: name: limit in: query description: max number of elements in the response required: false schema: type: integer format: int32 minimum: 1 maximum: 10000 default: 1000 example: 10 to: name: to in: query description: packet's sending time as a global end time for (multiple) time interval selection required: false schema: $ref: '#/components/schemas/timestamp' example: null from: name: from in: query description: array of packet's sending times as start times for (multiple) time interval selection (multiple values are separated by comma) required: false schema: type: array items: $ref: '#/components/schemas/timestamp' style: form explode: false mode: name: mode in: query description: "Define the output format for the response.
Mode options:\n * `reference` (default) - Shows a list of the referencing IDs\n * `detailed` - Shows a list of packets with messages including their details\n" required: false schema: type: string enum: - reference - detailed default: reference schemas: sendingTimes: type: object properties: SendingTimes: description: array of packets' sending times type: array items: $ref: '#/components/schemas/timestamp' example: - '1673390700086106154' - '1673390700088531122' - '1673390700088549040' securityID: description: Security ID type: integer format: int32 example: 206299 InternalError: properties: success: type: string example: false message: type: string example: Error message required: - success - message asset: description: asset code also known as product code type: string maxLength: 6 example: ES packetDetail: description: packet's details type: object properties: Messages: description: packet header, size header, messages type: object date: description: date representation type: integer format: int32 minLength: 8 maxLength: 8 example: 20230111 exchange: description: exchange mic type: string minLength: 4 maxLength: 4 example: XCME timestamp: description: timestamp as number of nanoseconds since Unix epoch type: string example: '1673390700086106154' packetDetails: type: object properties: Packets: description: array of packets' details type: array items: description: array of packet's details type: array items: description: packet header, size header, messages type: object securitySchemes: bearerAuth: type: http scheme: bearer