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

# List Custom Fields

> 
        List all custom fields for a given app and model.

        Supports including soft-deleted records for audit and recovery purposes.
        When include_deleted=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.
        



## OpenAPI

````yaml https://api.meetcampfire.com/api/schema?format=json get /ca/api/v1/custom-fields
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:
  /ca/api/v1/custom-fields:
    get:
      tags:
        - Company Objects
      summary: List Custom Fields
      description: |2-

                List all custom fields for a given app and model.

                Supports including soft-deleted records for audit and recovery purposes.
                When include_deleted=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.
                
      operationId: ca_api_v1_custom_fields_list
      parameters:
        - in: query
          name: app
          schema:
            type: string
          description: App name
        - 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: is_active
          schema:
            type: boolean
          description: Filter by active status
        - 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
        - in: query
          name: model
          schema:
            type: string
          description: Model name
        - name: offset
          required: false
          in: query
          description: The initial index from which to return the results.
          schema:
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCustomFieldList'
          description: ''
      security:
        - knoxApiToken: []
components:
  schemas:
    PaginatedCustomFieldList:
      type: object
      required:
        - count
        - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/CustomField'
    CustomField:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        app:
          type: string
          readOnly: true
        model:
          type: string
          readOnly: true
        name:
          type: string
          maxLength: 100
        label:
          type: string
          maxLength: 100
        field_type:
          $ref: '#/components/schemas/FieldTypeEnum'
        options: {}
        is_required:
          type: boolean
        display_order:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        is_active:
          type: boolean
        include_on_invoice:
          type: boolean
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_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:
        - app
        - created_at
        - deleted_at
        - field_type
        - id
        - is_deleted
        - label
        - last_modified_at
        - model
        - name
        - updated_at
    FieldTypeEnum:
      enum:
        - text
        - single_select
        - date
        - number
        - boolean
      type: string
      description: |-
        * `text` - Free Text
        * `single_select` - Single Select
        * `date` - Date
        * `number` - Number
        * `boolean` - Boolean
  securitySchemes:
    knoxApiToken:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"

````