> ## 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 Credit Memos

> 
        Retrieves a paginated list of accounting credit memos with comprehensive filtering and sorting capabilities.

        This endpoint provides a powerful interface for browsing and searching credit memos with:
        - Advanced filtering by date ranges, status, clients, entities, and contracts
        - Full-text search across credit memo numbers, messages, and client names
        - Flexible sorting by multiple fields including amounts and relationships
        - Optimized performance with efficient database queries and pagination
        - Complete credit memo details including line items, payment status, and accounting relationships

        **Key Features:**
        - Date range filtering for credit memo creation and application dates
        - Status-based filtering (open, partially_used, used, voided)
        - Client and entity-based filtering with hierarchical client support
        - Contract association filtering for revenue recognition workflows
        - Full-text search capabilities across key fields

        **Query Parameters:**
        - `start_date`, `end_date`: Filter by credit memo date range
        - `status`: Filter by application status (open, partially_used, used, voided)
        - `q`: Full-text search across credit memo number, message, and client name
        - `client`: Filter by specific client IDs (supports multiple values)
        - `entity`: Filter by specific entity IDs (supports multiple values)
        - `contract`: Filter by specific contract IDs (supports multiple values)
        - `sort`: Sort by various fields (credit_memo_date, client_name, total_amount, etc.)
        - `limit`, `offset`: Pagination controls for large result sets
        



## OpenAPI

````yaml https://api.meetcampfire.com/api/schema?format=json get /coa/api/v1/credit-memo
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/v1/credit-memo:
    get:
      tags:
        - Accounts Receivable
      summary: List Credit Memos
      description: |2-

                Retrieves a paginated list of accounting credit memos with comprehensive filtering and sorting capabilities.

                This endpoint provides a powerful interface for browsing and searching credit memos with:
                - Advanced filtering by date ranges, status, clients, entities, and contracts
                - Full-text search across credit memo numbers, messages, and client names
                - Flexible sorting by multiple fields including amounts and relationships
                - Optimized performance with efficient database queries and pagination
                - Complete credit memo details including line items, payment status, and accounting relationships

                **Key Features:**
                - Date range filtering for credit memo creation and application dates
                - Status-based filtering (open, partially_used, used, voided)
                - Client and entity-based filtering with hierarchical client support
                - Contract association filtering for revenue recognition workflows
                - Full-text search capabilities across key fields

                **Query Parameters:**
                - `start_date`, `end_date`: Filter by credit memo date range
                - `status`: Filter by application status (open, partially_used, used, voided)
                - `q`: Full-text search across credit memo number, message, and client name
                - `client`: Filter by specific client IDs (supports multiple values)
                - `entity`: Filter by specific entity IDs (supports multiple values)
                - `contract`: Filter by specific contract IDs (supports multiple values)
                - `sort`: Sort by various fields (credit_memo_date, client_name, total_amount, etc.)
                - `limit`, `offset`: Pagination controls for large result sets
                
      operationId: coa_api_v1_credit_memo_list
      parameters:
        - in: query
          name: client
          schema:
            type: array
            items:
              type: integer
          description: Filter by client IDs (can specify multiple)
        - in: query
          name: contract
          schema:
            type: array
            items:
              type: integer
          description: Filter by contract IDs (can specify multiple)
        - in: query
          name: end_date
          schema:
            type: string
          description: >-
            Filter credit memos created on or before this date (YYYY-MM-DD
            format)
        - in: query
          name: entity
          schema:
            type: array
            items:
              type: integer
          description: Filter by entity IDs (can specify multiple)
        - in: query
          name: limit
          schema:
            type: integer
          description: Number of results to return per page
        - in: query
          name: offset
          schema:
            type: integer
          description: Number of results to skip for pagination
        - in: query
          name: q
          schema:
            type: string
          description: Search credit memo numbers, messages, and client names
        - in: query
          name: sort
          schema:
            type: string
            enum:
              - '-amount_used'
              - '-client_name'
              - '-credit_memo_date'
              - '-credit_memo_number'
              - '-total_amount'
              - amount_used
              - client_name
              - credit_memo_date
              - credit_memo_number
              - total_amount
          description: Sort results by field (prefix with - for descending)
        - in: query
          name: start_date
          schema:
            type: string
          description: >-
            Filter credit memos created on or after this date (YYYY-MM-DD
            format)
        - in: query
          name: status
          schema:
            type: string
            enum:
              - open
              - partially_used
              - used
              - voided
          description: Filter by application status
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAccountingCreditMemoList'
              examples:
                CreditMemosListResponse:
                  value:
                    count: 123
                    next: http://api.example.org/accounts/?offset=400&limit=100
                    previous: http://api.example.org/accounts/?offset=200&limit=100
                    results:
                      - count: 150
                        next: >-
                          http://api.example.com/credit-memos/?limit=20&offset=20
                        previous: null
                        results:
                          - id: 4258
                            lines:
                              - id: 5449
                                account_number: '4107'
                                account_name: 4107 - Subscription fees
                                product_name: Annual Subscription
                                department_name: Engineering
                                tags:
                                  - id: 7736
                                    parent_name: null
                                    parent: null
                                    name: Other
                                    created_at: 2025-06-18T21:09:34+0000
                                    last_modified_at: 2025-06-18T21:09:34+0000
                                    group: null
                                description: Credit for overpayment on annual subscription
                                amount: 1000.23
                                created_at: 2025-07-25T21:04:38+0000
                                last_modified_at: 2025-07-25T21:04:38+0000
                                product: 3679
                                account: 169208
                                department: 35
                            payments: []
                            total_amount: 1000.23
                            amount_used: 0
                            amount_remaining: 1000.23
                            entity_name: Top Level
                            entity_currency: USD
                            client_name: Client A
                            credit_account_name: 5230 - Cloud Credits
                            attachments: []
                            credit_memo_number: CM-0000008
                            voided_date: null
                            ref_number: null
                            credit_memo_date: '2025-07-01'
                            applied_date: null
                            message_on_credit_memo: >-
                              Credit memo for annual subscription overpayment.
                              Thank you for your business.
                            application_status: open
                            currency: USD
                            exchange_rate: 1
                            exchange_rate_book: 1
                            created_at: 2025-07-25T21:04:38+0000
                            last_modified_at: 2025-07-25T21:04:38+0000
                            customer: 2
                            entity: 54
                            client: 33973
                            credit_account: 41905
                            journal_entry: 7491953
                            contract: null
                            voided_journal_entry: null
                  summary: Credit Memos List Response
          description: ''
      security:
        - knoxApiToken: []
