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

# Partial Update Contract Bundle



## OpenAPI

````yaml https://api.meetcampfire.com/api/schema?format=json patch /rr/api/v1/contracts/{contract_id}/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/contracts/{contract_id}/bundles/{id}:
    patch:
      tags:
        - Revenue Recognition
      summary: Partial Update Contract Bundle
      operationId: rr_api_v1_contracts_bundles_partial_update
      parameters:
        - in: path
          name: contract_id
          schema:
            type: integer
          required: true
        - in: path
          name: id
          schema:
            type: integer
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedContractBundle'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedContractBundle'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedContractBundle'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractBundle'
          description: ''
      security:
        - knoxApiToken: []
components:
  schemas:
    PatchedContractBundle:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        is_deleted:
          type: boolean
          readOnly: true
          default: false
        deleted_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        end_date:
          type: string
          format: date
          nullable: true
          description: >-
            Bundle end date. Required for standard contracts. For evergreen
            contracts this may be null to follow the contract timeline, or set
            to a billing-period end date.
        rebalance_journal_entries_indefinitely:
          type: boolean
          default: false
          description: >-
            Should only be used for Evergreen contracts. When true, linked
            invoice journal entries are rebalanced on each evergreen contract
            extension.
        lines:
          type: array
          items:
            $ref: '#/components/schemas/ContractBundleLine'
        bundle_name:
          type: string
          maxLength: 250
        bundle_description:
          type: string
          nullable: true
          maxLength: 250
        start_date:
          type: string
          format: date
        use_daily_accounting:
          type: boolean
        proration_method:
          allOf:
            - $ref: '#/components/schemas/ProrationMethodEnum'
          readOnly: true
        use_catchup:
          type: boolean
        catchup_date:
          type: string
          format: date
          nullable: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        last_modified_at:
          type: string
          format: date-time
          readOnly: true
        customer:
          type: integer
          readOnly: true
        contract:
          type: integer
    ContractBundle:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        is_deleted:
          type: boolean
          readOnly: true
          default: false
        deleted_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        end_date:
          type: string
          format: date
          nullable: true
          description: >-
            Bundle end date. Required for standard contracts. For evergreen
            contracts this may be null to follow the contract timeline, or set
            to a billing-period end date.
        rebalance_journal_entries_indefinitely:
          type: boolean
          default: false
          description: >-
            Should only be used for Evergreen contracts. When true, linked
            invoice journal entries are rebalanced on each evergreen contract
            extension.
        lines:
          type: array
          items:
            $ref: '#/components/schemas/ContractBundleLine'
        bundle_name:
          type: string
          maxLength: 250
        bundle_description:
          type: string
          nullable: true
          maxLength: 250
        start_date:
          type: string
          format: date
        use_daily_accounting:
          type: boolean
        proration_method:
          allOf:
            - $ref: '#/components/schemas/ProrationMethodEnum'
          readOnly: true
        use_catchup:
          type: boolean
        catchup_date:
          type: string
          format: date
          nullable: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        last_modified_at:
          type: string
          format: date-time
          readOnly: true
        customer:
          type: integer
          readOnly: true
        contract:
          type: integer
      required:
        - bundle_name
        - contract
        - created_at
        - customer
        - deleted_at
        - id
        - is_deleted
        - last_modified_at
        - lines
        - proration_method
        - start_date
    ContractBundleLine:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        is_deleted:
          type: boolean
          readOnly: true
          default: false
        deleted_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        contract_bundle:
          type: integer
          writeOnly: true
        product_name:
          type: string
          readOnly: true
        amount:
          type: number
          format: double
          maximum: 1000000000000000000
          minimum: -1000000000000000000
          exclusiveMaximum: true
          exclusiveMinimum: true
          nullable: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        last_modified_at:
          type: string
          format: date-time
          readOnly: true
        customer:
          type: integer
          readOnly: true
        product:
          type: integer
          nullable: true
      required:
        - created_at
        - customer
        - deleted_at
        - id
        - is_deleted
        - last_modified_at
        - product_name
    ProrationMethodEnum:
      enum:
        - standard
        - daily
      type: string
      description: |-
        * `standard` - Standard (actual month length)
        * `daily` - Daily
  securitySchemes:
    knoxApiToken:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"

````