> ## 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 Bank Reconciliation Report

> Update a bank reconciliation report. Supports partial updates via PATCH.



## OpenAPI

````yaml https://api.meetcampfire.com/api/schema?format=json put /coa/api/v2/reconciliation/{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:
  /coa/api/v2/reconciliation/{id}:
    put:
      tags:
        - Bank Reconciliation
      summary: Update Bank Reconciliation Report
      description: Update a bank reconciliation report. Supports partial updates via PATCH.
      operationId: coa_api_v2_reconciliation_update
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReconciliationReportV2'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReconciliationReportV2'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReconciliationReportV2'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReconciliationReportV2'
          description: ''
      security:
        - knoxApiToken: []
components:
  schemas:
    ReconciliationReportV2:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        entity_name:
          type: string
          readOnly: true
        account_name:
          type: string
          readOnly: true
        account_number:
          type: string
          readOnly: true
        account_type:
          type: string
          readOnly: true
        account_subtype:
          type: string
          readOnly: true
        reconciled_by_name:
          type: string
          readOnly: true
        reconciled_by_email:
          type: string
          readOnly: true
        approved_by_name:
          type: string
          readOnly: true
        approved_by_email:
          type: string
          readOnly: true
        async_task:
          allOf:
            - $ref: '#/components/schemas/AsyncTask'
          readOnly: true
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/File'
          readOnly: true
        csv_statements:
          type: string
          readOnly: true
        currency:
          type: string
          maxLength: 3
        statement_starting_date:
          type: string
          format: date
          nullable: true
        statement_ending_date:
          type: string
          format: date
          nullable: true
        starting_balance:
          type: number
          format: double
          maximum: 1000000000000000000
          minimum: -1000000000000000000
          exclusiveMaximum: true
          exclusiveMinimum: true
        ending_balance:
          type: number
          format: double
          maximum: 1000000000000000000
          minimum: -1000000000000000000
          exclusiveMaximum: true
          exclusiveMinimum: true
        total_credit_amount:
          type: number
          format: double
          maximum: 1000000000000000000
          minimum: -1000000000000000000
          exclusiveMaximum: true
          exclusiveMinimum: true
          nullable: true
        total_debit_amount:
          type: number
          format: double
          maximum: 1000000000000000000
          minimum: -1000000000000000000
          exclusiveMaximum: true
          exclusiveMinimum: true
          nullable: true
        adjustments:
          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
        reconciled_on:
          type: string
          format: date
          nullable: true
        approved_on:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        status:
          $ref: '#/components/schemas/ReconciliationReportV2StatusEnum'
        unmatched_statement_transactions:
          nullable: true
        statement_recognition_cost_usd:
          type: number
          format: double
          maximum: 100000000
          minimum: -100000000
          exclusiveMaximum: true
          exclusiveMinimum: true
          nullable: true
          description: >-
            Estimated USD cost of AI bank-statement parsing for this report
            (from summed page token usage).
        statement_recognition_input_tokens:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: >-
            Sum of input tokens from statement parsing across all pages (set on
            finalize).
        statement_recognition_output_tokens:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: >-
            Sum of output tokens from statement parsing across all pages (set on
            finalize).
        statement_recognition_token_total:
          type: integer
          maximum: 9223372036854776000
          minimum: 0
          format: int64
          nullable: true
          description: Input plus output tokens for this report (set on finalize).
        statement_recognition_model_name:
          type: string
          nullable: true
          description: >-
            LLM model used for statement parsing when token totals were
            recorded.
          maxLength: 128
        customer:
          type: integer
          readOnly: true
        entity:
          type: integer
          nullable: true
        account:
          type: integer
        matching_task:
          type: integer
          nullable: true
        reconciled_by:
          type: integer
          nullable: true
        approved_by:
          type: integer
          nullable: true
          readOnly: true
      required:
        - account
        - account_name
        - account_number
        - account_subtype
        - account_type
        - approved_by
        - approved_by_email
        - approved_by_name
        - approved_on
        - async_task
        - attachments
        - created_at
        - csv_statements
        - customer
        - entity_name
        - id
        - last_modified_at
        - reconciled_by_email
        - reconciled_by_name
    AsyncTask:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        created_by_name:
          type: string
          readOnly: true
        name:
          type: string
          maxLength: 250
        created_at:
          type: string
          format: date-time
          readOnly: true
        status:
          $ref: '#/components/schemas/AsyncTaskStatusEnum'
        error_message:
          type: string
          nullable: true
        error_type:
          type: string
          nullable: true
          description: Exception class name
          maxLength: 255
        retries:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          description: Number of retry attempts
        completed_at:
          type: string
          format: date-time
          nullable: true
        started_at:
          type: string
          format: date-time
          nullable: true
          description: When task execution started
        celery_task_id:
          type: string
          nullable: true
          description: Celery task UUID from self.request.id
          maxLength: 255
        root_task_id:
          type: string
          nullable: true
          description: Root task ID in workflow chain
          maxLength: 255
        parent_task_id:
          type: string
          nullable: true
          description: Parent task ID if chained
          maxLength: 255
        trace_id:
          type: string
          nullable: true
          description: APM distributed trace ID
          maxLength: 255
        span_id:
          type: string
          nullable: true
          description: APM span ID
          maxLength: 255
        task_args:
          description: Task positional arguments
        task_kwargs:
          description: Task keyword arguments
        result:
          nullable: true
          description: Task execution result
        content:
          nullable: true
        customer:
          type: integer
          nullable: true
          readOnly: true
        created_by:
          type: integer
          nullable: true
          readOnly: true
      required:
        - created_at
        - created_by
        - created_by_name
        - customer
        - id
        - name
    File:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        customer:
          type: integer
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        created_by:
          type: integer
          nullable: true
          readOnly: true
        created_by_name:
          type: string
          readOnly: true
        created_by_email:
          type: string
          readOnly: true
        last_modified_at:
          type: string
          format: date-time
          readOnly: true
        name:
          type: string
        url:
          type: string
          readOnly: true
        s3_content_type:
          type: string
          nullable: true
        s3_content_length:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
        s3_path:
          type: string
        object_id:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
        app:
          type: string
          readOnly: true
        model:
          type: string
          readOnly: true
        is_deleted:
          type: boolean
          readOnly: true
          default: false
        deleted_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
      required:
        - app
        - created_at
        - created_by
        - created_by_email
        - created_by_name
        - customer
        - deleted_at
        - id
        - is_deleted
        - last_modified_at
        - model
        - name
        - s3_path
        - url
    ReconciliationReportV2StatusEnum:
      enum:
        - DRAFT
        - PENDING_APPROVAL
        - APPROVED
        - DELETED
      type: string
      description: |-
        * `DRAFT` - Draft
        * `PENDING_APPROVAL` - Pending Approval
        * `APPROVED` - Approved
        * `DELETED` - Deleted
    AsyncTaskStatusEnum:
      enum:
        - PENDING
        - PROCESSING
        - COMPLETED
        - FAILED
        - CANCELLED
      type: string
      description: |-
        * `PENDING` - Pending
        * `PROCESSING` - Processing
        * `COMPLETED` - Completed
        * `FAILED` - Failed
        * `CANCELLED` - Cancelled
  securitySchemes:
    knoxApiToken:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"

````