components:
  schemas:
    PaginatedAccountingCreditMemoList:
      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/AccountingCreditMemo'
    AccountingCreditMemo:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        lines:
          type: array
          items:
            $ref: '#/components/schemas/AccountingCreditMemoLine'
        payments:
          type: array
          items:
            $ref: '#/components/schemas/AccountingCreditMemoPayment'
          readOnly: true
        amount_remaining:
          type: number
          format: double
          description: Calculate amount remaining from database fields
          readOnly: true
        entity_name:
          type: string
          readOnly: true
        entity_currency:
          type: string
          readOnly: true
        client_name:
          type: string
          readOnly: true
        client_email:
          type: string
          readOnly: true
        contract_name:
          type: string
          readOnly: true
        credit_account_number:
          type: string
          readOnly: true
        credit_account_name:
          type: string
          nullable: true
          description: Combines account number and name in the format "number - name"
          readOnly: true
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/File'
          readOnly: true
        credit_memo_number:
          type: string
        migrated_journal_id:
          type: integer
          writeOnly: true
          nullable: true
        voided_date:
          type: string
          format: date
          readOnly: true
        voided_journal_entry_order:
          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
        chat_uuid:
          type: string
          format: uuid
          writeOnly: true
        search_vector:
          type: string
          readOnly: true
          nullable: true
        search_text:
          type: string
          readOnly: true
          nullable: true
        credit_memo_type:
          $ref: '#/components/schemas/CreditMemoTypeEnum'
        ref_number:
          type: string
          nullable: true
          maxLength: 120
        credit_memo_date:
          type: string
          format: date
        applied_date:
          type: string
          format: date
          nullable: true
        message_on_credit_memo:
          type: string
          nullable: true
        application_status:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/ApplicationStatusEnum'
            - $ref: '#/components/schemas/BlankEnum'
            - $ref: '#/components/schemas/NullEnum'
        currency:
          type: string
          maxLength: 3
        exchange_rate:
          type: number
          format: double
          maximum: 100000000000000
          minimum: -100000000000000
          exclusiveMaximum: true
          exclusiveMinimum: true
          nullable: true
        exchange_rate_book:
          type: number
          format: double
          maximum: 100000000000000
          minimum: -100000000000000
          exclusiveMaximum: true
          exclusiveMinimum: true
          nullable: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        last_sent_at:
          type: string
          format: date-time
          nullable: true
        anrok_transaction_id:
          type: string
          nullable: true
          description: ID of the negation transaction in Anrok for this credit memo
          maxLength: 255
        integration_id:
          type: string
          nullable: true
          maxLength: 250
        integration_context:
          nullable: true
        vat_number:
          type: string
          nullable: true
          maxLength: 250
        total_amount:
          type: number
          format: double
          maximum: 1000000000000000000
          minimum: -1000000000000000000
          exclusiveMaximum: true
          exclusiveMinimum: true
          description: Sum of all line item amounts
        amount_used:
          type: number
          format: double
          maximum: 1000000000000000000
          minimum: -1000000000000000000
          exclusiveMaximum: true
          exclusiveMinimum: true
          description: Sum of all non-voided payment amounts
        chat_id:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        customer:
          type: integer
          readOnly: true
        entity:
          type: integer
        client:
          type: integer
          nullable: true
        credit_account:
          type: integer
          nullable: true
        journal_entry:
          type: integer
          nullable: true
        contract:
          type: integer
          nullable: true
        voided_journal_entry:
          type: integer
          nullable: true
        anrok_connection:
          type: integer
          nullable: true
        avalara_connection:
          type: integer
          nullable: true
        sphere_connection:
          type: integer
          nullable: true
      required:
        - amount_remaining
        - attachments
        - client_email
        - client_name
        - contract_name
        - created_at
        - credit_account_name
        - credit_account_number
        - credit_memo_date
        - customer
        - deleted_at
        - entity
        - entity_currency
        - entity_name
        - id
        - is_deleted
        - last_modified_at
        - lines
        - payments
        - search_text
        - search_vector
        - voided_date
        - voided_journal_entry_order
    AccountingCreditMemoLine:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        credit_memo:
          type: integer
          writeOnly: true
        account_number:
          type: string
          readOnly: true
        account_name:
          type: string
          nullable: true
          description: Combines account number and name in the format "number - name"
          readOnly: true
        product_name:
          type: string
          readOnly: true
        anrok_item_id:
          type: string
          readOnly: true
        department_name:
          type: string
          readOnly: true
        tags:
          type: array
          items:
            $ref: '#/components/schemas/TransactionTag'
          readOnly: true
        tax_rate_name:
          type: string
          readOnly: true
        tax_rate_value:
          type: number
          format: double
          maximum: 1000000
          minimum: -1000000
          exclusiveMaximum: true
          exclusiveMinimum: true
          readOnly: true
        description:
          type: string
          nullable: true
        amount:
          type: number
          format: double
          maximum: 1000000000000000000
          minimum: -1000000000000000000
          exclusiveMaximum: true
          exclusiveMinimum: true
        tax:
          type: number
          format: double
          maximum: 1000000000000000000
          minimum: -1000000000000000000
          exclusiveMaximum: true
          exclusiveMinimum: true
        tax_description:
          type: string
          nullable: true
          maxLength: 250
        tag_ids:
          type: array
          items:
            type: integer
            maximum: 9223372036854776000
            minimum: -9223372036854776000
            format: int64
        tag_group_ids:
          type: array
          items:
            type: integer
            maximum: 9223372036854776000
            minimum: -9223372036854776000
            format: int64
        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
        account:
          type: integer
        tax_rate:
          type: integer
          nullable: true
        department:
          type: integer
          nullable: true
      required:
        - account
        - account_name
        - account_number
        - anrok_item_id
        - created_at
        - customer
        - department_name
        - id
        - last_modified_at
        - product_name
        - tags
        - tax_rate_name
        - tax_rate_value
    AccountingCreditMemoPayment:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        payment_journal_entry_order:
          type: string
          readOnly: true
        voided_journal_entry_order:
          type: string
          readOnly: true
          nullable: true
        invoice:
          type: string
          readOnly: true
        currency:
          type: string
          maxLength: 3
        amount:
          type: number
          format: double
          maximum: 1000000000000000000
          minimum: -1000000000000000000
          exclusiveMaximum: true
          exclusiveMinimum: true
        payment_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
        voided_date:
          type: string
          format: date
          nullable: true
        customer:
          type: integer
          readOnly: true
        credit_memo:
          type: integer
        payment_journal_entry:
          type: integer
        payment_transaction:
          type: integer
          nullable: true
        voided_journal_entry:
          type: integer
          nullable: true
      required:
        - created_at
        - credit_memo
        - customer
        - id
        - invoice
        - last_modified_at
        - payment_journal_entry
        - payment_journal_entry_order
        - voided_journal_entry_order
    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
    CreditMemoTypeEnum:
      enum:
        - credit_memo
        - overpayment
      type: string
      description: |-
        * `credit_memo` - Credit Memo
        * `overpayment` - Overpayment
    ApplicationStatusEnum:
      enum:
        - open
        - partially_used
        - used
        - voided
      type: string
      description: |-
        * `open` - Open
        * `partially_used` - Partially Used
        * `used` - Used
        * `voided` - Voided
    BlankEnum:
      enum:
        - ''
    NullEnum:
      enum:
        - null
    TransactionTag:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        group_name:
          type: string
          readOnly: true
        parent_name:
          type: string
          readOnly: true
          nullable: true
        parent:
          type: integer
          nullable: true
        is_deleted:
          type: boolean
          readOnly: true
          default: false
        deleted_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        is_active:
          type: boolean
          default: true
        name:
          type: string
          nullable: true
          maxLength: 250
        created_at:
          type: string
          format: date-time
          readOnly: true
        last_modified_at:
          type: string
          format: date-time
          readOnly: true
        customer:
          type: integer
          readOnly: true
        group:
          type: integer
          nullable: true
      required:
        - created_at
        - customer
        - deleted_at
        - group_name
        - id
        - is_deleted
        - last_modified_at
        - name
        - parent_name
  securitySchemes:
    knoxApiToken:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"

````