Bloomberg EMSX · Capability

Bloomberg EMSX Trading API

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.

Run with Naftiko BloombergEmsxAPI

What You Can Do

GET
Listorders — Bloomberg EMSX List orders
/orders
POST
Createorder — Bloomberg EMSX Create a new order
/orders
GET
Getorder — Bloomberg EMSX Get order details
/orders/{orderSequenceNumber}
PATCH
Modifyorder — Bloomberg EMSX Modify an existing order
/orders/{orderSequenceNumber}
DELETE
Deleteorder — Bloomberg EMSX Delete an order
/orders/{orderSequenceNumber}
POST
Createorderandroute — Bloomberg EMSX Create an order and route it simultaneously
/orders/createAndRoute
POST
Grouprouteorders — Bloomberg EMSX Route multiple orders to a broker
/orders/groupRoute
GET
Listroutes — Bloomberg EMSX List routes
/routes
GET
Getroute — Bloomberg EMSX Get route details
/routes/{routeId}
PATCH
Modifyroute — Bloomberg EMSX Modify an existing route
/routes/{routeId}
DELETE
Cancelroute — Bloomberg EMSX Cancel a route
/routes/{routeId}
POST
Createmanualfill — Bloomberg EMSX Create a manual fill
/routes/manualFill
GET
Listfills — Bloomberg EMSX List fills
/fills
GET
Getfill — Bloomberg EMSX Get fill details
/fills/{fillId}
GET
Listbrokers — Bloomberg EMSX List available brokers
/brokers
GET
Listbrokerstrategies — Bloomberg EMSX List broker strategies
/brokers/{brokerCode}/strategies
GET
Listteams — Bloomberg EMSX List EMSX teams
/teams
GET
Listorderfields — Bloomberg EMSX List available order fields
/fields/order
GET
Listroutefields — Bloomberg EMSX List available route fields
/fields/route

MCP Tools

listorders

Bloomberg EMSX List orders

read-only idempotent
createorder

Bloomberg EMSX Create a new order

getorder

Bloomberg EMSX Get order details

read-only idempotent
modifyorder

Bloomberg EMSX Modify an existing order

deleteorder

Bloomberg EMSX Delete an order

idempotent
createorderandroute

Bloomberg EMSX Create an order and route it simultaneously

grouprouteorders

Bloomberg EMSX Route multiple orders to a broker

listroutes

Bloomberg EMSX List routes

read-only idempotent
getroute

Bloomberg EMSX Get route details

read-only idempotent
modifyroute

Bloomberg EMSX Modify an existing route

cancelroute

Bloomberg EMSX Cancel a route

idempotent
createmanualfill

Bloomberg EMSX Create a manual fill

listfills

Bloomberg EMSX List fills

read-only idempotent
getfill

Bloomberg EMSX Get fill details

read-only idempotent
listbrokers

Bloomberg EMSX List available brokers

read-only idempotent
listbrokerstrategies

Bloomberg EMSX List broker strategies

read-only idempotent
listteams

Bloomberg EMSX List EMSX teams

read-only idempotent
listorderfields

Bloomberg EMSX List available order fields

read-only idempotent
listroutefields

Bloomberg EMSX List available route fields

read-only idempotent

Capability Spec

