Campfire Settings API

Operations related to system and accounting settings configuration.

OpenAPI Specification

campfire-settings-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Campfire Developer APIs Accounts Payable Settings API
  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
tags:
- name: Settings
  description: Operations related to system and accounting settings configuration.
paths:
  /ca/api/file:
    get:
      operationId: ca_api_file_list
      description: "\n        Retrieve a list of files with optional filtering and sorting.\n\n        Supports including soft-deleted records for audit and recovery purposes.\n        When include_deleted=true, returns ONLY deleted records instead of active records.\n        Deleted records contain minimal data: 'id', 'is_deleted=true', 'deleted_at' timestamp,\n        and 'last_modified_at'. When 'false' or omitted, returns ONLY active records.\n        This provides clean separation between active and deleted data.\n        "
      summary: List Files
      parameters:
      - in: query
        name: include_deleted
        schema:
          type: boolean
          default: false
        description: 'When set to ''true'', returns ONLY deleted records instead of active records. Deleted records contain minimal data: ''id'', ''is_deleted=true'', ''deleted_at'' timestamp, and ''last_modified_at''. When ''false'' or omitted, returns ONLY active records. This provides clean separation between active and deleted data.'
      - in: query
        name: last_modified_at__gte
        schema:
          type: string
        description: 'Filter for records modified on or after this timestamp. Format: ISO 8601 (e.g., ''2024-01-01T00:00:00Z'' or ''2024-01-01''). Works with both active records and deleted records (filters by deletion time for deleted records).'
      - in: query
        name: last_modified_at__lte
        schema:
          type: string
        description: 'Filter for records modified on or before this timestamp. Format: ISO 8601 (e.g., ''2024-12-31T23:59:59Z'' or ''2024-12-31''). Works with both active records and deleted records (filters by deletion time for deleted records).'
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - Settings
      security:
      - knoxApiToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedFileList'
          description: ''
  /ca/api/file/{id}:
    get:
      operationId: ca_api_file_retrieve
      summary: Get File
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - Settings
      security:
      - knoxApiToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/File'
          description: ''
    put:
      operationId: ca_api_file_update
      summary: Update File
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - Settings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/File'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/File'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/File'
        required: true
      security:
      - knoxApiToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/File'
          description: ''
    patch:
      operationId: ca_api_file_partial_update
      summary: Patch File
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - Settings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedFile'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedFile'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedFile'
      security:
      - knoxApiToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/File'
          description: ''
    delete:
      operationId: ca_api_file_destroy
      summary: Delete File
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - Settings
      security:
      - knoxApiToken: []
      responses:
        '204':
          description: No response body
  /ca/api/file/{id}/temp-download-url:
    get:
      operationId: get_file_temp_download_url
      description: 'Return a short-lived presigned S3 URL for downloading a file.


        Pass ``?disposition=inline`` to render preview-safe types (PDF, images)

        in the browser instead of forcing a download.


        :param request: The incoming DRF request (must be authenticated).

        :return: JSON response with ``url`` key or an error.'
      summary: Get File Temporary Download URL
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - Settings
      security:
      - knoxApiToken: []
      responses:
        '200':
          description: No response body
  /ca/api/file/upload:
    post:
      operationId: ca_api_file_upload_create
      description: "\n        Upload a file directly to Campfire. This is the primary way to upload files.\n\n        **Supported Models:**\n        bill, chat, close_task, closecheckitem, contract, credit_memo, customer, debit_memo, draft_queue, fixed_asset, intercompany_journal, invoice, journal_entry, journalentry, lease_v2, migration_record, policy, reconciliation, reconciliation_report\n\n        **Supported Content Types:**\n        application/msword, application/pdf, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.openxmlformats-officedocument.wordprocessingml.document, image/gif, image/jpeg, image/jpg, image/png, image/webp, text/csv, text/markdown, text/plain, text/x-markdown\n\n        **Maximum File Size:** 100MB\n\n        **Example:**\n        ```bash\n        curl -X POST \"https://api.meetcampfire.com/ca/api/file/upload?model=bill&object_id=12345\" \\\n          -H \"Authorization: Token YOUR_TOKEN\" \\\n          -F \"file=@receipt.pdf\"\n        ```\n\n        **Query Parameters:**\n        - `model` (required): Model type (e.g., \"bill\", \"invoice\", \"contract\")\n        - `object_id` (optional): ID of the object to attach the file to\n\n        **Request Body:**\n        - `file` (required): The file to upload (multipart/form-data)\n        "
      summary: Upload File
      tags:
      - Settings
      security:
      - knoxApiToken: []
      responses:
        '200':
          description: No response body
  /ca/api/user_currency:
    get:
      operationId: ca_api_user_currency_list
      description: "\n        Retrieve a list of customer currencies with optional filtering and sorting.\n\n        Supports including soft-deleted records for audit and recovery purposes.\n        When include_deleted=true, returns ONLY deleted records instead of active records.\n        Deleted records contain minimal data: 'id', 'is_deleted=true', 'deleted_at' timestamp,\n        and 'last_modified_at'. When 'false' or omitted, returns ONLY active records.\n        This provides clean separation between active and deleted data.\n        "
      summary: List Customer Currencies
      parameters:
      - in: query
        name: include_deleted
        schema:
          type: boolean
          default: false
        description: 'When set to ''true'', returns ONLY deleted records instead of active records. Deleted records contain minimal data: ''id'', ''is_deleted=true'', ''deleted_at'' timestamp, and ''last_modified_at''. When ''false'' or omitted, returns ONLY active records. This provides clean separation between active and deleted data.'
      - in: query
        name: last_modified_at__gte
        schema:
          type: string
        description: 'Filter for records modified on or after this timestamp. Format: ISO 8601 (e.g., ''2024-01-01T00:00:00Z'' or ''2024-01-01''). Works with both active records and deleted records (filters by deletion time for deleted records).'
      - in: query
        name: last_modified_at__lte
        schema:
          type: string
        description: 'Filter for records modified on or before this timestamp. Format: ISO 8601 (e.g., ''2024-12-31T23:59:59Z'' or ''2024-12-31''). Works with both active records and deleted records (filters by deletion time for deleted records).'
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - Settings
      security:
      - knoxApiToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCustomerCurrencyList'
          description: ''
    post:
      operationId: ca_api_user_currency_create
      description: 'Complete mixin for history filtering with pagination support.

        Returns either active OR deleted records based on include_deleted parameter.'
      summary: Create Customer Currencies
      tags:
      - Settings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerCurrency'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CustomerCurrency'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CustomerCurrency'
      security:
      - knoxApiToken: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerCurrency'
          description: ''
  /ca/api/user_currency/{id}:
    get:
      operationId: ca_api_user_currency_retrieve
      summary: Retrieve Customer Currencies
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - Settings
      security:
      - knoxApiToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerCurrency'
          description: ''
    put:
      operationId: ca_api_user_currency_update
      summary: Update Customer Currencies
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - Settings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerCurrency'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CustomerCurrency'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CustomerCurrency'
      security:
      - knoxApiToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerCurrency'
          description: ''
    patch:
      operationId: ca_api_user_currency_partial_update
      summary: Partial Update Customer Currencies
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - Settings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCustomerCurrency'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCustomerCurrency'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCustomerCurrency'
      security:
      - knoxApiToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerCurrency'
          description: ''
    delete:
      operationId: ca_api_user_currency_destroy
      summary: Delete Customer Currencies
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - Settings
      security:
      - knoxApiToken: []
      responses:
        '204':
          description: No response body
  /ca/api/user_currency/rate:
    get:
      operationId: ca_api_user_currency_rate_retrieve
      summary: Get Currency Exchange Rate
      tags:
      - Settings
      security:
      - knoxApiToken: []
      responses:
        '200':
          description: No response body
  /ca/api/user_currency/with_rate:
    get:
      operationId: ca_api_user_currency_with_rate_retrieve
      summary: Get Currencies Exchange Rates for Currency
      tags:
      - Settings
      security:
      - knoxApiToken: []
      responses:
        '200':
          description: No response body
  /coa/api/chart-account-settings:
    get:
      operationId: settings_retrieve_chart_account_settings
      description: These are the defaults chart accounts to be used across the platform. Each input is the id to an existing chart account.
      summary: Retrieve Chart Account Settings
      tags:
      - Settings
      security:
      - knoxApiToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChartAccountSettings'
          description: ''
    put:
      operationId: settings_update_chart_account_settings
      description: These are the defaults chart accounts to be used across the platform. Each input is the id to an existing chart account.
      summary: Update Chart Account Settings
      tags:
      - Settings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChartAccountSettings'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ChartAccountSettings'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ChartAccountSettings'
      security:
      - knoxApiToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChartAccountSettings'
          description: ''
    patch:
      operationId: settings_partial_update_chart_account_settings
      description: Partially update the default chart accounts to be used across the platform. Each input is the id to an existing chart account.
      summary: Partially Update Chart Account Settings
      tags:
      - Settings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedChartAccountSettings'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedChartAccountSettings'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedChartAccountSettings'
      security:
      - knoxApiToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChartAccountSettings'
          description: ''
  /coa/api/entity:
    get:
      operationId: coa_api_entity_list
      description: Retrieve a list of chart entities with optional filtering
      summary: List Chart Entities
      parameters:
      - in: query
        name: exclude_adjusting
        schema:
          type: boolean
          default: false
        description: Exclude adjusting entities (those with a primary_entity set) from results. Defaults to false for backwards compatibility.
      - in: query
        name: include_inactive
        schema:
          type: boolean
          default: true
        description: Include inactive entities in results
      tags:
      - Settings
      security:
      - knoxApiToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ChartEntity'
          description: ''
      x-mint:
        mcp:
          enabled: true
          name: get_entities
          description: Retrieve chart entities (companies, subsidiaries, etc.)
    post:
      operationId: coa_api_entity_create
      description: 'Complete mixin for history filtering with pagination support.

        Returns either active OR deleted records based on include_deleted parameter.'
      summary: Create Chart Entity
      tags:
      - Settings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChartEntity'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ChartEntity'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ChartEntity'
      security:
      - knoxApiToken: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChartEntity'
          description: ''
  /coa/api/entity/{id}:
    get:
      operationId: coa_api_entity_retrieve
      summary: Retrieve Chart Entity
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - Settings
      security:
      - knoxApiToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChartEntity'
          description: ''
    put:
      operationId: coa_api_entity_update
      summary: Update Chart Entity
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - Settings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChartEntity'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ChartEntity'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ChartEntity'
      security:
      - knoxApiToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChartEntity'
          description: ''
    patch:
      operationId: coa_api_entity_partial_update
      summary: Partial Update Chart Entity
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - Settings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedChartEntity'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedChartEntity'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedChartEntity'
      security:
      - knoxApiToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChartEntity'
          description: ''
    delete:
      operationId: coa_api_entity_destroy
      summary: Delete Chart Entity
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - Settings
      security:
      - knoxApiToken: []
      responses:
        '204':
          description: No response body
  /coa/api/entity/{id}/logo:
    post:
      operationId: coa_api_entity_logo_create
      summary: Upload Chart Entity Logo
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - Settings
      security:
      - knoxApiToken: []
      responses:
        '200':
          description: No response body
  /coa/api/entity/for-intercompany:
    get:
      operationId: coa_api_entity_for_intercompany_list
      description: 'Returns ALL entities for intercompany journal entry creation.


        This endpoint bypasses entity-scoped filtering because users need to

        select entities they don''t normally have access to when creating

        intercompany journal entries (per the entity-scoped-user-access spec).


        Uses minimal serializer to only expose id, name, and currency - preventing

        data leakage of sensitive entity details to users who may not have full

        access to all entities.'
      summary: List All Entities for Intercompany JE
      tags:
      - Settings
      security:
      - knoxApiToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ChartEntityMinimal'
          description: ''
