Bloomberg Buyside Enterprise Solutions Portfolios API

Create, read, update, and delete portfolio definitions

OpenAPI Specification

bloomberg-buyside-enterprise-solutions-portfolios-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Bloomberg Buyside Enterprise Solutions Bloomberg Analytics Allocations Portfolios API
  description: Access to Bloomberg's analytics engine for fixed income, derivatives, and multi-asset calculations including scenario analysis, stress testing, yield curve construction, and pricing models. Part of Bloomberg's buy-side enterprise solutions for institutional investors.
  version: '1.0'
  contact:
    name: Bloomberg Support
    url: https://www.bloomberg.com/professional/support/
  termsOfService: https://www.bloomberg.com/professional/terms-of-use/
servers:
- url: https://api.bloomberg.com/analytics
  description: Bloomberg Analytics API Production
security:
- bearerAuth: []
tags:
- name: Portfolios
  description: Create, read, update, and delete portfolio definitions
paths:
  /v1/portfolios:
    get:
      operationId: listPortfolios
      summary: Bloomberg Buyside Enterprise Solutions List portfolios
      description: Retrieve a list of all portfolios accessible to the authenticated user, with optional filtering by portfolio type, status, or manager.
      tags:
      - Portfolios
      parameters:
      - name: type
        in: query
        description: Filter by portfolio type
        schema:
          type: string
          enum:
          - TRADING
          - MODEL
          - BENCHMARK
          - COMPOSITE
      - name: status
        in: query
        description: Filter by portfolio status
        schema:
          type: string
          enum:
          - ACTIVE
          - INACTIVE
          - CLOSED
      - name: manager
        in: query
        description: Filter by portfolio manager identifier
        schema:
          type: string
      - name: limit
        in: query
        description: Maximum number of results
        schema:
          type: integer
          default: 50
          maximum: 200
      - name: offset
        in: query
        description: Number of results to skip
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: List of portfolios
          content:
            application/json:
              schema:
                type: object
                properties:
                  totalCount:
                    type: integer
                  portfolios:
                    type: array
                    items:
                      $ref: '#/components/schemas/Portfolio'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    post:
      operationId: createPortfolio
      summary: Bloomberg Buyside Enterprise Solutions Create a portfolio
      description: Create a new portfolio with the specified configuration, including portfolio type, base currency, and benchmark assignment.
      tags:
      - Portfolios
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePortfolioRequest'
      responses:
        '201':
          description: Portfolio created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Portfolio'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
        '409':
          description: Portfolio with this name already exists
  /v1/portfolios/{portfolioId}:
    get:
      operationId: getPortfolio
      summary: Bloomberg Buyside Enterprise Solutions Get portfolio details
      description: Retrieve detailed information about a specific portfolio, including its configuration, metadata, and current summary statistics.
      tags:
      - Portfolios
      parameters:
      - $ref: '#/components/parameters/portfolioId'
      responses:
        '200':
          description: Portfolio details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Portfolio'
        '401':
          description: Unauthorized
        '404':
          description: Portfolio not found
    put:
      operationId: updatePortfolio
      summary: Bloomberg Buyside Enterprise Solutions Update a portfolio
      description: Update portfolio metadata and configuration, including name, description, benchmark, and status.
      tags:
      - Portfolios
      parameters:
      - $ref: '#/components/parameters/portfolioId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePortfolioRequest'
      responses:
        '200':
          description: Portfolio updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Portfolio'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Portfolio not found
    delete:
      operationId: deletePortfolio
      summary: Bloomberg Buyside Enterprise Solutions Delete a portfolio
      description: Delete a portfolio. This operation is irreversible and will remove all associated holdings and transaction history.
      tags:
      - Portfolios
      parameters:
      - $ref: '#/components/parameters/portfolioId'
      responses:
        '204':
          description: Portfolio deleted successfully
        '401':
          description: Unauthorized
        '404':
          description: Portfolio not found
components:
  schemas:
    CreatePortfolioRequest:
      type: object
      required:
      - name
      - type
      - currency
      properties:
        name:
          type: string
          description: Portfolio name
          minLength: 1
          maxLength: 256
        description:
          type: string
          description: Portfolio description
        type:
          type: string
          enum:
          - TRADING
          - MODEL
          - BENCHMARK
          - COMPOSITE
        currency:
          type: string
          description: Base currency (ISO 4217)
        benchmarkId:
          type: string
          description: Benchmark identifier to assign
        manager:
          type: string
          description: Portfolio manager identifier
        inceptionDate:
          type: string
          format: date
          description: Portfolio inception date
    Portfolio:
      type: object
      properties:
        id:
          type: string
          description: Unique portfolio identifier
        name:
          type: string
          description: Portfolio name
        description:
          type: string
          description: Portfolio description
        type:
          type: string
          enum:
          - TRADING
          - MODEL
          - BENCHMARK
          - COMPOSITE
          description: Portfolio type
        status:
          type: string
          enum:
          - ACTIVE
          - INACTIVE
          - CLOSED
          description: Portfolio status
        currency:
          type: string
          description: Base currency (ISO 4217)
        benchmarkId:
          type: string
          description: Assigned benchmark identifier
        manager:
          type: string
          description: Portfolio manager identifier
        inceptionDate:
          type: string
          format: date
          description: Portfolio inception date
        totalMarketValue:
          type: number
          description: Total market value in base currency
        holdingsCount:
          type: integer
          description: Number of current holdings
        createdAt:
          type: string
          format: date-time
          description: Creation timestamp
        updatedAt:
          type: string
          format: date-time
          description: Last update timestamp
    UpdatePortfolioRequest:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        status:
          type: string
          enum:
          - ACTIVE
          - INACTIVE
          - CLOSED
        benchmarkId:
          type: string
        manager:
          type: string
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            details:
              type: array
              items:
                type: object
                properties:
                  field:
                    type: string
                  message:
                    type: string
  parameters:
    portfolioId:
      name: portfolioId
      in: path
      required: true
      description: Unique portfolio identifier
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bloomberg API bearer token obtained via OAuth 2.0 authentication
externalDocs:
  description: Bloomberg Analytics Documentation
  url: https://www.bloomberg.com/professional/product/analytics/