bloomberg-emsx-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Bloomberg EMSX Trading 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.
  tags:
  - Bloomberg
  - Emsx
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: bloomberg-emsx
    baseUri: https://api.bloomberg.com/emsxapi/v1
    description: Bloomberg EMSX Trading API HTTP API.
    authentication:
      type: bearer
      token: '{{BLOOMBERG_EMSX_TOKEN}}'
    resources:
    - name: orders
      path: /orders
      operations:
      - name: listorders
        method: GET
        description: Bloomberg EMSX List orders
        inputParameters:
        - name: status
          in: query
          type: string
          description: Filter orders by status
        - name: ticker
          in: query
          type: string
          description: Filter by Bloomberg security ticker
        - name: side
          in: query
          type: string
          description: Filter by order side
        - name: fromDate
          in: query
          type: string
          description: Filter orders created on or after this date
        - name: toDate
          in: query
          type: string
          description: Filter orders created on or before this date
        - name: limit
          in: query
          type: integer
          description: Maximum number of orders to return
        - name: offset
          in: query
          type: integer
          description: Number of orders to skip for pagination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createorder
        method: POST
        description: Bloomberg EMSX Create a new order
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: orders-ordersequencenumber
      path: /orders/{orderSequenceNumber}
      operations:
      - name: getorder
        method: GET
        description: Bloomberg EMSX Get order details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: modifyorder
        method: PATCH
        description: Bloomberg EMSX Modify an existing order
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteorder
        method: DELETE
        description: Bloomberg EMSX Delete an order
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: orders-createandroute
      path: /orders/createAndRoute
      operations:
      - name: createorderandroute
        method: POST
        description: Bloomberg EMSX Create an order and route it simultaneously
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: orders-grouproute
      path: /orders/groupRoute
      operations:
      - name: grouprouteorders
        method: POST
        description: Bloomberg EMSX Route multiple orders to a broker
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: routes
      path: /routes
      operations:
      - name: listroutes
        method: GET
        description: Bloomberg EMSX List routes
        inputParameters:
        - name: status
          in: query
          type: string
          description: Filter routes by status
        - name: broker
          in: query
          type: string
          description: Filter by broker code
        - name: orderSequenceNumber
          in: query
          type: integer
          description: Filter routes by parent order sequence number
        - name: limit
          in: query
          type: integer
          description: Maximum number of routes to return
        - name: offset
          in: query
          type: integer
          description: Number of routes to skip for pagination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: routes-routeid
      path: /routes/{routeId}
      operations:
      - name: getroute
        method: GET
        description: Bloomberg EMSX Get route details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: modifyroute
        method: PATCH
        description: Bloomberg EMSX Modify an existing route
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: cancelroute
        method: DELETE
        description: Bloomberg EMSX Cancel a route
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: routes-manualfill
      path: /routes/manualFill
      operations:
      - name: createmanualfill
        method: POST
        description: Bloomberg EMSX Create a manual fill
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: fills
      path: /fills
      operations:
      - name: listfills
        method: GET
        description: Bloomberg EMSX List fills
        inputParameters:
        - name: ticker
          in: query
          type: string
          description: Filter fills by Bloomberg security ticker
        - name: broker
          in: query
          type: string
          description: Filter fills by broker code
        - name: orderSequenceNumber
          in: query
          type: integer
          description: Filter fills by parent order sequence number
        - name: routeId
          in: query
          type: integer
          description: Filter fills by route identifier
        - name: fromDate
          in: query
          type: string
          description: Filter fills on or after this date
        - name: toDate
          in: query
          type: string
          description: Filter fills on or before this date
        - name: limit
          in: query
          type: integer
          description: Maximum number of fills to return
        - name: offset
          in: query
          type: integer
          description: Number of fills to skip for pagination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: fills-fillid
      path: /fills/{fillId}
      operations:
      - name: getfill
        method: GET
        description: Bloomberg EMSX Get fill details
        inputParameters:
        - name: fillId
          in: path
          type: integer
          required: true
          description: Unique identifier of the fill
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: brokers
      path: /brokers
      operations:
      - name: listbrokers
        method: GET
        description: Bloomberg EMSX List available brokers
        inputParameters:
        - name: assetClass
          in: query
          type: string
          description: Filter brokers by asset class
        - name: ticker
          in: query
          type: string
          description: Bloomberg ticker to find brokers available for a specific security
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: brokers-brokercode-strategies
      path: /brokers/{brokerCode}/strategies
      operations:
      - name: listbrokerstrategies
        method: GET
        description: Bloomberg EMSX List broker strategies
        inputParameters:
        - name: brokerCode
          in: path
          type: string
          required: true
          description: Bloomberg broker code
        - name: assetClass
          in: query
          type: string
          description: Filter strategies by asset class
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: teams
      path: /teams
      operations:
      - name: listteams
        method: GET
        description: Bloomberg EMSX List EMSX teams
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: fields-order
      path: /fields/order
      operations:
      - name: listorderfields
        method: GET
        description: Bloomberg EMSX List available order fields
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: fields-route
      path: /fields/route
      operations:
      - name: listroutefields
        method: GET
        description: Bloomberg EMSX List available route fields
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: bloomberg-emsx-rest
    description: REST adapter for Bloomberg EMSX Trading API.
    resources:
    - path: /orders
      name: listorders
      operations:
      - method: GET
        name: listorders
        description: Bloomberg EMSX List orders
        call: bloomberg-emsx.listorders
        outputParameters:
        - type: object
          mapping: $.
    - path: /orders
      name: createorder
      operations:
      - method: POST
        name: createorder
        description: Bloomberg EMSX Create a new order
        call: bloomberg-emsx.createorder
        outputParameters:
        - type: object
          mapping: $.
    - path: /orders/{orderSequenceNumber}
      name: getorder
      operations:
      - method: GET
        name: getorder
        description: Bloomberg EMSX Get order details
        call: bloomberg-emsx.getorder
        outputParameters:
        - type: object
          mapping: $.
    - path: /orders/{orderSequenceNumber}
      name: modifyorder
      operations:
      - method: PATCH
        name: modifyorder
        description: Bloomberg EMSX Modify an existing order
        call: bloomberg-emsx.modifyorder
        outputParameters:
        - type: object
          mapping: $.
    - path: /orders/{orderSequenceNumber}
      name: deleteorder
      operations:
      - method: DELETE
        name: deleteorder
        description: Bloomberg EMSX Delete an order
        call: bloomberg-emsx.deleteorder
        outputParameters:
        - type: object
          mapping: $.
    - path: /orders/createAndRoute
      name: createorderandroute
      operations:
      - method: POST
        name: createorderandroute
        description: Bloomberg EMSX Create an order and route it simultaneously
        call: bloomberg-emsx.createorderandroute
        outputParameters:
        - type: object
          mapping: $.
    - path: /orders/groupRoute
      name: grouprouteorders
      operations:
      - method: POST
        name: grouprouteorders
        description: Bloomberg EMSX Route multiple orders to a broker
        call: bloomberg-emsx.grouprouteorders
        outputParameters:
        - type: object
          mapping: $.
    - path: /routes
      name: listroutes
      operations:
      - method: GET
        name: listroutes
        description: Bloomberg EMSX List routes
        call: bloomberg-emsx.listroutes
        outputParameters:
        - type: object
          mapping: $.
    - path: /routes/{routeId}
      name: getroute
      operations:
      - method: GET
        name: getroute
        description: Bloomberg EMSX Get route details
        call: bloomberg-emsx.getroute
        outputParameters:
        - type: object
          mapping: $.
    - path: /routes/{routeId}
      name: modifyroute
      operations:
      - method: PATCH
        name: modifyroute
        description: Bloomberg EMSX Modify an existing route
        call: bloomberg-emsx.modifyroute
        outputParameters:
        - type: object
          mapping: $.
    - path: /routes/{routeId}
      name: cancelroute
      operations:
      - method: DELETE
        name: cancelroute
        description: Bloomberg EMSX Cancel a route
        call: bloomberg-emsx.cancelroute
        outputParameters:
        - type: object
          mapping: $.
    - path: /routes/manualFill
      name: createmanualfill
      operations:
      - method: POST
        name: createmanualfill
        description: Bloomberg EMSX Create a manual fill
        call: bloomberg-emsx.createmanualfill
        outputParameters:
        - type: object
          mapping: $.
    - path: /fills
      name: listfills
      operations:
      - method: GET
        name: listfills
        description: Bloomberg EMSX List fills
        call: bloomberg-emsx.listfills
        outputParameters:
        - type: object
          mapping: $.
    - path: /fills/{fillId}
      name: getfill
      operations:
      - method: GET
        name: getfill
        description: Bloomberg EMSX Get fill details
        call: bloomberg-emsx.getfill
        with:
          fillId: rest.fillId
        outputParameters:
        - type: object
          mapping: $.
    - path: /brokers
      name: listbrokers
      operations:
      - method: GET
        name: listbrokers
        description: Bloomberg EMSX List available brokers
        call: bloomberg-emsx.listbrokers
        outputParameters:
        - type: object
          mapping: $.
    - path: /brokers/{brokerCode}/strategies
      name: listbrokerstrategies
      operations:
      - method: GET
        name: listbrokerstrategies
        description: Bloomberg EMSX List broker strategies
        call: bloomberg-emsx.listbrokerstrategies
        with:
          brokerCode: rest.brokerCode
        outputParameters:
        - type: object
          mapping: $.
    - path: /teams
      name: listteams
      operations:
      - method: GET
        name: listteams
        description: Bloomberg EMSX List EMSX teams
        call: bloomberg-emsx.listteams
        outputParameters:
        - type: object
          mapping: $.
    - path: /fields/order
      name: listorderfields
      operations:
      - method: GET
        name: listorderfields
        description: Bloomberg EMSX List available order fields
        call: bloomberg-emsx.listorderfields
        outputParameters:
        - type: object
          mapping: $.
    - path: /fields/route
      name: listroutefields
      operations:
      - method: GET
        name: listroutefields
        description: Bloomberg EMSX List available route fields
        call: bloomberg-emsx.listroutefields
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: bloomberg-emsx-mcp
    transport: http
    description: MCP adapter for Bloomberg EMSX Trading API for AI agent use.
    tools:
    - name: listorders
      description: Bloomberg EMSX List orders
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bloomberg-emsx.listorders
      with:
        status: tools.status
        ticker: tools.ticker
        side: tools.side
        fromDate: tools.fromDate
        toDate: tools.toDate
        limit: tools.limit
        offset: tools.offset
      inputParameters:
      - name: status
        type: string
        description: Filter orders by status
      - name: ticker
        type: string
        description: Filter by Bloomberg security ticker
      - name: side
        type: string
        description: Filter by order side
      - name: fromDate
        type: string
        description: Filter orders created on or after this date
      - name: toDate
        type: string
        description: Filter orders created on or before this date
      - name: limit
        type: integer
        description: Maximum number of orders to return
      - name: offset
        type: integer
        description: Number of orders to skip for pagination
      outputParameters:
      - type: object
        mapping: $.
    - name: createorder
      description: Bloomberg EMSX Create a new order
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bloomberg-emsx.createorder
      outputParameters:
      - type: object
        mapping: $.
    - name: getorder
      description: Bloomberg EMSX Get order details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bloomberg-emsx.getorder
      outputParameters:
      - type: object
        mapping: $.
    - name: modifyorder
      description: Bloomberg EMSX Modify an existing order
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bloomberg-emsx.modifyorder
      outputParameters:
      - type: object
        mapping: $.
    - name: deleteorder
      description: Bloomberg EMSX Delete an order
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: bloomberg-emsx.deleteorder
      outputParameters:
      - type: object
        mapping: $.
    - name: createorderandroute
      description: Bloomberg EMSX Create an order and route it simultaneously
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bloomberg-emsx.createorderandroute
      outputParameters:
      - type: object
        mapping: $.
    - name: grouprouteorders
      description: Bloomberg EMSX Route multiple orders to a broker
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bloomberg-emsx.grouprouteorders
      outputParameters:
      - type: object
        mapping: $.
    - name: listroutes
      description: Bloomberg EMSX List routes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bloomberg-emsx.listroutes
      with:
        status: tools.status
        broker: tools.broker
        orderSequenceNumber: tools.orderSequenceNumber
        limit: tools.limit
        offset: tools.offset
      inputParameters:
      - name: status
        type: string
        description: Filter routes by status
      - name: broker
        type: string
        description: Filter by broker code
      - name: orderSequenceNumber
        type: integer
        description: Filter routes by parent order sequence number
      - name: limit
        type: integer
        description: Maximum number of routes to return
      - name: offset
        type: integer
        description: Number of routes to skip for pagination
      outputParameters:
      - type: object
        mapping: $.
    - name: getroute
      description: Bloomberg EMSX Get route details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bloomberg-emsx.getroute
      outputParameters:
      - type: object
        mapping: $.
    - name: modifyroute
      description: Bloomberg EMSX Modify an existing route
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bloomberg-emsx.modifyroute
      outputParameters:
      - type: object
        mapping: $.
    - name: cancelroute
      description: Bloomberg EMSX Cancel a route
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: bloomberg-emsx.cancelroute
      outputParameters:
      - type: object
        mapping: $.
    - name: createmanualfill
      description: Bloomberg EMSX Create a manual fill
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bloomberg-emsx.createmanualfill
      outputParameters:
      - type: object
        mapping: $.
    - name: listfills
      description: Bloomberg EMSX List fills
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bloomberg-emsx.listfills
      with:
        ticker: tools.ticker
        broker: tools.broker
        orderSequenceNumber: tools.orderSequenceNumber
        routeId: tools.routeId
        fromDate: tools.fromDate
        toDate: tools.toDate
        limit: tools.limit
        offset: tools.offset
      inputParameters:
      - name: ticker
        type: string
        description: Filter fills by Bloomberg security ticker
      - name: broker
        type: string
        description: Filter fills by broker code
      - name: orderSequenceNumber
        type: integer
        description: Filter fills by parent order sequence number
      - name: routeId
        type: integer
        description: Filter fills by route identifier
      - name: fromDate
        type: string
        description: Filter fills on or after this date
      - name: toDate
        type: string
        description: Filter fills on or before this date
      - name: limit
        type: integer
        description: Maximum number of fills to return
      - name: offset
        type: integer
        description: Number of fills to skip for pagination
      outputParameters:
      - type: object
        mapping: $.
    - name: getfill
      description: Bloomberg EMSX Get fill details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bloomberg-emsx.getfill
      with:
        fillId: tools.fillId
      inputParameters:
      - name: fillId
        type: integer
        description: Unique identifier of the fill
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listbrokers
      description: Bloomberg EMSX List available brokers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bloomberg-emsx.listbrokers
      with:
        assetClass: tools.assetClass
        ticker: tools.ticker
      inputParameters:
      - name: assetClass
        type: string
        description: Filter brokers by asset class
      - name: ticker
        type: string
        description: Bloomberg ticker to find brokers available for a specific security
      outputParameters:
      - type: object
        mapping: $.
    - name: listbrokerstrategies
      description: Bloomberg EMSX List broker strategies
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bloomberg-emsx.listbrokerstrategies
      with:
        brokerCode: tools.brokerCode
        assetClass: tools.assetClass
      inputParameters:
      - name: brokerCode
        type: string
        description: Bloomberg broker code
        required: true
      - name: assetClass
        type: string
        description: Filter strategies by asset class
      outputParameters:
      - type: object
        mapping: $.
    - name: listteams
      description: Bloomberg EMSX List EMSX teams
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bloomberg-emsx.listteams
      outputParameters:
      - type: object
        mapping: $.
    - name: listorderfields
      description: Bloomberg EMSX List available order fields
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bloomberg-emsx.listorderfields
      outputParameters:
      - type: object
        mapping: $.
    - name: listroutefields
      description: Bloomberg EMSX List available route fields
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bloomberg-emsx.listroutefields
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    BLOOMBERG_EMSX_TOKEN: BLOOMBERG_EMSX_TOKEN