Bloomberg EMSX Routes API

Create, modify, delete, and manage order routes to brokers

Operations 5

GET /routes Bloomberg EMSX List routes #
GET /routes/{routeId} Bloomberg EMSX Get route details #
PATCH /routes/{routeId} Bloomberg EMSX Modify an existing route #
DELETE /routes/{routeId} Bloomberg EMSX Cancel a route #
POST /routes/manualFill Bloomberg EMSX Create a manual fill #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bloomberg-emsx-routes-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bloomberg-emsx-routes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bloomberg EMSX Trading Brokers Routes API
  description: Bloomberg Execution Management System (EMSX) API provides programmatic access to Bloomberg's order and execution management platform. It enables automated order creation, routing, modification, and execution monitoring for equity, fixed income, futures, and options trading across global markets. The API supports order lifecycle management, broker selection, route management, and real-time fill notifications through the Bloomberg Terminal and B-PIPE infrastructure.
  version: '1.0'
  contact:
    name: Bloomberg Professional Support
    url: https://www.bloomberg.com/professional/support/
  termsOfService: https://www.bloomberg.com/notices/tos/
servers:
- url: https://api.bloomberg.com/emsxapi/v1
  description: Bloomberg EMSX Production API
security:
- bearerAuth: []
tags:
- name: Routes
  description: Create, modify, delete, and manage order routes to brokers
