EMSX API Programmers Guide¶
This document is for developers who will use the Bloomberg EMSX API to develop custom applications.
The Bloomberg EMSX API is available as desktop API and server-side API. The desktop API requires full Bloomberg terminal to use.
The Bloomberg API uses an event-driven model. The EMSX API is an extension of Bloomberg API 3.0 and it lets users integrate streaming real-time and static data into their own custom applications. The user can choose the data they require down to the level of individual fields. The Bloomberg API 3.0 programming interface implementations are extremely lightweight. For details to the Desktop API, please refer to the Desktop API Programmers Guide from WAPI<GO>
.
The Bloomberg API interface is thread-safe and thread-aware, giving applications the ability to utilize multiple processors efficiently. The Bloomberg API supports run-time downloadable schema for the service it provides, and it provides methods to query these schemas at runtime. This means additional service in Bloomberg API is supported without addition to the interface.
The object model for Java, .NET and C++ are identical. The C interface provides a C-style version of the object model.
Important
The Bloomberg EMSX API requires the full understanding of how Bloomberg EMSX<GO>
function works within the Bloomberg terminal. Before
starting on any EMSX API, please have your local EMSX representative provide a full training of EMSX<GO>
function. This documentation
does not include any details on how EMSX<GO>
works.
Due to the trading nature with the various Trading API’s at Bloomberg (e.g. EMSX API, IOI API, etc.) Bloomberg cannot legally assist on the client-side coding other than providing a high-level overview of the service, advice on some of the best practices approach to use the request/response paradigm and asynchronous event-driven nature of the subscription paradigm.
It is highly recommended that the technical resource working on the Trading API has extensive programming experiences and a solid understanding of software application architecture.
Warning
Please note that performance/load test should never be performed on any of the API environment as this is a shared environment and we monitor and increase capacity as needed.
Table of Contents
- Introduction
- Server Side EMSX API
- Programmable EMSX API
- EMSX Features
- EMSX Teams
- EMSX Element Definitions
- EMSX Element Definition (A to M)
- Multi-Leg Element Definition
- EMSX Element Definition (N to Z)
- Accessing the Test Environment
- API Demo Tool
- Order State Diagram
- Route State Diagram
- EMSX API Schema
- EMSX API History Service Schema
- Session Object
- Description of Request/Response Service
- Buy-Side Request/Response Service
- Assign Trader Request
- Broker Spec Request
- Cancel Order Extended Request
- Cancel Route Extended Request
- Create Basket Request
- Create Order Request
- Create Order and Route Extended Request
- Create Order And Route Manually Request
- Delete Order Request
- Get All Field Metadata Request
- Get Broker Strategies with Asset Class Request
- Get Broker Strategy Info with Asset Class Request
- Get Brokers with Asset Class Request
- Get Field Metadata Request
- Get Teams Request
- Get Trade Desks Request
- Get Traders Request
- Group Route Extended Request
- Group Route Extended Request - Multi-Leg Options
- Group Route Extended Request - Route As Spread
- Manual Fill Request
- Modify Order Extended Request
- Modify Route Extended Request
- Route Extended Request
- Route Manually Extended Request
- Sell-Side Request/Response Service
- EMSX Subscription
- Description of Subscription Messages
- Description of Event Status Messages
- Description of Order Status Messages
- Description of the Child Route Status Messages
- Description of the Child Route Status Changes
- Description of Fills using Route Subscription
- Description of Order Expiration Logic
- Description of Route Expiration Logic
- EMSX History Request
- MiFID II
- IOI API Service
- FAQ
- Glossary