openapi: 3.1.0 info: title: Bloomberg Data License API (HAPI) 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: Catalogs description: Browse available data catalogs and their contents - name: Universes description: Manage security universes for data requests - name: Field Lists description: Manage field lists for data requests - name: Triggers description: Configure scheduling triggers for data delivery - name: Requests description: Create and manage data requests - name: Distributions description: Access completed data distributions and downloads - name: Replies description: Access request reply data paths: /catalogs: get: operationId: listCatalogs summary: List Available Catalogs description: >- Returns a collection of catalogs available to the authenticated user. Each catalog represents a logical grouping of data services. tags: - Catalogs responses: '200': description: A list of available catalogs content: application/json: schema: $ref: '#/components/schemas/CatalogCollection' examples: Listcatalogs200Example: summary: Default listCatalogs 200 response x-microcks-default: true value: contains: - identifier: example_value title: Example Title description: A sample description. links: {} '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /catalogs/{catalogId}: get: operationId: getCatalog summary: Get Catalog Details description: Returns details and links for a specific catalog. tags: - Catalogs parameters: - $ref: '#/components/parameters/catalogId' responses: '200': description: Catalog details content: application/json: schema: $ref: '#/components/schemas/Catalog' examples: Getcatalog200Example: summary: Default getCatalog 200 response x-microcks-default: true value: identifier: example_value title: Example Title description: A sample description. links: universes: https://www.example.com fieldLists: https://www.example.com triggers: https://www.example.com requests: https://www.example.com distributions: https://www.example.com '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /catalogs/{catalogId}/datasets: get: operationId: listDatasets summary: List Datasets in a Catalog description: Returns the datasets available within a specific catalog. tags: - Catalogs parameters: - $ref: '#/components/parameters/catalogId' responses: '200': description: A list of datasets content: application/json: schema: $ref: '#/components/schemas/DatasetCollection' examples: Listdatasets200Example: summary: Default listDatasets 200 response x-microcks-default: true value: contains: - identifier: example_value title: Example Title description: A sample description. fieldCount: 10 category: example_value '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /catalogs/{catalogId}/fields: get: operationId: listCatalogFields summary: List Available Fields in a Catalog description: >- Returns the fields available for data requests within a catalog. Fields can be filtered by asset class or data category. tags: - Field Lists parameters: - $ref: '#/components/parameters/catalogId' - name: category in: query description: Filter fields by data category schema: type: string example: example_value responses: '200': description: A list of available fields content: application/json: schema: $ref: '#/components/schemas/FieldCollection' examples: Listcatalogfields200Example: summary: Default listCatalogFields 200 response x-microcks-default: true value: contains: - identifier: example_value title: Example Title description: A sample description. dataType: example_value category: example_value '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /catalogs/{catalogId}/universes: get: operationId: listUniverses summary: List Universes description: Returns the security universes defined in the catalog. tags: - Universes parameters: - $ref: '#/components/parameters/catalogId' responses: '200': description: A list of universes content: application/json: schema: $ref: '#/components/schemas/UniverseCollection' examples: Listuniverses200Example: summary: Default listUniverses 200 response x-microcks-default: true value: contains: - '@type': example_value identifier: example_value title: Example Title description: A sample description. contains: {} '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createUniverse summary: Create a Universe description: >- Creates a new security universe containing a set of identifiers (tickers, FIGIs, ISINs, CUSIPs, SEDOLs, etc.) for data requests. tags: - Universes parameters: - $ref: '#/components/parameters/catalogId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UniverseCreate' examples: CreateuniverseRequestExample: summary: Default createUniverse request x-microcks-default: true value: '@type': example_value identifier: example_value title: Example Title description: A sample description. contains: - '@type': example_value identifierType: TICKER identifierValue: example_value responses: '201': description: Universe created headers: Location: description: URI of the created universe schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/Universe' examples: Createuniverse201Example: summary: Default createUniverse 201 response x-microcks-default: true value: '@type': example_value identifier: example_value title: Example Title description: A sample description. contains: - '@type': example_value identifierType: TICKER identifierValue: example_value '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /catalogs/{catalogId}/universes/{universeId}: get: operationId: getUniverse summary: Get Universe Details description: Returns details of a specific security universe. tags: - Universes parameters: - $ref: '#/components/parameters/catalogId' - $ref: '#/components/parameters/universeId' responses: '200': description: Universe details content: application/json: schema: $ref: '#/components/schemas/Universe' examples: Getuniverse200Example: summary: Default getUniverse 200 response x-microcks-default: true value: '@type': example_value identifier: example_value title: Example Title description: A sample description. contains: - '@type': example_value identifierType: TICKER identifierValue: example_value '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /catalogs/{catalogId}/fieldLists: get: operationId: listFieldLists summary: List Field Lists description: Returns all field lists defined in the catalog. tags: - Field Lists parameters: - $ref: '#/components/parameters/catalogId' responses: '200': description: A list of field lists content: application/json: schema: $ref: '#/components/schemas/FieldListCollection' examples: Listfieldlists200Example: summary: Default listFieldLists 200 response x-microcks-default: true value: contains: - '@type': example_value identifier: example_value title: Example Title contains: {} '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createFieldList summary: Create a Field List description: >- Creates a new field list specifying which data fields to include in a data request. tags: - Field Lists parameters: - $ref: '#/components/parameters/catalogId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/FieldListCreate' examples: CreatefieldlistRequestExample: summary: Default createFieldList request x-microcks-default: true value: '@type': example_value identifier: example_value title: Example Title contains: - cleanName: example_value responses: '201': description: Field list created headers: Location: description: URI of the created field list schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/FieldList' examples: Createfieldlist201Example: summary: Default createFieldList 201 response x-microcks-default: true value: '@type': example_value identifier: example_value title: Example Title contains: - identifier: example_value title: Example Title description: A sample description. dataType: example_value category: example_value '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /catalogs/{catalogId}/fieldLists/{fieldListId}: get: operationId: getFieldList summary: Get Field List Details description: Returns details of a specific field list. tags: - Field Lists parameters: - $ref: '#/components/parameters/catalogId' - $ref: '#/components/parameters/fieldListId' responses: '200': description: Field list details content: application/json: schema: $ref: '#/components/schemas/FieldList' examples: Getfieldlist200Example: summary: Default getFieldList 200 response x-microcks-default: true value: '@type': example_value identifier: example_value title: Example Title contains: - identifier: example_value title: Example Title description: A sample description. dataType: example_value category: example_value '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /catalogs/{catalogId}/triggers: get: operationId: listTriggers summary: List Triggers description: Returns the scheduling triggers available in the catalog. tags: - Triggers parameters: - $ref: '#/components/parameters/catalogId' responses: '200': description: A list of triggers content: application/json: schema: $ref: '#/components/schemas/TriggerCollection' examples: Listtriggers200Example: summary: Default listTriggers 200 response x-microcks-default: true value: contains: - '@type': example_value identifier: example_value title: Example Title description: A sample description. frequency: daily snapshotTime: example_value timezone: example_value '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createTrigger summary: Create a Trigger description: >- Creates a scheduling trigger to control when data requests are executed and delivered. tags: - Triggers parameters: - $ref: '#/components/parameters/catalogId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TriggerCreate' examples: CreatetriggerRequestExample: summary: Default createTrigger request x-microcks-default: true value: '@type': example_value identifier: example_value title: Example Title frequency: daily snapshotTime: example_value timezone: example_value responses: '201': description: Trigger created headers: Location: description: URI of the created trigger schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/Trigger' examples: Createtrigger201Example: summary: Default createTrigger 201 response x-microcks-default: true value: '@type': example_value identifier: example_value title: Example Title description: A sample description. frequency: daily snapshotTime: example_value timezone: example_value '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /catalogs/{catalogId}/triggers/{triggerId}: get: operationId: getTrigger summary: Get Trigger Details description: Returns details of a specific trigger. tags: - Triggers parameters: - $ref: '#/components/parameters/catalogId' - $ref: '#/components/parameters/triggerId' responses: '200': description: Trigger details content: application/json: schema: $ref: '#/components/schemas/Trigger' examples: Gettrigger200Example: summary: Default getTrigger 200 response x-microcks-default: true value: '@type': example_value identifier: example_value title: Example Title description: A sample description. frequency: daily snapshotTime: example_value timezone: example_value '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /catalogs/{catalogId}/requests: get: operationId: listRequests summary: List Data Requests description: Returns all data requests in the catalog. tags: - Requests parameters: - $ref: '#/components/parameters/catalogId' responses: '200': description: A list of data requests content: application/json: schema: $ref: '#/components/schemas/RequestCollection' examples: Listrequests200Example: summary: Default listRequests 200 response x-microcks-default: true value: contains: - '@type': example_value identifier: example_value title: Example Title description: A sample description. universe: https://www.example.com fieldList: https://www.example.com trigger: https://www.example.com formatting: {} status: active '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createRequest summary: Create a Data Request description: >- Creates a new data request combining a universe, field list, and trigger to produce a scheduled data output. tags: - Requests parameters: - $ref: '#/components/parameters/catalogId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RequestCreate' examples: CreaterequestRequestExample: summary: Default createRequest request x-microcks-default: true value: '@type': example_value identifier: example_value title: Example Title description: A sample description. universe: https://www.example.com fieldList: https://www.example.com trigger: https://www.example.com formatting: type: DataOutputJson dateFormat: example_value columnHeader: true responses: '201': description: Request created headers: Location: description: URI of the created request schema: type: string format: uri content: application/json: schema: $ref: '#/components/schemas/DataRequest' examples: Createrequest201Example: summary: Default createRequest 201 response x-microcks-default: true value: '@type': example_value identifier: example_value title: Example Title description: A sample description. universe: https://www.example.com fieldList: https://www.example.com trigger: https://www.example.com formatting: type: example_value dateFormat: example_value status: active '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /catalogs/{catalogId}/requests/{requestId}: get: operationId: getRequest summary: Get Data Request Details description: Returns details of a specific data request. tags: - Requests parameters: - $ref: '#/components/parameters/catalogId' - $ref: '#/components/parameters/requestId' responses: '200': description: Data request details content: application/json: schema: $ref: '#/components/schemas/DataRequest' examples: Getrequest200Example: summary: Default getRequest 200 response x-microcks-default: true value: '@type': example_value identifier: example_value title: Example Title description: A sample description. universe: https://www.example.com fieldList: https://www.example.com trigger: https://www.example.com formatting: type: example_value dateFormat: example_value status: active '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteRequest summary: Delete a Data Request description: Deletes a specific data request. tags: - Requests parameters: - $ref: '#/components/parameters/catalogId' - $ref: '#/components/parameters/requestId' responses: '204': description: Request deleted '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /catalogs/{catalogId}/distributions: get: operationId: listDistributions summary: List Distributions description: >- Returns available data distributions (completed outputs) for the catalog. tags: - Distributions parameters: - $ref: '#/components/parameters/catalogId' responses: '200': description: A list of distributions content: application/json: schema: $ref: '#/components/schemas/DistributionCollection' examples: Listdistributions200Example: summary: Default listDistributions 200 response x-microcks-default: true value: contains: - '@type': example_value identifier: example_value snapshotTime: '2026-01-15T10:30:00Z' status: pending links: {} '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /catalogs/{catalogId}/distributions/{distributionId}: get: operationId: getDistribution summary: Get Distribution Details description: >- Returns details and download links for a specific distribution. tags: - Distributions parameters: - $ref: '#/components/parameters/catalogId' - $ref: '#/components/parameters/distributionId' responses: '200': description: Distribution details with download links content: application/json: schema: $ref: '#/components/schemas/Distribution' examples: Getdistribution200Example: summary: Default getDistribution 200 response x-microcks-default: true value: '@type': example_value identifier: example_value snapshotTime: '2026-01-15T10:30:00Z' status: pending links: replies: https://www.example.com '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /catalogs/{catalogId}/distributions/{distributionId}/replies: get: operationId: listReplies summary: List Replies for a Distribution description: >- Returns the individual reply files available for download within a distribution. tags: - Replies parameters: - $ref: '#/components/parameters/catalogId' - $ref: '#/components/parameters/distributionId' responses: '200': description: A list of replies content: application/json: schema: $ref: '#/components/schemas/ReplyCollection' examples: Listreplies200Example: summary: Default listReplies 200 response x-microcks-default: true value: contains: - '@type': example_value identifier: example_value distributionId: '500123' contentType: example_value size: 10 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /catalogs/{catalogId}/distributions/{distributionId}/replies/{replyId}: get: operationId: getReply summary: Download a Reply description: >- Downloads the data content of a specific reply within a distribution. The response format depends on the request configuration (JSON, CSV, etc.). tags: - Replies parameters: - $ref: '#/components/parameters/catalogId' - $ref: '#/components/parameters/distributionId' - $ref: '#/components/parameters/replyId' responses: '200': description: Reply data content content: application/json: schema: $ref: '#/components/schemas/ReplyData' examples: Getreply200Example: summary: Default getReply 200 response x-microcks-default: true value: fields: - example_value data: - {} text/csv: schema: type: string examples: Getreply200Example: summary: Default getReply 200 response x-microcks-default: true value: example_value '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: 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 parameters: catalogId: name: catalogId in: path required: true description: Unique identifier for the catalog schema: type: string universeId: name: universeId in: path required: true description: Unique identifier for the universe schema: type: string fieldListId: name: fieldListId in: path required: true description: Unique identifier for the field list schema: type: string triggerId: name: triggerId in: path required: true description: Unique identifier for the trigger schema: type: string requestId: name: requestId in: path required: true description: Unique identifier for the data request schema: type: string distributionId: name: distributionId in: path required: true description: Unique identifier for the distribution schema: type: string replyId: name: replyId in: path required: true description: Unique identifier for the reply schema: type: string responses: BadRequest: description: Invalid request parameters content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Authentication credentials missing or invalid content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Error' schemas: CatalogCollection: type: object properties: contains: type: array items: $ref: '#/components/schemas/Catalog' example: [] Catalog: type: object properties: identifier: type: string description: Unique catalog identifier example: example_value title: type: string description: Human-readable catalog title example: Example Title description: type: string description: Description of the catalog contents example: A sample description. links: type: object properties: universes: type: string format: uri fieldLists: type: string format: uri triggers: type: string format: uri requests: type: string format: uri distributions: type: string format: uri example: example_value DatasetCollection: type: object properties: contains: type: array items: $ref: '#/components/schemas/Dataset' example: [] Dataset: type: object properties: identifier: type: string example: example_value title: type: string example: Example Title description: type: string example: A sample description. fieldCount: type: integer example: 10 category: type: string example: example_value UniverseCollection: type: object properties: contains: type: array items: $ref: '#/components/schemas/Universe' example: [] Universe: type: object properties: '@type': type: string const: Universe example: example_value identifier: type: string description: Unique universe identifier example: example_value title: type: string description: Human-readable universe title example: Example Title description: type: string example: A sample description. contains: type: array items: $ref: '#/components/schemas/SecurityIdentifier' example: [] UniverseCreate: type: object required: - '@type' - identifier - title - contains properties: '@type': type: string const: Universe example: example_value identifier: type: string description: Unique universe identifier example: example_value title: type: string description: Human-readable universe title example: Example Title description: type: string example: A sample description. contains: type: array items: $ref: '#/components/schemas/SecurityIdentifier' example: [] SecurityIdentifier: type: object properties: '@type': type: string const: Identifier example: example_value identifierType: type: string description: Type of identifier enum: - TICKER - BB_GLOBAL - ISIN - CUSIP - SEDOL - BB_UNIQUE - FIGI example: TICKER identifierValue: type: string description: The identifier value example: example_value FieldCollection: type: object properties: contains: type: array items: $ref: '#/components/schemas/Field' example: [] Field: type: object properties: identifier: type: string description: Bloomberg field mnemonic (e.g., PX_LAST) example: example_value title: type: string example: Example Title description: type: string example: A sample description. dataType: type: string description: Data type of the field value example: example_value category: type: string example: example_value FieldListCollection: type: object properties: contains: type: array items: $ref: '#/components/schemas/FieldList' example: [] FieldList: type: object properties: '@type': type: string const: FieldList example: example_value identifier: type: string example: example_value title: type: string example: Example Title contains: type: array items: $ref: '#/components/schemas/Field' example: [] FieldListCreate: type: object required: - '@type' - identifier - title - contains properties: '@type': type: string const: FieldList example: example_value identifier: type: string example: example_value title: type: string example: Example Title contains: type: array items: type: object properties: cleanName: type: string description: Bloomberg field mnemonic example: [] TriggerCollection: type: object properties: contains: type: array items: $ref: '#/components/schemas/Trigger' example: [] Trigger: type: object properties: '@type': type: string const: Trigger example: example_value identifier: type: string example: example_value title: type: string example: Example Title description: type: string example: A sample description. frequency: type: string enum: - daily - weekly - monthly - once example: daily snapshotTime: type: string description: Time of day for the snapshot (HH:MM) example: example_value timezone: type: string description: Timezone for the trigger schedule example: example_value TriggerCreate: type: object required: - '@type' - identifier - frequency properties: '@type': type: string const: Trigger example: example_value identifier: type: string example: example_value title: type: string example: Example Title frequency: type: string enum: - daily - weekly - monthly - once example: daily snapshotTime: type: string example: example_value timezone: type: string example: example_value RequestCollection: type: object properties: contains: type: array items: $ref: '#/components/schemas/DataRequest' example: [] RequestCreate: type: object required: - '@type' - identifier - universe - fieldList - trigger properties: '@type': type: string const: DataRequest example: example_value identifier: type: string example: example_value title: type: string example: Example Title description: type: string example: A sample description. universe: type: string format: uri description: URI reference to the universe resource example: https://www.example.com fieldList: type: string format: uri description: URI reference to the field list resource example: https://www.example.com trigger: type: string format: uri description: URI reference to the trigger resource example: https://www.example.com formatting: type: object properties: type: type: string enum: - DataOutputJson - DataOutputCsv dateFormat: type: string columnHeader: type: boolean example: example_value DataRequest: type: object properties: '@type': type: string const: DataRequest example: example_value identifier: type: string example: example_value title: type: string example: Example Title description: type: string example: A sample description. universe: type: string format: uri example: https://www.example.com fieldList: type: string format: uri example: https://www.example.com trigger: type: string format: uri example: https://www.example.com formatting: type: object properties: type: type: string dateFormat: type: string example: example_value status: type: string enum: - active - inactive - error example: active DistributionCollection: type: object properties: contains: type: array items: $ref: '#/components/schemas/Distribution' example: [] Distribution: type: object properties: '@type': type: string const: Distribution example: example_value identifier: type: string example: example_value snapshotTime: type: string format: date-time example: '2026-01-15T10:30:00Z' status: type: string enum: - pending - completed - error example: pending links: type: object properties: replies: type: string format: uri example: example_value ReplyCollection: type: object properties: contains: type: array items: $ref: '#/components/schemas/Reply' example: [] Reply: type: object properties: '@type': type: string const: Reply example: example_value identifier: type: string example: example_value distributionId: type: string example: '500123' contentType: type: string example: example_value size: type: integer description: Size in bytes example: 10 ReplyData: type: object properties: fields: type: array items: type: string example: [] data: type: array items: type: object additionalProperties: true example: [] Error: type: object properties: error: type: object properties: code: type: string message: type: string details: type: string example: example_value