naftiko: 1.0.0-alpha2 info: label: Bloomberg EMSX Trading API — Orders description: 'Bloomberg EMSX Trading API — Orders. 7 operations. Lead operation: Bloomberg EMSX List orders. Self-contained Naftiko capability covering one Bloomberg Emsx business surface.' tags: - Bloomberg Emsx - Orders created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: BLOOMBERG_EMSX_API_KEY: BLOOMBERG_EMSX_API_KEY capability: consumes: - type: http namespace: trading-orders baseUri: https://api.bloomberg.com/emsxapi/v1 description: Bloomberg EMSX Trading API — Orders business capability. Self-contained, no shared references. resources: - name: orders path: /orders operations: - name: listorders method: GET description: Bloomberg EMSX List orders outputRawFormat: json outputParameters: - name: result type: object value: $. 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 - name: createorder method: POST description: Bloomberg EMSX Create a new order outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - 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: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - 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: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - 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: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteorder method: DELETE description: Bloomberg EMSX Delete an order outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.BLOOMBERG_EMSX_API_KEY}}' exposes: - type: rest namespace: trading-orders-rest port: 8080 description: REST adapter for Bloomberg EMSX Trading API — Orders. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/orders name: orders description: REST surface for orders. operations: - method: GET name: listorders description: Bloomberg EMSX List orders call: trading-orders.listorders with: status: rest.status ticker: rest.ticker side: rest.side fromDate: rest.fromDate toDate: rest.toDate limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - method: POST name: createorder description: Bloomberg EMSX Create a new order call: trading-orders.createorder with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orders/createandroute name: orders-createandroute description: REST surface for orders-createAndRoute. operations: - method: POST name: createorderandroute description: Bloomberg EMSX Create an order and route it simultaneously call: trading-orders.createorderandroute with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orders/grouproute name: orders-grouproute description: REST surface for orders-groupRoute. operations: - method: POST name: grouprouteorders description: Bloomberg EMSX Route multiple orders to a broker call: trading-orders.grouprouteorders with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orders/{ordersequencenumber} name: orders-ordersequencenumber description: REST surface for orders-orderSequenceNumber. operations: - method: GET name: getorder description: Bloomberg EMSX Get order details call: trading-orders.getorder outputParameters: - type: object mapping: $. - method: PATCH name: modifyorder description: Bloomberg EMSX Modify an existing order call: trading-orders.modifyorder with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteorder description: Bloomberg EMSX Delete an order call: trading-orders.deleteorder outputParameters: - type: object mapping: $. - type: mcp namespace: trading-orders-mcp port: 9090 transport: http description: MCP adapter for Bloomberg EMSX Trading API — Orders. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: bloomberg-emsx-list-orders description: Bloomberg EMSX List orders hints: readOnly: true destructive: false idempotent: true call: trading-orders.listorders with: status: tools.status ticker: tools.ticker side: tools.side fromDate: tools.fromDate toDate: tools.toDate limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: bloomberg-emsx-create-new-order description: Bloomberg EMSX Create a new order hints: readOnly: false destructive: false idempotent: false call: trading-orders.createorder with: body: tools.body outputParameters: - type: object mapping: $. - name: bloomberg-emsx-create-order-and description: Bloomberg EMSX Create an order and route it simultaneously hints: readOnly: false destructive: false idempotent: false call: trading-orders.createorderandroute with: body: tools.body outputParameters: - type: object mapping: $. - name: bloomberg-emsx-route-multiple-orders description: Bloomberg EMSX Route multiple orders to a broker hints: readOnly: false destructive: false idempotent: false call: trading-orders.grouprouteorders with: body: tools.body outputParameters: - type: object mapping: $. - name: bloomberg-emsx-get-order-details description: Bloomberg EMSX Get order details hints: readOnly: true destructive: false idempotent: true call: trading-orders.getorder outputParameters: - type: object mapping: $. - name: bloomberg-emsx-modify-existing-order description: Bloomberg EMSX Modify an existing order hints: readOnly: false destructive: false idempotent: true call: trading-orders.modifyorder with: body: tools.body outputParameters: - type: object mapping: $. - name: bloomberg-emsx-delete-order description: Bloomberg EMSX Delete an order hints: readOnly: false destructive: true idempotent: true call: trading-orders.deleteorder outputParameters: - type: object mapping: $.