OpenAPI Specification
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