Bloomberg Data License API

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).

OpenAPI Specification

bloomberg-data-license-api.yml Raw ↑
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:

# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bloomberg-aim/refs/heads/main/openapi/bloomberg-data-license-api.yml