> ## Documentation Index
> Fetch the complete documentation index at: https://docs.teal.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk update reconciliation journal entry status

> Bulk update reconciliation journal entry status.



## OpenAPI

````yaml PUT /v0/bulk/reconciliations/{reconciliation_id}/journal-entries
openapi: 3.1.0
info:
  title: Teal API
  version: '0.1'
servers:
  - url: https://api.sandbox.teal.dev
    description: Sandbox
  - url: https://api.teal.dev
    description: Production
security: []
paths:
  /v0/bulk/reconciliations/{reconciliation_id}/journal-entries:
    put:
      tags:
        - Reconciliation
      summary: Bulk update reconciliation journal entry status
      description: Bulk update reconciliation journal entry status.
      operationId: >-
        update_reconciliation_journal_entries_v0_bulk_reconciliations__reconciliation_id__journal_entries_put
      parameters:
        - name: reconciliation_id
          in: path
          required: true
          schema:
            type: string
            description: The reconciliation ID
            title: Reconciliation Id
          description: The reconciliation ID
        - name: teal-instance-id
          in: header
          required: true
          schema:
            type: string
            description: The Teal instance ID
            title: Teal-Instance-Id
          description: The Teal instance ID
        - name: modified-by
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: An optional identifier for audit logging.
            title: Modified-By
          description: An optional identifier for audit logging.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ReconciliationJournalEntryUpdate'
              title: Reconciliation Journal Entry Updates
      responses:
        '207':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReconciliationJournalEntryUpdateResult'
                title: >-
                  Response Update Reconciliation Journal Entries V0 Bulk
                  Reconciliations  Reconciliation Id  Journal Entries Put
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TealErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TealErrorResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TealErrorResponse'
          description: Unprocessable Content
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TealErrorResponse'
          description: Service Unavailable
      security:
        - OAuth2PasswordBearer: []
