openapi: 3.0.0 info: title: A7 Analytics Platform - Algo management Algo management API Order book API 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: Order book API paths: /ob/{marketId}/{date}/{marketSegmentId}/{securityId}: get: tags: - Order book API summary: Retrieve order books for T7 description: 'The request delivers either the order book valid at a given time or a list of order books for a given time period.
If `limit` is equal to `1`, the response will contain a single order book otherwise the response will contain a list of order books.
If `from` query parameter is not provided, the first order book of the day will be returned. ' operationId: getOrderbookT7 parameters: - $ref: '#/components/parameters/marketId' - $ref: '#/components/parameters/date' - $ref: '#/components/parameters/marketSegmentId' - $ref: '#/components/parameters/securityId' - $ref: '#/components/parameters/from' - $ref: '#/components/parameters/to' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/levels' - $ref: '#/components/parameters/orderbook' - $ref: '#/components/parameters/trades' - $ref: '#/components/parameters/indicatives' responses: '200': description: successful operation content: application/json: schema: oneOf: - $ref: '#/components/schemas/T7Orderbook' - $ref: '#/components/schemas/T7Orderbooks' - $ref: '#/components/schemas/InternalError' application/gzip: schema: oneOf: - $ref: '#/components/schemas/T7Orderbook' - $ref: '#/components/schemas/T7Orderbooks' - $ref: '#/components/schemas/InternalError' format: binary '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' /ob/{exchange}/{date}/{asset}/{securityId}: get: tags: - Order book API summary: Retrieve order books for CME description: 'The request delivers either the order book valid at a given time or a list of order books for a given time period.
If `limit` is equal to `1`, the response will contain a single order book otherwise the response will contain a list of order books.
If `from` query parameter is not provided, the first order book of the day will be returned. ' operationId: getOrderbookCME parameters: - $ref: '#/components/parameters/exchange' - $ref: '#/components/parameters/date' - $ref: '#/components/parameters/asset' - $ref: '#/components/parameters/securityId' - $ref: '#/components/parameters/from' - $ref: '#/components/parameters/to' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/levels' - $ref: '#/components/parameters/orderbook' - $ref: '#/components/parameters/trades' responses: '200': description: successful operation content: application/json: schema: oneOf: - $ref: '#/components/schemas/CMEOrderbook' - $ref: '#/components/schemas/CMEOrderbooks' - $ref: '#/components/schemas/InternalError' application/gzip: schema: oneOf: - $ref: '#/components/schemas/CMEOrderbook' - $ref: '#/components/schemas/CMEOrderbooks' - $ref: '#/components/schemas/InternalError' format: binary '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' components: schemas: InternalError: properties: success: type: string example: 'false' message: type: string example: Error message required: - success - message T7Orderbooks: type: array items: $ref: '#/components/schemas/T7Orderbook' T7Orderbook: type: object properties: MarketId: type: string example: XEUR MarketSegmentId: type: integer example: 3 SecurityId: type: integer example: 1552181 Timestamp: type: string format: UTCTimestamp example: 1591599781302474758 prev: type: string format: UTCTimestamp example: 1591599781297766655 next: type: string format: UTCTimestamp example: 1591599781297766665 Buy: type: array items: type: object properties: Price: type: string example: 179000000 Quantity: type: string example: 210000 OrderCount: type: integer example: 2 Orders: type: array items: type: object properties: TemplateID: type: integer example: 13101 MsgSeqNum: type: integer example: 3964 TrdRegTSTimeIn: type: string format: UTCTimestamp example: 1591599781297741667 TrdRegTSPrevTimePriority: type: string format: UTCTimestamp example: 1591599727321193695 PrevPrice: type: string example: 176000000 PrevDisplayQty: type: string example: 100000 TrdRegTSTimePriority: type: string format: UTCTimestamp example: 1591599781297766655 DisplayQty: type: integer example: 100000 Sell: type: array items: type: object properties: Price: type: string example: 246000000 Quantity: type: string example: 110000 OrderCount: type: integer example: 1 Orders: type: array items: type: object properties: TemplateID: type: integer example: 13101 MsgSeqNum: type: integer example: 3965 TrdRegTSTimeIn: type: string format: UTCTimestamp example: 1591599781297741667 TrdRegTSPrevTimePriority: type: string format: UTCTimestamp example: 1591599727321193695 PrevPrice: type: string example: 246000000 PrevDisplayQty: type: string example: 100000 TrdRegTSTimePriority: type: string format: UTCTimestamp example: 1591599781297766655 DisplayQty: type: integer example: 100000 Trades: type: array items: type: object properties: TemplateID: type: integer example: 13105 MsgSeqNum: type: integer example: 393 Side: type: string example: SELL AlgorithmicTradeIndicator: type: integer example: 1 TrdMatchID: type: integer example: 1136 Price: type: string example: 246000000 TrdRegTSTimePriority: type: string format: UTCTimestamp example: 1591599727321193695 LastQty: type: string example: 3500000 LastPx: type: string example: 246000000 Indicatives: type: array items: type: object properties: TemplateID: type: integer example: 13501 MsgSeqNum: type: integer example: 393 LastQty: type: string example: 3500000 LastPx: type: string example: 246000000 ImbalanceQty: type: string example: 3500000 ImbalanceSide: type: string example: BUY SecurityTradingStatus: type: string example: 7 PotentialSecurityTradingEvent: type: string example: 0 required: - TemplateID - MsgSeqNum - LastPx required: - MarketId - MarketSegmentId - SecurityId - Timestamp CMEOrderbooks: type: array items: $ref: '#/components/schemas/CMEOrderbook' CMEOrderbook: type: object properties: Exchange: type: string example: XCEC Asset: type: string example: HG SecurityId: type: integer example: 14334 Timestamp: type: string format: UTCTimestamp example: 1651010868506262487 prev: type: string format: UTCTimestamp example: 1651010610978256347 next: type: string format: UTCTimestamp example: 1651010878790821909 Buy: type: array items: type: object properties: Price: type: string example: 45505000000000 Quantity: type: string example: 2 OrderCount: type: integer example: 1 Orders: type: array items: type: object properties: OrderID: type: integer example: 766951730572 MDOrderPriority: type: integer example: 13109289399 MDEntryPx: type: object properties: mantissa: type: integer example: 45505000000000 exponent: type: integer example: -9 MDDisplayQty: type: integer example: 2 SecurityID: type: integer example: 14334 MDUpdateAction: type: string example: New MDEntryType: type: string example: Bid Sell: type: array items: type: object properties: Price: type: string example: 45200000000000 Quantity: type: string example: 13 OrderCount: type: integer example: 1 Orders: type: array items: type: object properties: OrderID: type: integer example: 766858203326 MDOrderPriority: type: integer example: 13001112903 MDEntryPx: type: object properties: mantissa: type: integer example: 45200000000000 exponent: type: integer example: -9 MDDisplayQty: type: integer example: 13 SecurityID: type: integer example: 14334 MDUpdateAction: type: string example: New MDEntryType: type: string example: Ask Trades: type: array items: type: object required: - Exchange - Asset - SecurityId - Timestamp parameters: marketId: name: marketId in: path description: Market identifier code as specified in ISO 10383. example: XEUR required: true schema: type: string limit: name: limit in: query description: Max number of elements in the response (Minimum = 1 / Maximum = 10000). required: false schema: type: integer default: 1 minimum: 1 maximum: 10000 asset: name: asset in: path description: Unique product identifier or product pool identifier. example: GE required: true schema: type: string levels: name: levels in: query description: Define depth of the order book. required: false schema: type: integer default: 10 minimum: 1 from: name: from in: query description: 'Timestamp of when the order book was valid or starting time of the time interval.
Format: Nanoseconds since 1970 (EOBI TransactTime) ' example: '1589175000156121100' required: false schema: type: string default: '0' to: name: to in: query description: "Ending time of the time interval.
Format: Nanoseconds since 1970 (EOBI TransactTime) \n" example: '1589175000156121100' required: false schema: type: string default: '9999999999999999999' orderbook: name: orderbook in: query description: "Define if orders should be shown or aggregated.
Mode options:\n * aggregated = Aggregate orders\n * complete = Display orders\n" required: false schema: type: string default: aggregated securityId: name: securityId in: path description: Unique security identifier example: 27299 required: true schema: type: integer exchange: name: exchange in: path description: Exchange identifier code. example: XCME required: true schema: type: string trades: name: trades in: query description: Display trades. required: false schema: type: boolean default: false date: name: date in: path description: Trading day in the format YYYYMMDD example: '20200106' required: true schema: type: string pattern: ^\d{8}$ indicatives: name: indicatives in: query description: Indicative auction uncrossing. required: false schema: type: boolean default: false marketSegmentId: name: marketSegmentId in: path description: Unique product identifier or product pool identifier on T7. example: '1210' required: true schema: type: integer securitySchemes: bearerAuth: type: http scheme: bearer