openapi: 3.0.0 info: title: A7 Analytics Platform - Algo management Algo management API Market data API (EOBI) 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: Market data API (EOBI) paths: /eobi: get: tags: - Market data API (EOBI) summary: Retrieve list of markets description: The request delivers all available markets as a list of MarketIDs. operationId: getMarketIds responses: '200': description: successful operation content: application/json: schema: oneOf: - $ref: '#/components/schemas/MarketIDs' - $ref: '#/components/schemas/InternalError' example: MarketIDs: - XETR - XEUR application/gzip: schema: oneOf: - $ref: '#/components/schemas/MarketIDs' - $ref: '#/components/schemas/InternalError' format: binary example: MarketIDs: - XETR - XEUR '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' /eobi/{marketId}: get: tags: - Market data API (EOBI) summary: Retrieve list of trading days description: The request delivers all available trading days for the selected market as a list of dates (YYYYMMDD). operationId: getAvailableDates parameters: - $ref: '#/components/parameters/marketId' responses: '200': description: successful operation content: application/json: schema: oneOf: - $ref: '#/components/schemas/Dates' - $ref: '#/components/schemas/InternalError' example: Dates: - 20200629 - 20200630 application/gzip: schema: oneOf: - $ref: '#/components/schemas/Dates' - $ref: '#/components/schemas/InternalError' format: binary example: Dates: - 20200629 - 20200630 '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' /eobi/{marketId}/{date}: get: tags: - Market data API (EOBI) summary: Retrieve list of products description: The request delivers a list of all available products for the selected market and trading day as a list of MarketSegmentIDs. operationId: getMarketSegmentIds parameters: - $ref: '#/components/parameters/marketId' - $ref: '#/components/parameters/date' responses: '200': description: successful operation content: application/json: schema: oneOf: - $ref: '#/components/schemas/MarketSegmentIDs' - $ref: '#/components/schemas/InternalError' example: MarketSegmentIDs: - 3 - 5 - 21 application/gzip: schema: oneOf: - $ref: '#/components/schemas/MarketSegmentIDs' - $ref: '#/components/schemas/InternalError' format: binary example: MarketSegmentIDs: - 3 - 5 - 21 '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' /eobi/{marketId}/{date}/{marketSegmentId}: get: tags: - Market data API (EOBI) summary: Retrieve list of instruments description: The request delivers a list of all instruments for the selected market, trading day and MarketSegmentID as a list of SecurityIDs. operationId: getSecurityIds parameters: - $ref: '#/components/parameters/marketId' - $ref: '#/components/parameters/date' - $ref: '#/components/parameters/marketSegmentId' responses: '200': description: successful operation content: application/json: schema: oneOf: - $ref: '#/components/schemas/SecurityIDs' - $ref: '#/components/schemas/InternalError' example: SecurityIDs: - 2346321 - 3426522 - 3242343 application/gzip: schema: oneOf: - $ref: '#/components/schemas/SecurityIDs' - $ref: '#/components/schemas/InternalError' format: binary example: SecurityIDs: - 2346321 - 3426522 - 3242343 '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' /eobi/{marketId}/{date}/{marketSegmentId}/{securityId}: get: tags: - Market data API (EOBI) summary: Retrieve list of transaction times description: 'The request delivers a list of the available transaction times for the selected market, trading day, MarketSegmentID and SecurityID as a list of TransactTimes. ' operationId: getTransactTimes parameters: - $ref: '#/components/parameters/marketId' - $ref: '#/components/parameters/date' - $ref: '#/components/parameters/marketSegmentId' - $ref: '#/components/parameters/securityId' - $ref: '#/components/parameters/mode' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/from' - $ref: '#/components/parameters/to' - $ref: '#/components/parameters/applSeqNumFilter' responses: '200': description: successful operation content: application/json: schema: oneOf: - $ref: '#/components/schemas/TransactTimes' - $ref: '#/components/schemas/InternalError' example: TransactTimes: - '1589175000156121100' - '1589180100007332308' - '1589180400061095876' application/gzip: schema: oneOf: - $ref: '#/components/schemas/TransactTimes' - $ref: '#/components/schemas/InternalError' format: binary example: TransactTimes: - '1589175000156121100' - '1589180100007332308' - '1589180400061095876' '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' /eobi/{marketId}/{date}/{marketSegmentId}/{securityId}/{transactTime}: get: tags: - Market data API (EOBI) summary: Retrieve list of application sequence numbers or list of packets description: '"The request delivers a list of the available application sequence numbers for the selected market, trading day, MarketSegmentID, SecurityID and TransactTime as a list of ApplSeqNums."
If mode is set to ''detailed'', the request returns a list of packets including their respective messages and available details. For a detailed description of the different message types please refer to the T7 EOBI documentation. ' operationId: getApplSeqNums parameters: - $ref: '#/components/parameters/marketId' - $ref: '#/components/parameters/date' - $ref: '#/components/parameters/marketSegmentId' - $ref: '#/components/parameters/securityId' - $ref: '#/components/parameters/transactTime' - $ref: '#/components/parameters/mode' - $ref: '#/components/parameters/msgSeqNumFilter' - $ref: '#/components/parameters/templateIdFilter' responses: '200': description: successful operation content: application/json: schema: oneOf: - $ref: '#/components/schemas/ApplSeqNums' - $ref: '#/components/schemas/Packets' - $ref: '#/components/schemas/InternalError' application/gzip: schema: oneOf: - $ref: '#/components/schemas/ApplSeqNums' - $ref: '#/components/schemas/Packets' - $ref: '#/components/schemas/InternalError' format: binary '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' /eobi/{marketId}/{date}/{marketSegmentId}/{securityId}/{transactTime}/{applSeqNum}: get: tags: - Market data API (EOBI) summary: Retrieve list of message sequence numbers or a list of messages description: 'The request delivers a list of the available message sequence numbers for the selected market, trading day, MarketSegmentID, SecurityID, TransactTime and ApplSeqNum as a list of MsgSeqNums.
If mode is set to ''detailed'', the request returns a list of messages and available details. For a detailed description of the different message types please refer to the T7 EOBI documentation. ' operationId: getMsgSeqNums parameters: - $ref: '#/components/parameters/marketId' - $ref: '#/components/parameters/date' - $ref: '#/components/parameters/marketSegmentId' - $ref: '#/components/parameters/securityId' - $ref: '#/components/parameters/transactTime' - $ref: '#/components/parameters/applSeqNum' - $ref: '#/components/parameters/mode' - $ref: '#/components/parameters/templateIdFilter' responses: '200': description: successful operation content: application/json: schema: oneOf: - $ref: '#/components/schemas/MsgSeqNums' - $ref: '#/components/schemas/Messages' - $ref: '#/components/schemas/InternalError' application/gzip: schema: oneOf: - $ref: '#/components/schemas/MsgSeqNums' - $ref: '#/components/schemas/Messages' - $ref: '#/components/schemas/InternalError' format: binary '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' /eobi/{marketId}/{date}/{marketSegmentId}/{securityId}/{transactTime}/{applSeqNum}/{msgSeqNum}: get: tags: - Market data API (EOBI) summary: Retrieve message details description: The request delivers the details of the message identified by the selected MarketID, trading day, MarketSegmentID, SecurityID,TransactTime, ApplSeqNum and MsgSeqNum combination. The message details consist of all fields specified in the T7 EOBI documentation for the respective message type. For a detailed description of the different message types please refer to the T7 EOBI documentation. operationId: getMessageDetails parameters: - $ref: '#/components/parameters/marketId' - $ref: '#/components/parameters/date' - $ref: '#/components/parameters/marketSegmentId' - $ref: '#/components/parameters/securityId' - $ref: '#/components/parameters/transactTime' - $ref: '#/components/parameters/applSeqNum' - $ref: '#/components/parameters/msgSeqNum' responses: '200': description: successful operation content: application/json: schema: oneOf: - $ref: '#/components/schemas/MessageDetails' - $ref: '#/components/schemas/InternalError' example: MessageHeader: BodyLen: 32 TemplateID: 13301 MsgSeqNum: 27 ApplSeqNum: 6745122 SecurityID: 4233128 SecurityStatus: 1 SecurityTradingStatus: 204 MarketCondition: 0 FastMarketIndicator: 0 SecurityTradingEvent: null SoldOutIndicator: null TransactTime: '1589180100007258166' application/gzip: schema: oneOf: - $ref: '#/components/schemas/MessageDetails' - $ref: '#/components/schemas/InternalError' example: MessageHeader: BodyLen: 32 TemplateID: 13301 MsgSeqNum: 27 ApplSeqNum: 6745122 SecurityID: 4233128 SecurityStatus: 1 SecurityTradingStatus: 204 MarketCondition: 0 FastMarketIndicator: 0 SecurityTradingEvent: null SoldOutIndicator: null TransactTime: '1589180100007258166' '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' components: schemas: MessageDetails: properties: MessageDetails: type: object example: MessageHeader: BodyLen: 32 TemplateID: 13301 MsgSeqNum: 27 ApplSeqNum: 6745122 SecurityID: 4233128 SecurityStatus: 1 SecurityTradingStatus: 204 MarketCondition: 0 FastMarketIndicator: 0 SecurityTradingEvent: null SoldOutIndicator: null TransactTime: '1589180100007258166' description: "Please see the T7 EOBI documentation for a detailed description of the supported message types.
The following message types are supported by the API:\n * MarketDataOrder (U21)\n * MarketDataTrade (U22)\n * MarketDataInstrument (U23)\n * TradingSessionStatus (h)\n * SecurityMassStatus (CO)\n * SecurityStatus (f)\n * SecurityDefinitionUpdateReport (BP) \n" Packets: properties: Packets: type: array items: type: object example: - MessageHeader: BodyLen: 32 TemplateID: 13301 MsgSeqNum: 27 ApplSeqNum: 6745122 SecurityID: 4233128 SecurityStatus: 1 SecurityTradingStatus: 204 MarketCondition: 0 FastMarketIndicator: 0 SecurityTradingEvent: null SoldOutIndicator: null TransactTime: '1589180100007258166' MsgSeqNums: properties: MsgSeqNums: type: array items: type: integer example: - 4294967295 - 3224966211 InternalError: properties: success: type: string example: 'false' message: type: string example: Error message required: - success - message SecurityIDs: properties: SecurityIDs: type: array items: type: integer example: - '2786758' - '3593999' - '4005044' ApplSeqNums: properties: ApplSeqNums: type: array items: type: integer example: - 6745122 - 5468432 Messages: properties: Messages: type: array items: type: object example: - MessageHeader: BodyLen: 32 TemplateID: 13301 MsgSeqNum: 27 ApplSeqNum: 6745122 SecurityID: 4233128 SecurityStatus: 1 SecurityTradingStatus: 204 MarketCondition: 0 FastMarketIndicator: 0 SecurityTradingEvent: null SoldOutIndicator: null TransactTime: '1589180100007258166' Dates: properties: Dates: type: array items: type: integer example: - 20200102 - 20200103 - 20200106 MarketSegmentIDs: properties: MarketSegmentIDs: type: array items: type: integer example: - 589 - 675 - 1210 TransactTimes: properties: TransactTimes: type: array items: type: string format: UTCTimestamp example: - '1589175000156121100' - '1589180100007332308' - '1589180400061095876' - '1589211910025122757' MarketIDs: properties: MarketIDs: type: array items: type: string example: - XETR - XEUR parameters: date: name: date in: path description: Trading day in the format YYYYMMDD example: 20200106 required: true schema: type: integer applSeqNumFilter: name: ApplSeqNum in: query description: 'Filter by application sequence number.
(Multiple values must be separated by comma) ' example: 6745122 required: false schema: type: integer marketSegmentId: name: marketSegmentId in: path description: Unique product identifier or product pool identifier on T7 example: 1210 required: true schema: type: integer mode: in: query name: mode 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 messages including their details\n" required: false schema: type: string enum: - reference - detailed msgSeqNum: name: msgSeqNum in: path description: Message sequence number. example: '4294967295' required: true schema: type: integer limit: name: limit in: query description: Max number of elements in the response. required: false schema: type: integer example: 100 default: No restriction transactTime: name: transactTime in: path description: Transaction time as nanoseconds since 1970 example: '1589175000156121100' required: true schema: type: string format: UTCTimestamp applSeqNum: name: applSeqNum in: path description: Application sequence number example: '6745122' required: true schema: type: integer to: name: to in: query description: 'Ending time for the time interval filter.
Format: Nanoseconds since 1970 (EOBI TransactTime) ' example: '1589175000156121100' required: false schema: type: string msgSeqNumFilter: name: MsgSeqNum in: query description: 'Filter by message sequence number.
(Multiple values must be separated by comma) ' example: 4294967295 required: false schema: type: integer templateIdFilter: name: TemplateId in: query description: 'Filter by template identifier.
(Multiple values must be separated by comma) ' example: 13101 required: false schema: type: integer marketId: name: marketId in: path description: Market identifier code as specified in ISO 10383. example: XEUR required: true schema: type: string from: name: from in: query description: 'Starting time for the time interval filter.
Format: Nanoseconds since 1970 (EOBI TransactTime) ' example: '1589175000156121100' required: false schema: type: string securityId: name: securityId in: path description: Unique security identifier on T7 example: 27299 required: true schema: type: integer securitySchemes: bearerAuth: type: http scheme: bearer