components:
  schemas:
    ReconciliationJournalEntryUpdate:
      properties:
        journal_entry_id:
          type: string
          title: Journal Entry Id
          description: The unique ID of the object.
          examples:
            - TYcnEf8yEYMXSwUui3E2df
        reconciliation_status:
          $ref: '#/components/schemas/JournalEntryReconciliationStatus'
          description: The reconciliation status of the Journal Entry.
          examples:
            - reconciled
      type: object
      required:
        - journal_entry_id
        - reconciliation_status
      title: ReconciliationJournalEntryUpdate
    ReconciliationJournalEntryUpdateResult:
      properties:
        reconciliation_journal_entry:
          anyOf:
            - $ref: '#/components/schemas/ReconciliationJournalEntry'
            - type: 'null'
        error:
          anyOf:
            - type: string
            - type: 'null'
          title: Error
          description: The error message if update failed
      type: object
      required:
        - reconciliation_journal_entry
      title: ReconciliationJournalEntryUpdateResult
    TealErrorResponse:
      properties:
        message:
          anyOf:
            - type: string
            - type: 'null'
          title: Message
          description: A description of the error for API developers.
        data:
          title: Data
          description: Data associated with the error.
        display_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Display Message
          description: A description of the error for end users.
        error_code:
          anyOf:
            - $ref: '#/components/schemas/TealErrorCode'
            - type: 'null'
          description: Error code associated with the error.
      type: object
      required:
        - message
      title: TealErrorResponse
    JournalEntryReconciliationStatus:
      type: string
      enum:
        - unreconciled
        - reconciled
        - skipped
      title: JournalEntryReconciliationStatus
    ReconciliationJournalEntry:
      properties:
        id:
          type: string
          title: Id
          description: The unique ID of the object.
          examples:
            - C4ocnUQze8kDwQ3EczkZXn
        description:
          type: string
          maxLength: 512
          title: Description
          description: |-
            An arbitrary string on the object, useful for 
                    displaying to the user.
          examples:
            - Payroll#230215
        datetime:
          type: string
          format: date-time
          title: Datetime
          description: |-
            The datetime the Journal Entry was created in UTC 
                    time.
          examples:
            - '2023-02-15T06:42:18Z'
        creation_date:
          type: string
          format: date-time
          title: Creation Date
          description: >-
            The timestamp when this journal entry record was created in the
            database.
          examples:
            - '2023-02-15T06:42:18Z'
        is_opening_balance:
          type: boolean
          title: Is Opening Balance
          description: |-
            Whether the Journal Entry represents an
                    opening balance.
          examples:
            - false
        line_entry_ids:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Line Entry Ids
          description: |-
            The ids of the Line Entries detailing the Journal
                    Entry's movement of value.
          examples:
            - - XMDsKVuW4Wmi3LTW31Qw6E
              - NULcvXTkLczde32qs1rqgB
        linked_entity:
          type: 'null'
          title: Linked Entity
          description: Deprecated - always null
        creation_source:
          $ref: '#/components/schemas/JournalEntryCreationSource'
          description: >-
            The source of the journal entry creation: 'manual' if created
            manually by the user, 'transaction' if auto-generated from
            transaction categorization (e.g., Plaid sync), or 'legacy' if
            auto-generated from the old AR/AP system.
        categorization_status:
          $ref: '#/components/schemas/JournalEntryCategorizationStatus'
          description: >-
            Whether the journal entry is still awaiting an auto-categorization
            result: 'pending' (awaiting), 'delayed' (timed out, a late result
            may still resolve it), or 'completed' (resolved, or not
            auto-categorized).
        line_entries:
          anyOf:
            - items:
                $ref: '#/components/schemas/ExpandableDetailedLineEntry'
              type: array
            - type: 'null'
          title: Line Entries
          description: >-
            List of Line Entries. platformGL instances only. Included in
            expanded responses.
          examples:
            - - amount: 31282.28
                categorization_status: completed
                datetime: '2023-02-15T06:42:18Z'
                debit_credit: debit
                description: Payroll#230215
                editable: false
                id: XMDsKVuW4Wmi3LTW31Qw6E
                journal_entry_description: Payroll#230215
                journal_entry_id: C4ocnUQze8kDwQ3EczkZXn
                ledger_id: 7JRNsKwy2Lw66caxVU7WGC
                ledger_name: Pluto Checking 4242
                sort_order: 1
                tags: []
                transaction_id: txn_UjL3BQnEaJtecuC7CUeDk
              - amount: 31282.28
                categorization_status: completed
                datetime: '2023-02-15T06:42:18Z'
                debit_credit: credit
                description: Payroll#230215
                editable: false
                id: NULcvXTkLczde32qs1rqgB
                journal_entry_description: Payroll#230215
                journal_entry_id: C4ocnUQze8kDwQ3EczkZXn
                ledger_id: HLn8oy2eqMUCwjp1Cwdgco
                ledger_name: Payroll Expense
                sort_order: 2
                tags: []
        accrual_source:
          anyOf:
            - $ref: '#/components/schemas/AccrualSourceDetails'
            - type: 'null'
          description: >-
            The accrual source associated with this journal entry, if any.
            Included in expanded responses.
        transfer:
          anyOf:
            - $ref: '#/components/schemas/Transfer'
            - type: 'null'
          description: >-
            The transfer linking this journal entry to the journal entry on the
            other side of the transfer, if any. Included in expanded responses.
        reconciliation_status:
          $ref: '#/components/schemas/JournalEntryReconciliationStatus'
          description: The reconciliation status of the Journal Entry.
          examples:
            - reconciled
        reconciliation_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Reconciliation Id
          description: The reconciliation that the journal entry is associated with.
          examples:
            - FYQxHfWNCMnUuXr6iQhjgG
        original_reconciliation_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Original Reconciliation Id
          description: >-
            The reconciliation that the journal entry naturally belongs to based
            on its datetime.
          examples:
            - FYQxHfWNCMnUuXr6iQhjgG
      type: object
      required:
        - id
        - description
        - datetime
        - creation_date
        - is_opening_balance
        - creation_source
        - categorization_status
        - reconciliation_status
      title: ReconciliationJournalEntry
    TealErrorCode:
      type: string
      enum:
        - invalid_date
        - invalid_ledger
        - missing_parameters
        - duplicate_name
        - duplicate_sort_code
        - invalid_ledger_type
        - invalid_ledger_report_cash_flow
        - deleting_required_ledger
        - repeated_tag_group
        - deleting_transaction_line
        - modifying_read_only_ledger
        - debits_credits_not_equal
        - modifying_opening_balance_journal_entry
        - modifying_accrual_journal_entry
        - modifying_payment_application_journal_entry
        - invalid_deferral_ledger
        - duplicate_statement_ending_date
        - reconciliation_in_progress
        - reconciled_balance_does_not_match
        - journal_entry_outside_reconciliation_period
        - entries_start_date_after_transactions
        - entries_start_date_after_reconciliations
        - entries_start_date_after_journal_entries
      title: TealErrorCode
    JournalEntryCreationSource:
      type: string
      enum:
        - manual
        - transaction
        - accrual
        - payment_application
        - legacy
        - scheduled_accrual
      title: JournalEntryCreationSource
      description: >-
        The source that created a journal entry.


        - `manual`: Created manually by the user via the UI.

        - `transaction`: Created automatically from a transaction categorization
        (e.g., Plaid sync).

        - `accrual`: Created automatically as part of an accrual workflow.

        - `payment_application`: Created automatically as part of a payment
        application workflow.

        - `legacy`: Created automatically from the old AR/AP system
        (receivables/payables).

        - `scheduled_accrual`: Created automatically by the background accrual
        schedule job.
    JournalEntryCategorizationStatus:
      type: string
      enum:
        - pending
        - delayed
        - completed
      title: JournalEntryCategorizationStatus
    ExpandableDetailedLineEntry:
      properties:
        amount:
          type: number
          title: Amount
          description: The value of the line entry in decimal dollar cents.
          examples:
            - '31282.27999999999883584678173065185546875'
        debit_credit:
          $ref: '#/components/schemas/DebitCredit'
          description: Indicates if the amount is a credit or debit.
          examples:
            - credit
        description:
          anyOf:
            - type: string
              maxLength: 4000
            - type: 'null'
          title: Description
          description: >-
            An arbitrary string on the object, useful for displaying to the user
            or for categorization.
          examples:
            - Payroll#230215
        ledger_id:
          type: string
          title: Ledger Id
          description: The ID of the Line Entry's Ledger.
          examples:
            - 7JRNsKwy2Lw66caxVU7WGC
        related_line_entry_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Related Line Entry Id
          description: >-
            If the Line Entry is identified as a transfer between accounts, the
            ID of the Line Entry in the opposing Ledger. Related guide:
            [Auto-categorization](https://docs.teal.dev/guides/platform/categorization/pipeline#transfers-between-accounts)
        transaction_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Transaction Id
          description: The ID of the associated Transaction, if one exists.
        sort_order:
          anyOf:
            - type: integer
            - type: 'null'
          title: Sort Order
          description: >-
            The position of the Line Entry within its Journal Entry, used to
            determine display order.
          examples:
            - 1
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
          description: The unique ID of the object.
          examples:
            - XMDsKVuW4Wmi3LTW31Qw6E
        datetime:
          type: string
          format: date-time
          title: Datetime
          description: The datetime the Line Entry was created in UTC time.
          examples:
            - '2023-02-15T06:42:18Z'
        editable:
          type: boolean
          title: Editable
          description: >-
            Indicates if the Line Entry can be manually added or removed from a
            Ledger, as dictated by the `editable` property on the Ledger.
          examples:
            - true
        journal_entry:
          anyOf:
            - $ref: '#/components/schemas/JournalEntry'
            - type: 'null'
          description: Expandable. The associated Journal Entry object.
          examples:
            - categorization_status: completed
              creation_date: '2023-02-15T06:42:18Z'
              creation_source: manual
              datetime: '2023-02-15T06:42:18Z'
              description: Payroll#230215
              id: C4ocnUQze8kDwQ3EczkZXn
              is_opening_balance: false
              line_entry_ids:
                - XMDsKVuW4Wmi3LTW31Qw6E
                - NULcvXTkLczde32qs1rqgB
        journal_entry_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Journal Entry Id
          description: The ID of the associated Journal Entry.
          examples:
            - C4ocnUQze8kDwQ3EczkZXn
        journal_entry_description:
          type: string
          maxLength: 512
          title: Journal Entry Description
          description: An arbitrary string on the object, useful for displaying to users.
          examples:
            - Payroll#230215
        categorization_status:
          $ref: '#/components/schemas/JournalEntryCategorizationStatus'
          description: >-
            Whether the associated Journal Entry is still awaiting an
            auto-categorization result: 'pending' (awaiting), 'delayed' (timed
            out, a late result may still resolve it), or 'completed' (resolved,
            or not auto-categorized). Both Line Entries of a Journal Entry share
            this value.
          examples:
            - completed
        ledger:
          anyOf:
            - $ref: '#/components/schemas/Ledger'
            - type: 'null'
          description: Expandable. The associated Ledger object.
          examples:
            - created_at: '2024-01-01T00:00:00'
              debit_credit: debit
              editable: false
              financial_account_type: bank_account
              id: 7JRNsKwy2Lw66caxVU7WGC
              is_autocat_category: false
              is_required: false
              name: Pluto Checking 4242
              report_cash_flow: true
              sort_code: '2240'
              sub_type: current_assets
              type: asset
        ledger_name:
          type: string
          title: Ledger Name
          description: The name of the Line Entry's Ledger.
          examples:
            - Payroll Expense
        opposing_ledger_ids:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Opposing Ledger Ids
          description: >-
            Expandable. IDs of the ledgers on the other side(s) of the line
            entry with opposite debit/credit.
        tags:
          anyOf:
            - items:
                $ref: '#/components/schemas/Tag'
              type: array
            - type: 'null'
          title: Tags
          description: A list of all the Tags associated with the Line Entry, if any.
        transaction:
          anyOf:
            - $ref: '#/components/schemas/Transaction'
            - type: 'null'
          description: Expandable. The associated Transaction object, if one exists.
          examples:
            - amount: 31282.28
              datetime: '2023-02-15T06:42:18Z'
              description: Payroll#230215
              id: txn_UjL3BQnEaJtecuC7CUeDk
              journal_entry_id: C4ocnUQze8kDwQ3EczkZXn
              ledger_id: 7JRNsKwy2Lw66caxVU7WGC
              line_entry_id: XMDsKVuW4Wmi3LTW31Qw6E
              personal: false
              posted_status: posted
              review_status: reviewed
              source_account_id: L7RR1Yz85FJoASPvPLs441
        payment_applications:
          anyOf:
            - items:
                $ref: '#/components/schemas/LineEntryPaymentApplication'
              type: array
            - type: 'null'
          title: Payment Applications
          description: >-
            Payments applied to an accrual source (bill/invoice) using the Line
            Entry.
        accrual_source:
          anyOf:
            - $ref: '#/components/schemas/AccrualSource'
            - type: 'null'
          description: The accrual source linked to a line entry, if one exists.
      type: object
      required:
        - amount
        - debit_credit
        - ledger_id
        - id
        - datetime
        - editable
        - journal_entry_id
        - journal_entry_description
        - categorization_status
        - ledger_name
      title: ExpandableDetailedLineEntry
    AccrualSourceDetails:
      properties:
        id:
          type: string
          title: Id
        instance_id:
          type: string
          title: Instance Id
        external_id:
          anyOf:
            - type: string
            - type: 'null'
          title: External Id
        reference_number:
          type: string
          title: Reference Number
        external_party_id:
          anyOf:
            - type: string
            - type: 'null'
          title: External Party Id
        type:
          $ref: '#/components/schemas/AccrualSourceType'
        status:
          $ref: '#/components/schemas/AccrualSourceStatus'
        display_status:
          $ref: '#/components/schemas/AccrualSourceDisplayStatus'
        effective_date:
          type: string
          format: date
          title: Effective Date
        due_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Due Date
        gross_amount:
          type: number
          title: Gross Amount
        amount_paid:
          type: number
          title: Amount Paid
        amount_adjusted:
          type: number
          title: Amount Adjusted
        amount_outstanding:
          type: number
          title: Amount Outstanding
        notes:
          anyOf:
            - type: string
            - type: 'null'
          title: Notes
        service_period_start:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Service Period Start
        service_period_end:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Service Period End
        lines:
          anyOf:
            - items:
                $ref: '#/components/schemas/AccrualSourceLine'
              type: array
            - type: 'null'
          title: Lines
        journal_entry_ids:
          items:
            type: string
          type: array
          title: Journal Entry Ids
          default: []
        files:
          anyOf:
            - items:
                $ref: '#/components/schemas/AccrualSourceFile'
              type: array
            - type: 'null'
          title: Files
        payment_applications:
          anyOf:
            - items:
                $ref: '#/components/schemas/AccrualSourcePaymentApplication'
              type: array
            - type: 'null'
          title: Payment Applications
      type: object
      required:
        - id
        - instance_id
        - reference_number
        - type
        - status
        - display_status
        - effective_date
        - gross_amount
        - amount_paid
        - amount_adjusted
        - amount_outstanding
      title: AccrualSourceDetails
    Transfer:
      properties:
        id:
          type: string
          title: Id
          description: The id of the transfer.
        from_entry:
          $ref: '#/components/schemas/TransferEntry'
          description: The 'from' side of the transfer.
        to_entry:
          $ref: '#/components/schemas/TransferEntry'
          description: The 'to' side of the transfer.
      type: object
      required:
        - id
        - from_entry
        - to_entry
      title: Transfer
    DebitCredit:
      type: string
      enum:
        - debit
        - credit
      title: DebitCredit
    JournalEntry:
      properties:
        id:
          type: string
          title: Id
          description: The unique ID of the object.
          examples:
            - C4ocnUQze8kDwQ3EczkZXn
        description:
          type: string
          maxLength: 512
          title: Description
          description: |-
            An arbitrary string on the object, useful for 
                    displaying to the user.
          examples:
            - Payroll#230215
        datetime:
          type: string
          format: date-time
          title: Datetime
          description: |-
            The datetime the Journal Entry was created in UTC 
                    time.
          examples:
            - '2023-02-15T06:42:18Z'
        creation_date:
          type: string
          format: date-time
          title: Creation Date
          description: >-
            The timestamp when this journal entry record was created in the
            database.
          examples:
            - '2023-02-15T06:42:18Z'
        is_opening_balance:
          type: boolean
          title: Is Opening Balance
          description: |-
            Whether the Journal Entry represents an
                    opening balance.
          examples:
            - false
        line_entry_ids:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Line Entry Ids
          description: |-
            The ids of the Line Entries detailing the Journal
                    Entry's movement of value.
          examples:
            - - XMDsKVuW4Wmi3LTW31Qw6E
              - NULcvXTkLczde32qs1rqgB
        linked_entity:
          type: 'null'
          title: Linked Entity
          description: Deprecated - always null
        creation_source:
          $ref: '#/components/schemas/JournalEntryCreationSource'
          description: >-
            The source of the journal entry creation: 'manual' if created
            manually by the user, 'transaction' if auto-generated from
            transaction categorization (e.g., Plaid sync), or 'legacy' if
            auto-generated from the old AR/AP system.
        categorization_status:
          $ref: '#/components/schemas/JournalEntryCategorizationStatus'
          description: >-
            Whether the journal entry is still awaiting an auto-categorization
            result: 'pending' (awaiting), 'delayed' (timed out, a late result
            may still resolve it), or 'completed' (resolved, or not
            auto-categorized).
      type: object
      required:
        - id
        - description
        - datetime
        - creation_date
        - is_opening_balance
        - creation_source
        - categorization_status
      title: JournalEntry
    Ledger:
      properties:
        id:
          type: string
          title: Id
          description: The unique ID of the object.
          examples:
            - 7JRNsKwy2Lw66caxVU7WGC
        name:
          type: string
          maxLength: 255
          title: Name
          description: The name of the ledger.
          examples:
            - Pluto Checking 4242
        debit_credit:
          $ref: '#/components/schemas/DebitCredit'
          description: Indicates if the ledger is a credit or debit ledger.
          examples:
            - debit
        editable:
          type: boolean
          title: Editable
          description: >-
            Whether line entries can be manually added or removed from the
            ledger.
          examples:
            - false
        financial_account_type:
          anyOf:
            - $ref: '#/components/schemas/FinancialAccountType'
            - type: 'null'
          description: Indicates that the ledger represents a real-world financial account.
          examples:
            - bank_account
        is_required:
          type: boolean
          title: Is Required
          description: >-
            Indicates that the ledger is a system ledger required for Teal to
            work. These ledgers can be renamed to fit your needs but cannot be
            deleted. Their behaviour is identified by `required_ledger_purpose`;
            see that field's enum for the full set of purposes (e.g.
            `account_transfers`, `opening_balances`, `uncat_inflow`,
            `uncat_outflow`, `retained_earnings`, `current_year_earnings`,
            `accounts_receivable`, `accounts_payable`, and the payroll system
            ledgers).
          examples:
            - false
        required_ledger_purpose:
          anyOf:
            - $ref: '#/components/schemas/SpecialLedgerType'
            - type: 'null'
          description: >-
            Required ledgers fulfill specific system functions and are necessary
            for the accounting system to operate.
          examples:
            - account_transfers
        parent:
          anyOf:
            - $ref: '#/components/schemas/Ledger'
            - type: 'null'
          description: >-
            Expandable. If the ledger is a child ledger, the parent ledger
            object.
        parent_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Parent Id
          description: If the ledger is a child Ledger, the ID of the parent ledger object.
          examples:
            - null
        report_cash_flow:
          type: boolean
          title: Report Cash Flow
          description: >-
            Whether or not this ledger is included in the cash flow report. For
            ledgers with a financial_account_type, this value is automatically
            determined and cannot be modified.
          examples:
            - false
        sort_code:
          type: string
          maxLength: 20
          title: Sort Code
          description: >-
            Determines the display order in reports, ordered digit by digit,
            starting from the leftmost position. For example, `20010` will come
            before `3050`.
          examples:
            - '1400'
        sub_type:
          $ref: '#/components/schemas/LedgerSubType'
          description: >-
            Indicates similar characteristics and accounting treatment for a
            group of ledgers within a `type`.
          examples:
            - current_assets
        type:
          $ref: '#/components/schemas/LedgerType'
          description: >-
            Indicates the purpose and location of the funds and value recorded
            in the ledger and which report it is included in: `asset`,
            `liability` and `equity` ledgers are displayed on the balance sheet;
            `revenue` and `expenses` are displayed on the income statement.
          examples:
            - asset
        created_at:
          type: string
          format: date-time
          title: Created At
          description: The datetime when the ledger was created.
          examples:
            - '2024-01-01T00:00:00Z'
      type: object
      required:
        - id
        - name
        - debit_credit
        - editable
        - is_required
        - parent_id
        - report_cash_flow
        - sort_code
        - sub_type
        - type
        - created_at
      title: Ledger
    Tag:
      properties:
        id:
          type: string
          title: Id
          description: The unique ID of the object.
          examples:
            - UjL3BQnEaJtecuC7CUeDk
        name:
          type: string
          title: Name
          description: An arbitrary string, useful for identifying the tag to the user.
          examples:
            - Sprinter - 1ab-c23
        tag_group_id:
          type: string
          title: Tag Group Id
          description: The ID of the tag group.
          examples:
            - NCB2xo5S1yQbNgyWskXpwG
      type: object
      required:
        - id
        - name
        - tag_group_id
      title: Tag
    Transaction:
      properties:
        id:
          type: string
          title: Id
          description: |-
            The unique ID of the object. This is used as an idempotency 
                    key to prevent duplicates. This is manually set as part of the create 
                    transactions request. If the transaction is created via a data integration, 
                    Plaid for example, it will be set to the `transaction_id` to enforce 
                    idempotency with the data source.
          examples:
            - t_9237232
        amount:
          type: number
          title: Amount
          description: The value of the transaction in decimal dollar cents.
          examples:
            - 132629.38
        datetime:
          type: string
          format: date-time
          title: Datetime
          description: |-
            The UTC datetime that the Transaction was created. This
                    will never be before an Instance's `entries_start` date. When importing 
                    transactions, transactions whose datetime is before the Instance’s 
                    `entries_start` date will be skipped. Other transactions will be processed 
                    as normal.
          examples:
            - '2024-03-15T15:28:53Z'
        description:
          type: string
          maxLength: 512
          title: Description
          description: |-
            An arbitrary string on the object, useful for
                    displaying information to the user. 
                    Descriptions over 512 characters will be truncated.
          examples:
            - Payroll March 15 2024
        metadata:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          title: Metadata
          description: |-
            Arbitrary structured information about the transaction.
                    This could be location of the transaction to display to the user or vendor 
                    information to use as part of a Platform or Instance categorization rule. 
                    Teal does not use metadata for any accounting purposes.
          examples:
            - null
        external_metadata_id:
          anyOf:
            - type: string
              maxLength: 255
            - type: 'null'
          title: External Metadata Id
          description: Opaque reference to the Mercury TransactionMetadataId
        categorization_method:
          anyOf:
            - $ref: '#/components/schemas/CategorizerType'
            - type: 'null'
          description: >-
            How the Transaction was assigned its 
                    category.

            See the [categorization
            guide](https://docs.teal.dev/guides/platform/categorization/pipeline) 
                    for more details.
          examples:
            - similarity
        posted_status:
          $ref: '#/components/schemas/PostedStatus'
          description: |-
            Indicates if the corresponding journal entry and 
                    line entries for the transaction have been have been created. `deleted` 
                    indicates that the transaction is `posted` but the corresponding journal entry
                    and line entries have been deleted.
          examples:
            - posted
        review_status:
          $ref: '#/components/schemas/ReviewStatus'
          description: |-
            Indicates if the transaction has been reviewed. 
                    See the [reviewing transactions](https://docs.teal.dev/guides/transactions/reviewing_transactions) 
                    for steps on how to use this.
          examples:
            - reviewed
        journal_entry_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Journal Entry Id
          description: |-
            The ID of the Journal Entry that the 
                    Transaction's Line Entry is associated with.
          examples:
            - C4ocnUQze8kDwQ3EczkZXn
        journal_entry:
          type: 'null'
          title: Journal Entry
          description: Expandable. The associated Journal Entry object.
          examples:
            - null
        source_account_id:
          type: string
          title: Source Account Id
          description: |-
            The ID of the transaction source account
                    where the transaction is stored.
        ledger_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Ledger Id
          description: |-
            The ID of the financial account ledger associated 
                    with the Transaction.
          examples:
            - 7JRNsKwy2Lw66caxVU7WGC
        ledger:
          type: 'null'
          title: Ledger
          description: |-
            Expandable. The Ledger object of the financial 
                    account associated with the Transaction.
          examples:
            - null
        line_entry_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Line Entry Id
          description: |-
            The ID of the financial account ledger associated 
                    with the Transaction.
          examples:
            - XMDsKVuW4Wmi3LTW31Qw6E
        line_entry:
          type: 'null'
          title: Line Entry
          description: Expandable. The associated Line Entry.
          examples:
            - null
        opposing_line_entry_ids:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Opposing Line Entry Ids
          description: |-
            A list of IDs of all the Line Entries 
                    objects in the journal entry with the opposite `debit_credit` status. For
                    example if the Transaction's line entry is a debit this opposing line entries
                    will be credit line entries.
          examples:
            - - NULcvXTkLczde32qs1rqgB
        opposing_line_entries:
          type: 'null'
          title: Opposing Line Entries
          description: |-
            Expandable. A list of the Line Entry objects
                    with the opposite `debit_credit` status.
          examples:
            - null
        tags:
          anyOf:
            - items:
                $ref: '#/components/schemas/Tag'
              type: array
            - type: 'null'
          title: Tags
          description: |-
            A list of all the Tags associated with the Transaction, 
                    if any. Tags are transitive — the tags on a Transaction are applied to 
                    its corresponding Line Entry or Line Entries.
          examples:
            - null
        personal:
          type: boolean
          title: Personal
          description: Whether the transaction is a non-business personal transaction.
          examples:
            - false
      type: object
      required:
        - id
        - amount
        - datetime
        - description
        - posted_status
        - review_status
        - source_account_id
        - personal
      title: Transaction
    LineEntryPaymentApplication:
      properties:
        payment_application_id:
          type: string
          title: Payment Application Id
        matched_amount:
          type: number
          title: Matched Amount
        accrual_source:
          anyOf:
            - $ref: '#/components/schemas/LineEntryPaymentApplicationAccrualSource'
            - type: 'null'
        source_type:
          $ref: '#/components/schemas/PaymentApplicationSourceType'
        status:
          $ref: '#/components/schemas/PaymentApplicationStatus'
        adjustments:
          items:
            $ref: '#/components/schemas/PaymentApplicationAccrualAdjustment'
          type: array
          title: Adjustments
      type: object
      required:
        - payment_application_id
        - matched_amount
        - accrual_source
        - source_type
        - status
        - adjustments
      title: LineEntryPaymentApplication
    AccrualSource:
      properties:
        id:
          type: string
          title: Id
        instance_id:
          type: string
          title: Instance Id
        external_id:
          anyOf:
            - type: string
            - type: 'null'
          title: External Id
        reference_number:
          type: string
          title: Reference Number
        external_party_id:
          anyOf:
            - type: string
            - type: 'null'
          title: External Party Id
        type:
          $ref: '#/components/schemas/AccrualSourceType'
        status:
          $ref: '#/components/schemas/AccrualSourceStatus'
        display_status:
          $ref: '#/components/schemas/AccrualSourceDisplayStatus'
        effective_date:
          type: string
          format: date
          title: Effective Date
        due_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Due Date
        gross_amount:
          type: number
          title: Gross Amount
        amount_paid:
          type: number
          title: Amount Paid
        amount_adjusted:
          type: number
          title: Amount Adjusted
        amount_outstanding:
          type: number
          title: Amount Outstanding
        notes:
          anyOf:
            - type: string
            - type: 'null'
          title: Notes
        service_period_start:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Service Period Start
        service_period_end:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Service Period End
        lines:
          anyOf:
            - items:
                $ref: '#/components/schemas/AccrualSourceLine'
              type: array
            - type: 'null'
          title: Lines
      type: object
      required:
        - id
        - instance_id
        - reference_number
        - type
        - status
        - display_status
        - effective_date
        - gross_amount
        - amount_paid
        - amount_adjusted
        - amount_outstanding
      title: AccrualSource
    AccrualSourceType:
      type: string
      enum:
        - invoice
        - bill
        - payroll
      title: AccrualSourceType
    AccrualSourceStatus:
      type: string
      enum:
        - paid
        - open
        - draft
        - cancelled
        - processing
      title: AccrualSourceStatus
    AccrualSourceDisplayStatus:
      type: string
      enum:
        - paid
        - open
        - draft
        - cancelled
        - processing
        - overdue
        - partially_paid
      title: AccrualSourceDisplayStatus
    AccrualSourceLine:
      properties:
        id:
          type: string
          title: Id
        accrual_source_id:
          type: string
          title: Accrual Source Id
        external_id:
          anyOf:
            - type: string
            - type: 'null'
          title: External Id
        account_id:
          type: string
          title: Account Id
        line_number:
          type: integer
          title: Line Number
        description:
          type: string
          title: Description
        amount:
          type: number
          title: Amount
      type: object
      required:
        - id
        - accrual_source_id
        - account_id
        - line_number
        - description
        - amount
      title: AccrualSourceLine
    AccrualSourceFile:
      properties:
        id:
          type: string
          title: Id
        file_name:
          type: string
          title: File Name
      type: object
      required:
        - id
        - file_name
      title: AccrualSourceFile
    AccrualSourcePaymentApplication:
      properties:
        payment_application_id:
          type: string
          title: Payment Application Id
        matched_amount:
          type: number
          title: Matched Amount
        line_entry:
          $ref: '#/components/schemas/PaymentApplicationLineEntry'
        source_type:
          $ref: '#/components/schemas/PaymentApplicationSourceType'
        status:
          $ref: '#/components/schemas/PaymentApplicationStatus'
        adjustments:
          items:
            $ref: '#/components/schemas/PaymentApplicationAccrualAdjustment'
          type: array
          title: Adjustments
      type: object
      required:
        - payment_application_id
        - matched_amount
        - line_entry
        - source_type
        - status
        - adjustments
      title: AccrualSourcePaymentApplication
    TransferEntry:
      properties:
        journal_entry_id:
          type: string
          title: Journal Entry Id
          description: The id of this side's Journal Entry.
        description:
          type: string
          title: Description
          description: This side's Journal Entry description.
        datetime:
          type: string
          format: date-time
          title: Datetime
          description: This side's Journal Entry datetime.
        line_entries:
          items:
            $ref: '#/components/schemas/DetailedLineEntry'
          type: array
          title: Line Entries
          description: >-
            This side's Line Entries (used to derive the amount and source
            account).
      type: object
      required:
        - journal_entry_id
        - description
        - datetime
        - line_entries
      title: TransferEntry
      description: >-
        One side of a transfer: a journal entry summary with its line entries,

        enough to render a linked-transfer row (amount, account, description,
        date)

        without a second request.
    FinancialAccountType:
      type: string
      enum:
        - bank_account
        - credit_card
        - payments
        - payroll
        - loan
        - prepaid_card
        - accounts_receivable
        - accounts_payable
        - treasury
        - investment
      title: FinancialAccountType
    SpecialLedgerType:
      type: string
      enum:
        - uncat_inflow
        - uncat_outflow
        - account_transfers
        - opening_balances
        - retained_earnings
        - current_year_earnings
        - accounts_receivable
        - accounts_payable
        - wages_expense
        - bonus_expense
        - commissions_expense
        - contractor_expense
        - employee_reimbursements
        - severance_expense
        - payroll_tax_expense
        - employer_benefits_expense
        - health_insurance_expense
        - wages_payable
        - payroll_tax_payable
        - employee_benefit_liabilities
        - payroll_liabilities
        - payroll_adjustments_clearing
      title: SpecialLedgerType
      description: Special ledgers are ledgers that have special behaviour in the system.
    LedgerSubType:
      type: string
      enum:
        - current_assets
        - non-current_assets
        - transfers_between_accounts
        - uncategorized_assets
        - current_liabilities
        - non-current_liabilities
        - equity
        - operating_revenues
        - other_income
        - cost_of_goods_sold
        - operating_expenses
        - other_expenses
        - retained_earnings
      title: LedgerSubType
    LedgerType:
      type: string
      enum:
        - asset
        - liability
        - equity
        - revenue
        - expense
      title: LedgerType
    CategorizerType:
      type: string
      enum:
        - ai
        - rules
        - similarity
        - transfer_between_accounts
        - uncategorized
        - user
      title: CategorizerType
    PostedStatus:
      type: string
      enum:
        - not_posted
        - posted
        - deleted
      title: PostedStatus
    ReviewStatus:
      type: string
      enum:
        - unreviewed
        - reviewed
      title: ReviewStatus
    LineEntryPaymentApplicationAccrualSource:
      properties:
        accrual_source_id:
          type: string
          title: Accrual Source Id
        type:
          $ref: '#/components/schemas/AccrualSourceType'
        external_id:
          anyOf:
            - type: string
            - type: 'null'
          title: External Id
        external_party_id:
          anyOf:
            - type: string
            - type: 'null'
          title: External Party Id
        reference_number:
          type: string
          title: Reference Number
        effective_date:
          type: string
          format: date
          title: Effective Date
        gross_amount:
          type: number
          title: Gross Amount
      type: object
      required:
        - accrual_source_id
        - type
        - external_id
        - external_party_id
        - reference_number
        - effective_date
        - gross_amount
      title: LineEntryPaymentApplicationAccrualSource
    PaymentApplicationSourceType:
      type: string
      enum:
        - bank_transaction
        - customer_credit
        - manual
      title: PaymentApplicationSourceType
    PaymentApplicationStatus:
      type: string
      enum:
        - proposed
        - confirmed
        - rejected
      title: PaymentApplicationStatus
    PaymentApplicationAccrualAdjustment:
      properties:
        accrual_adjustment_id:
          type: string
          title: Accrual Adjustment Id
        debit_account_id:
          type: string
          title: Debit Account Id
        credit_account_id:
          type: string
          title: Credit Account Id
        amount:
          type: number
          title: Amount
      type: object
      required:
        - accrual_adjustment_id
        - debit_account_id
        - credit_account_id
        - amount
      title: PaymentApplicationAccrualAdjustment
    PaymentApplicationLineEntry:
      properties:
        line_entry_id:
          type: string
          title: Line Entry Id
        line_entry_description:
          type: string
          title: Line Entry Description
        line_entry_amount:
          type: number
          title: Line Entry Amount
        journal_entry_id:
          type: string
          title: Journal Entry Id
        journal_entry_description:
          type: string
          title: Journal Entry Description
      type: object
      required:
        - line_entry_id
        - line_entry_description
        - line_entry_amount
        - journal_entry_id
        - journal_entry_description
      title: PaymentApplicationLineEntry
    DetailedLineEntry:
      properties:
        amount:
          type: number
          title: Amount
          description: The value of the line entry in decimal dollar cents.
          examples:
            - '31282.27999999999883584678173065185546875'
        debit_credit:
          $ref: '#/components/schemas/DebitCredit'
          description: Indicates if the amount is a credit or debit.
          examples:
            - credit
        description:
          anyOf:
            - type: string
              maxLength: 4000
            - type: 'null'
          title: Description
          description: >-
            An arbitrary string on the object, useful for displaying to the user
            or for categorization.
          examples:
            - Payroll#230215
        ledger_id:
          type: string
          title: Ledger Id
          description: The ID of the Line Entry's Ledger.
          examples:
            - 7JRNsKwy2Lw66caxVU7WGC
        related_line_entry_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Related Line Entry Id
          description: >-
            If the Line Entry is identified as a transfer between accounts, the
            ID of the Line Entry in the opposing Ledger. Related guide:
            [Auto-categorization](https://docs.teal.dev/guides/platform/categorization/pipeline#transfers-between-accounts)
        transaction_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Transaction Id
          description: The ID of the associated Transaction, if one exists.
        sort_order:
          anyOf:
            - type: integer
            - type: 'null'
          title: Sort Order
          description: >-
            The position of the Line Entry within its Journal Entry, used to
            determine display order.
          examples:
            - 1
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
          description: The unique ID of the object.
          examples:
            - XMDsKVuW4Wmi3LTW31Qw6E
        datetime:
          type: string
          format: date-time
          title: Datetime
          description: The datetime the Line Entry was created in UTC time.
          examples:
            - '2023-02-15T06:42:18Z'
        editable:
          type: boolean
          title: Editable
          description: >-
            Indicates if the Line Entry can be manually added or removed from a
            Ledger, as dictated by the `editable` property on the Ledger.
          examples:
            - true
        journal_entry:
          type: 'null'
          title: Journal Entry
          description: Expandable. The associated Journal Entry object.
          examples:
            - null
        journal_entry_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Journal Entry Id
          description: The ID of the associated Journal Entry.
          examples:
            - C4ocnUQze8kDwQ3EczkZXn
        journal_entry_description:
          type: string
          maxLength: 512
          title: Journal Entry Description
          description: An arbitrary string on the object, useful for displaying to users.
          examples:
            - Payroll#230215
        categorization_status:
          $ref: '#/components/schemas/JournalEntryCategorizationStatus'
          description: >-
            Whether the associated Journal Entry is still awaiting an
            auto-categorization result: 'pending' (awaiting), 'delayed' (timed
            out, a late result may still resolve it), or 'completed' (resolved,
            or not auto-categorized). Both Line Entries of a Journal Entry share
            this value.
          examples:
            - completed
        ledger:
          type: 'null'
          title: Ledger
          description: Expandable. The associated Ledger object.
          examples:
            - null
        ledger_name:
          type: string
          title: Ledger Name
          description: The name of the Line Entry's Ledger.
          examples:
            - Payroll Expense
        opposing_ledger_ids:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Opposing Ledger Ids
          description: >-
            Expandable. IDs of the ledgers on the other side(s) of the line
            entry with opposite debit/credit.
        tags:
          anyOf:
            - items:
                $ref: '#/components/schemas/Tag'
              type: array
            - type: 'null'
          title: Tags
          description: A list of all the Tags associated with the Line Entry, if any.
        transaction:
          type: 'null'
          title: Transaction
          description: Expandable. The associated Transaction object, if one exists.
          examples:
            - null
        payment_applications:
          anyOf:
            - items:
                $ref: '#/components/schemas/LineEntryPaymentApplication'
              type: array
            - type: 'null'
          title: Payment Applications
        accrual_source:
          anyOf:
            - $ref: '#/components/schemas/AccrualSource'
            - type: 'null'
      type: object
      required:
        - amount
        - debit_credit
        - ledger_id
        - id
        - datetime
        - editable
        - journal_entry_id
        - journal_entry_description
        - categorization_status
        - ledger_name
      title: DetailedLineEntry
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      description: >-
        Bearer authentication header of the form Bearer <token>, where <token>
        is your auth token.
      flows:
        password:
          scopes: {}
          tokenUrl: https://developer.teal.dev

````