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

# Create pending transaction matches

> Wraps ``CreateModelMixin.create`` (or any method named ``create``) with
``Idempotency-Key`` handling.

Place this mixin **before** the view's other base classes so its ``create``
overrides the inherited one::

    class JournalEntryListCreate(
        IdempotentCreateMixin,
        HistoryFilteringMixin,
        ListCreateAPIView,
    ):
        ...



## OpenAPI

````yaml https://api.meetcampfire.com/api/schema?format=json post /coa/api/transaction-matches/propose
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.


    ## Rate limits

    API users can make up to **5 requests per second**. This limit is shared
    across

    all endpoints for the same API user. Requests that exceed the limit receive
    a

    `429 Too Many Requests` response. Wait for the number of seconds specified
    in

    the `Retry-After` response header before retrying.
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/transaction-matches/propose:
    post:
      tags:
        - Core Accounting
      summary: Create pending transaction matches
      description: >-
        Wraps ``CreateModelMixin.create`` (or any method named ``create``) with

        ``Idempotency-Key`` handling.


        Place this mixin **before** the view's other base classes so its
        ``create``

        overrides the inherited one::

            class JournalEntryListCreate(
                IdempotentCreateMixin,
                HistoryFilteringMixin,
                ListCreateAPIView,
            ):
                ...
      operationId: propose_transaction_matches
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProposeMatches'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ProposeMatches'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ProposeMatches'
      responses:
        '200':
          description: No response body
components:
  schemas:
    ProposeMatches:
      type: object
      properties:
        matches:
          type: array
          items:
            $ref: '#/components/schemas/MatchProposal'
        transaction_id:
          type: integer
          minimum: 1
        items:
          type: array
          items:
            $ref: '#/components/schemas/MatchItem'
    MatchProposal:
      type: object
      properties:
        transaction_id:
          type: integer
          minimum: 1
        items:
          type: array
          items:
            $ref: '#/components/schemas/MatchItem'
      required:
        - items
        - transaction_id
    MatchItem:
      type: object
      properties:
        source_type:
          $ref: '#/components/schemas/SourceTypeEnum'
        source_id:
          type: integer
          minimum: 1
        similarity_score:
          type: number
          format: double
          default: 0
      required:
        - source_id
        - source_type
    SourceTypeEnum:
      enum:
        - bill
        - invoice
      type: string
      description: |-
        * `bill` - bill
        * `invoice` - invoice

````