components:
  schemas:
    PatchedChartEntity:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        customer:
          type: integer
          readOnly: true
        parent:
          type: integer
          nullable: true
        parent_name:
          type: string
          readOnly: true
        elimination_entity:
          type: integer
          nullable: true
        primary_entity:
          type: integer
          nullable: true
          description: When set, this entity is an adjusting entity linked to the specified primary entity.
        primary_entity_name:
          type: string
          readOnly: true
        is_adjusting:
          type: boolean
          readOnly: true
        is_elimination_entity:
          type: boolean
          default: false
        is_deleted:
          type: boolean
          readOnly: true
          default: false
        deleted_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        last_modified_at:
          type: string
          format: date-time
          readOnly: true
        name:
          type: string
          nullable: true
          maxLength: 250
        description:
          type: string
          nullable: true
        currency:
          type: string
          maxLength: 3
        address_1:
          type: string
          nullable: true
          title: Address Line 1
          maxLength: 120
        address_2:
          type: string
          nullable: true
          title: Address Line 2
          maxLength: 120
        city:
          type: string
          nullable: true
          maxLength: 120
        state:
          type: string
          nullable: true
          maxLength: 120
        zip_code:
          type: string
          nullable: true
          maxLength: 120
        country:
          type: string
          nullable: true
          maxLength: 120
        disable_service_date:
          type: boolean
          description: When enabled, the Service Date field will be hidden on invoices for this entity
        logo_url:
          type: string
          format: uri
          nullable: true
          maxLength: 500
        active:
          type: boolean
        fiscal_year_month:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        fiscal_year_day:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        created_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        enable_mid_month_convention:
          type: boolean
          nullable: true
          title: Enable Mid-Month Convention (Override)
          description: Override customer-level mid-month convention setting for this entity. Leave blank to inherit from customer.
        mid_month_threshold:
          type: integer
          maximum: 31
          minimum: 0
          nullable: true
          title: Mid-Month Threshold (Override)
          description: Override customer-level threshold. Leave blank to inherit from customer.
        use_whole_month_accounting_for_prepaids:
          type: boolean
          nullable: true
          title: Use Whole-Month Accounting for Prepaids (Override)
          description: Override customer-level whole-month accounting setting for this entity. Leave blank to inherit from customer.
        allow_payments_in_closed_periods:
          type: boolean
          description: When enabled, allows applying existing transactions as payments to invoices/bills even when the transaction date falls in a closed subledger period.
        auto_apply_catchup_for_closed_periods:
          type: boolean
          title: Auto-Apply Catch-Up Revenue for Closed Periods
          description: When enabled, contracts signed after their revenue start month automatically catch up the elapsed revenue into the sign month, floored at the first open period under the close so it never posts to a closed period. Defaults off — flip in entity settings to opt in.
        lineage_array:
          type: array
          items:
            type: string
            maxLength: 50
          nullable: true
          description: Pre-computed lineage array from root to this entity
        tax_identification_number:
          type: string
          nullable: true
          description: Tax ID such as Korean BRN, GST number, or EU VAT number
          maxLength: 250
        representative_name:
          type: string
          nullable: true
          description: Legal representative name
          maxLength: 250
        business_type:
          type: string
          nullable: true
          description: Business type classification
          maxLength: 250
        business_category:
          type: string
          nullable: true
          description: Business category classification
          maxLength: 250
        invoice_name:
          type: string
          nullable: true
          readOnly: true
        invoice_email:
          type: string
          nullable: true
          readOnly: true
        invoice_message:
          type: string
          nullable: true
          readOnly: true
        invoice_email_subject:
          type: string
          nullable: true
          readOnly: true
        invoice_email_body:
          type: string
          nullable: true
          readOnly: true
        invoice_prefix:
          type: string
          nullable: true
          readOnly: true
        invoice_address:
          type: string
          nullable: true
          readOnly: true
        invoice_cc_emails:
          type: string
          nullable: true
          readOnly: true
        invoice_display_settings:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        invoice_email_attachments:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        withholding_scheme:
          type: integer
          nullable: true
          description: Withholding tax regime this entity operates under (e.g. Israel NB, India TDS). A bill resolves its scheme via bill.entity.withholding_scheme.
        withholding_scheme_name:
          type: string
          readOnly: true
        withholding_certificate:
          type: integer
          nullable: true
          description: 'This entity''s own authority-issued certificate (AR side): determines the expected rate customers withhold when paying our invoices under a certificate-based scheme.'
        withholding_certificate_number:
          type: string
          readOnly: true
    CustomerCurrency:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          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
        currency:
          type: string
          default: USD
          maxLength: 3
        created_at:
          type: string
          format: date-time
          readOnly: true
        customer:
          type: integer
          readOnly: true
      required:
      - created_at
      - customer
      - deleted_at
      - id
      - is_deleted
      - last_modified_at
      - name
    PatchedChartAccountSettings:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        uncategorized_name_and_number:
          type: string
          readOnly: true
        accounts_payable_name_and_number:
          type: string
          readOnly: true
        accounts_receivable_name_and_number:
          type: string
          readOnly: true
        deferred_revenue_name_and_number:
          type: string
          readOnly: true
        accrued_revenue_name_and_number:
          type: string
          readOnly: true
        unrealized_gain_loss_name_and_number:
          type: string
          readOnly: true
        realized_gain_loss_name_and_number:
          type: string
          readOnly: true
        rounding_account_name_and_number:
          type: string
          readOnly: true
        unapplied_credits_name_and_number:
          type: string
          readOnly: true
        unapplied_debits_name_and_number:
          type: string
          readOnly: true
        unbilled_revenue_name_and_number:
          type: string
          readOnly: true
        default_clearing_name_and_number:
          type: string
          readOnly: true
        discount_account_name_and_number:
          type: string
          readOnly: true
        accrued_discount_account_name_and_number:
          type: string
          readOnly: true
        unbilled_discount_account_name_and_number:
          type: string
          readOnly: true
        refund_account_name_and_number:
          type: string
          readOnly: true
        processing_fees_name_and_number:
          type: string
          readOnly: true
        platform_fees_name_and_number:
          type: string
          readOnly: true
        deferred_processing_fees_name_and_number:
          type: string
          readOnly: true
        tax_account_name_and_number:
          type: string
          readOnly: true
        payout_account_name_and_number:
          type: string
          readOnly: true
        cta_account_name_and_number:
          type: string
          readOnly: true
        oci_translation_account_name_and_number:
          type: string
          readOnly: true
        fixed_asset_disposal_name_and_number:
          type: string
          readOnly: true
        bad_debt_account_name_and_number:
          type: string
          readOnly: true
        dispute_expense_account_name_and_number:
          type: 

# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/campfire/refs/heads/main/openapi/campfire-settings-api-openapi.yml