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

# Update Product Bundle



## OpenAPI

````yaml https://api.meetcampfire.com/api/schema?format=json put /rr/api/v1/product-bundles/{id}
openapi: 3.0.3
info:
  title: Campfire Developer APIs
  version: 1.0.0
  description: >
    ## Introduction

    Campfire's developer APIs offer granular access to Campfire's core
    accounting,

    revenue recognition, and financial data features.


    These APIs are designed to be used by developers to build custom
    integrations,

    automate workflows, and perform any other programmatic operations.
servers:
  - url: https://api.meetcampfire.com
    description: Production server
security: []
tags:
  - name: Cash Management
    description: Operations related to accounts, transactions, and other bank-related data.
  - name: Core Accounting
    description: >-
      Operations related to core accounting data, such as the chart of accounts,
      entity management, and the general ledger.
  - name: Revenue Recognition
    description: >-
      Operations related to revenue recognition, contract management, and
      contract data aggregation.
  - name: Accounts Receivable
    description: Operations related to invoicing and the AR subledger
  - name: Accounts Payable
    description: Operations related to billing and the AP subledger.
  - name: Financial Statements
    description: Operations related to financial statement generation and data aggregation.
  - name: Settings
    description: Operations related to system and accounting settings configuration.
paths:
  /rr/api/v1/product-bundles/{id}:
    put:
      tags:
        - Revenue Recognition
      summary: Update Product Bundle
      operationId: rr_api_v1_product_bundles_update
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductBundle'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ProductBundle'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ProductBundle'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductBundle'
          description: ''
      security:
        - knoxApiToken: []
components:
  schemas:
    ProductBundle:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        bundle_name:
          type: string
          maxLength: 250
        bundle_description:
          type: string
          nullable: true
          maxLength: 250
        stripe_product_id:
          type: string
          nullable: true
          maxLength: 255
        anrok_item_id:
          type: string
          readOnly: true
          nullable: true
        lines:
          type: array
          items:
            $ref: '#/components/schemas/ProductBundleLine'
        created_at:
          type: string
          format: date-time
          readOnly: true
        last_modified_at:
          type: string
          format: date-time
          readOnly: true
        is_deleted:
          type: boolean
          readOnly: true
          default: false
        deleted_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
      required:
        - anrok_item_id
        - bundle_name
        - created_at
        - deleted_at
        - id
        - is_deleted
        - last_modified_at
        - lines
    ProductBundleLine:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        product:
          type: integer
        product_name:
          type: string
          readOnly: true
        product_id_str:
          type: string
          readOnly: true
        percentage_allocation:
          type: number
          format: double
          maximum: 100
          minimum: 0.01
      required:
        - id
        - percentage_allocation
        - product
        - product_id_str
        - product_name
  securitySchemes:
    knoxApiToken:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"

````