> ## Documentation Index
> Fetch the complete documentation index at: https://developers.quotivity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Add Bundle Option Products

> Adds one or more products to an existing bundle option. Returns the added products with their prices.



## OpenAPI

````yaml swagger.json post /bundles/{bundleId}/options/{optionId}/products
openapi: 3.0.0
info:
  title: Quotivity API
  description: Developer APIs for the Quotivity CPQ platform.
  version: 1.0.0
servers:
  - url: https://api.secure.quotivity.com/v1
    description: Production API Server
security: []
paths:
  /bundles/{bundleId}/options/{optionId}/products:
    post:
      tags:
        - Bundle Option Products
      summary: Add Bundle Option Products
      description: >-
        Adds one or more products to an existing bundle option. Returns the
        added products with their prices.
      parameters:
        - name: bundleId
          in: path
          required: true
          schema:
            type: string
        - name: optionId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddBundleOptionProductsRequest'
      responses:
        '200':
          description: Products added successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  products:
                    type: array
                    items:
                      $ref: '#/components/schemas/PricedBundleOptionProduct'
                required:
                  - products
        '400':
          description: Bundle option does not belong to this bundle
        '401':
          description: Unauthorized
        '500':
          description: Internal Server Error
      security:
        - ApiKeyAuth: []
components:
  schemas:
    AddBundleOptionProductsRequest:
      type: object
      properties:
        products:
          type: array
          items:
            type: object
            properties:
              productId:
                type: string
              properties:
                type: object
                additionalProperties:
                  type: string
                  nullable: true
            required:
              - productId
              - properties
      required:
        - products
    PricedBundleOptionProduct:
      allOf:
        - $ref: '#/components/schemas/BundleOptionProduct'
        - type: object
          properties:
            adjustments:
              type: object
              additionalProperties:
                oneOf:
                  - $ref: '#/components/schemas/PriceBookEntryAdjustment'
                nullable: true
            standardPrice:
              type: object
              additionalProperties:
                type: number
                nullable: true
            listPrice:
              type: object
              additionalProperties:
                type: number
                nullable: true
          required:
            - adjustments
            - standardPrice
            - listPrice
    BundleOptionProduct:
      type: object
      properties:
        id:
          type: string
        accountId:
          type: string
        bundleId:
          type: string
        optionId:
          type: string
        productId:
          type: string
        properties:
          type: object
          additionalProperties:
            type: string
            nullable: true
        configuration:
          $ref: '#/components/schemas/BundleProductConfiguration'
        displayOrder:
          type: number
      required:
        - id
        - accountId
        - bundleId
        - optionId
        - productId
        - properties
        - displayOrder
    PriceBookEntryAdjustment:
      oneOf:
        - $ref: '#/components/schemas/OverrideAdjustment'
        - $ref: '#/components/schemas/PercentAdjustment'
        - $ref: '#/components/schemas/VolumeAdjustment'
        - $ref: '#/components/schemas/TableEnumAdjustment'
        - $ref: '#/components/schemas/TableRangeAdjustment'
        - $ref: '#/components/schemas/VariantAdjustment'
    BundleProductConfiguration:
      type: object
      properties:
        minQuantity:
          type: number
        maxQuantity:
          type: number
        readonlyQuantity:
          type: boolean
    OverrideAdjustment:
      allOf:
        - $ref: '#/components/schemas/PriceAdjustmentBase'
        - type: object
          properties:
            type:
              type: string
              enum:
                - override
            amount:
              type: number
            allowUnitPriceEditing:
              type: boolean
              description: When true, allows sales reps to edit unit price in Quote Builder
          required:
            - amount
    PercentAdjustment:
      allOf:
        - $ref: '#/components/schemas/PriceAdjustmentBase'
        - type: object
          properties:
            type:
              type: string
              enum:
                - percent
            amount:
              type: number
            allowUnitPriceEditing:
              type: boolean
              description: When true, allows sales reps to edit unit price in Quote Builder
          required:
            - amount
    VolumeAdjustment:
      allOf:
        - $ref: '#/components/schemas/PriceAdjustmentBase'
        - type: object
          properties:
            type:
              type: string
              enum:
                - volume
            tiers:
              type: array
              items:
                type: object
                properties:
                  firstUnit:
                    type: number
                  lastUnit:
                    type: number
                    nullable: true
                  unitPrice:
                    type: number
                required:
                  - firstUnit
                  - unitPrice
            allowUnitPriceEditing:
              type: boolean
              description: When true, allows sales reps to edit unit price in Quote Builder
          required:
            - tiers
    TableEnumAdjustment:
      allOf:
        - $ref: '#/components/schemas/PriceAdjustmentBase'
        - type: object
          properties:
            type:
              type: string
              enum:
                - enum
            property:
              type: string
            values:
              type: array
              items:
                type: object
                properties:
                  value:
                    type: string
                  unitPrice:
                    type: number
                required:
                  - value
                  - unitPrice
            allowUnitPriceEditing:
              type: boolean
              description: When true, allows sales reps to edit unit price in Quote Builder
          required:
            - property
            - values
    TableRangeAdjustment:
      allOf:
        - $ref: '#/components/schemas/PriceAdjustmentBase'
        - type: object
          properties:
            type:
              type: string
              enum:
                - range
            property:
              type: string
            values:
              type: array
              items:
                type: object
                properties:
                  firstUnit:
                    type: number
                  lastUnit:
                    type: number
                  unitPrice:
                    type: number
                required:
                  - firstUnit
                  - lastUnit
                  - unitPrice
            allowUnitPriceEditing:
              type: boolean
              description: When true, allows sales reps to edit unit price in Quote Builder
          required:
            - property
            - values
    VariantAdjustment:
      allOf:
        - $ref: '#/components/schemas/PriceAdjustmentBase'
        - type: object
          properties:
            type:
              type: string
              enum:
                - variant
            values:
              type: array
              items:
                type: object
                properties:
                  value:
                    type: string
                  unitPrice:
                    type: number
                required:
                  - value
                  - unitPrice
            allowUnitPriceEditing:
              type: boolean
              description: When true, allows sales reps to edit unit price in Quote Builder
          required:
            - values
    PriceAdjustmentBase:
      type: object
      properties:
        type:
          type: string
          nullable: true
      required:
        - type
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````