paths:
  /routes:
    get:
      operationId: listRoutes
      summary: Bloomberg EMSX List routes
      description: Retrieve a list of routes across all orders. Supports filtering by route status, broker, and associated order. Returns route-level fields including broker, strategy, filled amount, and average price.
      tags:
      - Routes
      parameters:
      - $ref: '#/components/parameters/teamName'
      - name: status
        in: query
        description: Filter routes by status
        schema:
          type: string
          enum:
          - NEW
          - WORKING
          - PARTIALLY_FILLED
          - FILLED
          - CANCELLED
          - REJECTED
      - name: broker
        in: query
        description: Filter by broker code
        schema:
          type: string
      - name: orderSequenceNumber
        in: query
        description: Filter routes by parent order sequence number
        schema:
          type: integer
      - name: limit
        in: query
        description: Maximum number of routes to return
        schema:
          type: integer
          default: 100
          maximum: 1000
      - name: offset
        in: query
        description: Number of routes to skip for pagination
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: List of routes retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  routes:
                    type: array
                    items:
                      $ref: '#/components/schemas/Route'
                  totalCount:
                    type: integer
                    description: Total number of routes matching the filter
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /routes/{routeId}:
    get:
      operationId: getRoute
      summary: Bloomberg EMSX Get route details
      description: Retrieve detailed information about a specific route, including broker, strategy, fill status, and all route-level fields.
      tags:
      - Routes
      parameters:
      - $ref: '#/components/parameters/routeId'
      responses:
        '200':
          description: Route details retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Route'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: modifyRoute
      summary: Bloomberg EMSX Modify an existing route
      description: Modify fields on an existing route such as amount, limit price, or strategy parameters. Only working or partially filled routes can be modified.
      tags:
      - Routes
      parameters:
      - $ref: '#/components/parameters/routeId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModifyRouteRequest'
      responses:
        '200':
          description: Route modified successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouteResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: Route cannot be modified in its current state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    delete:
      operationId: cancelRoute
      summary: Bloomberg EMSX Cancel a route
      description: Cancel an active route. Sends a cancel request to the broker. Only working or partially filled routes can be cancelled.
      tags:
      - Routes
      parameters:
      - $ref: '#/components/parameters/routeId'
      responses:
        '204':
          description: Route cancellation requested successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: Route cannot be cancelled in its current state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /routes/manualFill:
    post:
      operationId: createManualFill
      summary: Bloomberg EMSX Create a manual fill
      description: Manually record a fill against a route. Used for reporting executions that occurred outside of electronic routing, such as voice-brokered trades.
      tags:
      - Routes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManualFillRequest'
      responses:
        '201':
          description: Manual fill created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FillResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          description: Fill validation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  parameters:
    teamName:
      name: teamName
      in: query
      description: EMSX team name for shared blotter access
      schema:
        type: string
    routeId:
      name: routeId
      in: path
      required: true
      description: EMSX route identifier
      schema:
        type: integer
  schemas:
    ManualFillRequest:
      type: object
      required:
      - orderSequenceNumber
      - routeId
      - fillAmount
      - fillPrice
      properties:
        orderSequenceNumber:
          type: integer
          description: Parent order sequence number
        routeId:
          type: integer
          description: Route identifier to fill against
        fillAmount:
          type: number
          minimum: 1
          description: Fill quantity
        fillPrice:
          type: number
          description: Fill price
        broker:
          type: string
          description: Executing broker code
        settlementDate:
          type: string
          format: date
          description: Settlement date
        notes:
          type: string
          description: Notes for the manual fill
    ModifyRouteRequest:
      type: object
      properties:
        amount:
          type: number
          minimum: 1
          description: Updated route quantity
        limitPrice:
          type: number
          description: Updated limit price
        orderType:
          type: string
          description: Updated order type
        timeInForce:
          type: string
          description: Updated time in force
        strategyParameters:
          type: object
          additionalProperties: true
          description: Updated strategy parameters
    Error:
      type: object
      properties:
        code:
          type: string
          description: Error code
        message:
          type: string
          description: Human-readable error message
        details:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
                description: Field that caused the error
              message:
                type: string
                description: Detail about the field error
          description: Detailed error information
    FillResponse:
      type: object
      properties:
        fillId:
          type: integer
          description: Created fill identifier
        status:
          type: string
          description: Fill status
        message:
          type: string
          description: Status message
    RouteResponse:
      type: object
      properties:
        routeId:
          type: integer
          description: Route identifier
        status:
          type: string
          description: Route status
        message:
          type: string
          description: Status message
    Route:
      type: object
      properties:
        routeId:
          type: integer
          description: EMSX route identifier
        orderSequenceNumber:
          type: integer
          description: Parent order sequence number
        ticker:
          type: string
          description: Bloomberg security ticker
        side:
          type: string
          enum:
          - BUY
          - SELL
          - SHORT
          - COVER
          description: Route side
        amount:
          type: number
          description: Route quantity
        filledAmount:
          type: number
          description: Quantity filled on this route
        averagePrice:
          type: number
          description: Average fill price on this route
        remainingAmount:
          type: number
          description: Remaining unfilled quantity
        broker:
          type: string
          description: Broker code
        brokerName:
          type: string
          description: Full broker name
        strategy:
          type: string
          description: Execution strategy name
        strategyParameters:
          type: object
          additionalProperties: true
          description: Strategy-specific parameters
        status:
          type: string
          enum:
          - NEW
          - WORKING
          - PARTIALLY_FILLED
          - FILLED
          - CANCELLED
          - REJECTED
          description: Current route status
        limitPrice:
          type: number
          description: Limit price for the route
        orderType:
          type: string
          description: Order type on the route
        timeInForce:
          type: string
          description: Time in force on the route
        account:
          type: string
          description: Trading account
        exchange:
          type: string
          description: Destination exchange
        reasonCode:
          type: string
          description: Rejection or cancellation reason code
        reasonDescription:
          type: string
          description: Human-readable reason description
        createdTime:
          type: string
          format: date-time
          description: Timestamp when route was created
        lastModifiedTime:
          type: string
          format: date-time
          description: Timestamp when route was last modified
        lastFillTime:
          type: string
          format: date-time
          description: Timestamp of the most recent fill
        customFields:
          type: object
          additionalProperties: true
          description: Custom user-defined fields
  responses:
    Unauthorized:
      description: Authentication required or invalid credentials
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Insufficient permissions for this operation
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bloomberg API authentication token obtained via Bloomberg B-PIPE or Bloomberg Terminal authentication
externalDocs:
  description: Bloomberg EMSX API Documentation
  url: https://www.bloomberg.com/professional/support/api-library/