Bloomberg AIM Fills API

Track order and route fills

OpenAPI Specification

bloomberg-aim-fills-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Bloomberg Data License API (HAPI) Broker Strategies Fills API
  description: Provides programmatic access to Bloomberg's comprehensive financial, pricing, reference, regulatory, and alternative data covering over 50 million securities and 56,000 fields via the Hypermedia API (HAPI). The BEAP/HAPI follows a hypermedia-driven REST architecture where clients discover resources through link relations in responses.
  version: 1.0.0
  contact:
    name: Bloomberg Developer Support
    url: https://developer.bloomberg.com/
  license:
    name: Proprietary
    url: https://www.bloomberg.com/notices/tos/
  termsOfService: https://www.bloomberg.com/notices/tos/
servers:
- url: https://api.bloomberg.com/eap
  description: Bloomberg Enterprise Access Point (Production)
security:
- bearerAuth: []
- oauth2: []
tags:
- name: Fills
  description: Track order and route fills
paths:
  /request/blp/emapisvc/GetFills:
    post:
      operationId: getFills
      summary: Get Fills
      description: Retrieves fill information for orders and routes. Fills represent partial or complete executions of routes.
      tags:
      - Fills
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetFillsRequest'
            examples:
              GetfillsRequestExample:
                summary: Default getFills request
                x-microcks-default: true
                value:
                  scope: PRIVATE
                  fromDateTime: '2026-01-15T10:30:00Z'
      responses:
        '200':
          description: List of fills
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetFillsResponse'
              examples:
                Getfills200Example:
                  summary: Default getFills 200 response
                  x-microcks-default: true
                  value:
                    fills:
                    - EMSX_SEQUENCE: 10
                      EMSX_ROUTE_ID: '500123'
                      EMSX_FILL_ID: '500123'
                      EMSX_TICKER: example_value
                      EMSX_SIDE: BUY
                      EMSX_FILL_AMOUNT: 10
                      EMSX_FILL_PRICE: 42.5
                      EMSX_FILL_DATE: example_value
                      EMSX_FILL_TIME: example_value
                      EMSX_BROKER: example_value
                      EMSX_EXCHANGE: example_value
        '400':
          $ref: '#/components/responses/BadRequest'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /request/blp/emapisvc/ManualFill:
    post:
      operationId: manualFill
      summary: Record a Manual Fill
      description: Records a manual fill against a route for cases where fills are reported outside the electronic execution flow.
      tags:
      - Fills
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManualFillRequest'
            examples:
              ManualfillRequestExample:
                summary: Default manualFill request
                x-microcks-default: true
                value:
                  EMSX_SEQUENCE: 10
                  EMSX_ROUTE_ID: '500123'
                  EMSX_FILL_AMOUNT: 10
                  EMSX_FILL_PRICE: 42.5
                  EMSX_FILL_DATE: example_value
                  EMSX_FILL_TIME: example_value
      responses:
        '200':
          description: Manual fill recorded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResponse'
              examples:
                Manualfill200Example:
                  summary: Default manualFill 200 response
                  x-microcks-default: true
                  value:
                    STATUS: 10
                    MESSAGE: example_value
        '400':
          $ref: '#/components/responses/BadRequest'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    OperationResponse:
      type: object
      properties:
        STATUS:
          type: integer
          description: Operation status code (0 = success)
          example: 10
        MESSAGE:
          type: string
          description: Status message
          example: example_value
    GetFillsResponse:
      type: object
      properties:
        fills:
          type: array
          items:
            $ref: '#/components/schemas/Fill'
          example: []
    ManualFillRequest:
      type: object
      required:
      - EMSX_SEQUENCE
      - EMSX_ROUTE_ID
      - EMSX_FILL_AMOUNT
      - EMSX_FILL_PRICE
      properties:
        EMSX_SEQUENCE:
          type: integer
          description: Order sequence number
          example: 10
        EMSX_ROUTE_ID:
          type: integer
          description: Route ID
          example: '500123'
        EMSX_FILL_AMOUNT:
          type: integer
          description: Fill quantity
          example: 10
        EMSX_FILL_PRICE:
          type: number
          description: Fill price
          example: 42.5
        EMSX_FILL_DATE:
          type: string
          description: Fill date (YYYYMMDD)
          example: example_value
        EMSX_FILL_TIME:
          type: string
          description: Fill time (HHMMSS)
          example: example_value
    GetFillsRequest:
      type: object
      properties:
        scope:
          type: string
          enum:
          - PRIVATE
          - TEAM
          example: PRIVATE
        fromDateTime:
          type: string
          format: date-time
          description: Start of time range for fills
          example: '2026-01-15T10:30:00Z'
    Error:
      type: object
      properties:
        STATUS:
          type: integer
          example: 10
        MESSAGE:
          type: string
          example: example_value
        REASON:
          type: string
          example: example_value
    Fill:
      type: object
      properties:
        EMSX_SEQUENCE:
          type: integer
          description: Parent order sequence number
          example: 10
        EMSX_ROUTE_ID:
          type: integer
          description: Route that was filled
          example: '500123'
        EMSX_FILL_ID:
          type: integer
          description: Unique fill identifier
          example: '500123'
        EMSX_TICKER:
          type: string
          example: example_value
        EMSX_SIDE:
          type: string
          enum:
          - BUY
          - SELL
          - SHRT
          example: BUY
        EMSX_FILL_AMOUNT:
          type: integer
          description: Quantity filled
          example: 10
        EMSX_FILL_PRICE:
          type: number
          description: Fill price
          example: 42.5
        EMSX_FILL_DATE:
          type: string
          description: Fill date (YYYYMMDD)
          example: example_value
        EMSX_FILL_TIME:
          type: string
          description: Fill time (HHMMSS)
          example: example_value
        EMSX_BROKER:
          type: string
          example: example_value
        EMSX_EXCHANGE:
          type: string
          description: Exchange where the fill occurred
          example: example_value
  responses:
    BadRequest:
      description: Invalid request parameters or business rule violation
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bloomberg-issued JWT credential obtained from the Bloomberg Console.
    oauth2:
      type: oauth2
      description: OAuth 2.0 client credentials flow
      flows:
        clientCredentials:
          tokenUrl: https://bsso.blpprofessional.com/ext/api/as/token.oauth2
          scopes:
            eap: Access to Enterprise Access Point data
            eap.catalogs.read: Read catalog data
            eap.catalogs.write: Write catalog data