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

# List bank-feed transactions

> Return bank-feed rows (one per debit/credit on a connected bank or credit-card



## OpenAPI

````yaml /developers/openapi/resources-v2.json get /public/v2/bank-match/bank-transactions/
openapi: 3.1.0
info:
  title: DualEntry Public API
  version: 2.0.0
  description: ''
servers:
  - url: https://api.dualentry.com
    description: Production environment
  - url: https://api-dev.dualentry.com
    description: Development environment (for testing)
security: []
tags:
  - name: Health
    description: >-
      Monitor API availability and service status. Use these endpoints to verify
      connectivity and check if the API is operational.
  - name: Webhooks
    description: >-
      Register webhook endpoints to receive real-time event notifications when
      records change in your organization. Manage subscriptions, view available
      topics, and inspect delivery history.
  - name: Accounts
    description: >-
      Manage your chart of accounts. Create and maintain the accounts used to
      categorize financial transactions, including assets, liabilities, equity,
      revenue, and expenses.
  - name: Budgets
    description: >-
      Manage financial budgets. Create and track income statement and balance
      sheet budgets with monthly cell values, actuals comparison, and
      classification filtering.
  - name: Companies
    description: >-
      Access and manage company information. Retrieve details about your
      organization including legal name, tax identifiers, addresses, and
      accounting preferences.
  - name: Customers
    description: >-
      Manage customer records. Create, update, and track customers who purchase
      goods or services from your organization, including contact information,
      billing addresses, and payment terms.
  - name: Contracts
    description: >-
      Manage revenue recognition contracts. Create and retrieve contracts with
      performance obligations, and manage obligation usage for usage-based
      obligations.
  - name: Items
    description: >-
      Manage products and services. Define items that appear on invoices and
      bills, including pricing, descriptions, and associated accounts for
      revenue or expense tracking.
  - name: Vendors
    description: >-
      Manage vendor and supplier records. Track businesses and individuals from
      whom you purchase goods or services, including contact details, payment
      terms, and tax information.
  - name: Journal Entries
    description: >-
      Create and manage manual journal entries. Record direct debits and credits
      to accounts for adjustments, accruals, reclassifications, and other
      accounting transactions.
  - name: Invoices
    description: >-
      Manage sales invoices. Create and track invoices sent to customers for
      goods or services rendered, including line items, taxes, discounts, and
      payment status.
  - name: Sales Orders
    description: >-
      Create and manage sales orders. Track customer orders for goods or
      services before invoicing, including line items, quantities, fulfillment
      status, and invoicing progress.
  - name: Bills
    description: >-
      Manage vendor bills and payables. Record and track bills received from
      vendors for goods or services purchased, including line items, due dates,
      and payment tracking.
  - name: Customer Prepayments
    description: >-
      Track advance payments from customers. Access prepayments received before
      goods or services are delivered, which can be applied to future invoices.
  - name: Customer Prepayment Applications
    description: >-
      Apply customer prepayments and credits to invoices. Record applications of
      prepayments or credit memos to reduce invoice balances.
  - name: Customer Deposits
    description: >-
      Manage customer deposit transactions. Record and track deposits received
      from customers as security or partial payment, held in liability accounts
      until earned or refunded.
  - name: Customer Refunds
    description: >-
      Process and track customer refunds. Record refunds issued to customers for
      overpayments, returns, or cancelled transactions.
  - name: Customer Credits
    description: >-
      Manage credit memos for customers. Issue credits for returned goods,
      billing adjustments, or discounts that reduce customer balances or can be
      applied to future invoices.
  - name: Cash Sales
    description: >-
      Record immediate cash sales transactions. Track sales where payment is
      received at the time of sale, including point-of-sale transactions and
      cash receipts.
  - name: Customer Payments
    description: >-
      Record and manage customer payments. Track payments received from
      customers and apply them to outstanding invoices, including partial
      payments and overpayments.
  - name: Recurring Invoices
    description: >-
      Automate recurring billing. Set up and manage templates for invoices that
      are automatically generated on a regular schedule (e.g., monthly
      subscriptions).
  - name: Recurring Bills
    description: >-
      Automate recurring expenses. Configure templates for bills that repeat on
      a regular basis (e.g., monthly rent, subscriptions) to streamline expense
      tracking.
  - name: Recurring Journal Entries
    description: >-
      Automate recurring journal entries. Create templates for journal entries
      that occur regularly (e.g., monthly depreciation, amortization) to ensure
      consistent accounting treatment.
  - name: Classifications
    description: >-
      Manage custom classification dimensions. Create and maintain
      classification categories (e.g., departments, locations, projects) used to
      tag and analyze transactions across multiple dimensions.
  - name: Classifications Lines
    description: >-
      Manage classification values. Define the specific values within each
      classification category that can be assigned to transaction line items for
      detailed reporting and analysis.
  - name: Custom Fields
    description: >-
      Manage custom field definitions. Extend records with organization-specific
      attributes — name, type (text, number, boolean, date, single_select,
      multi_select, currency, link, paragraph), default value, options, and
      which record types (invoice, bill, customer, vendor, etc.) and companies
      the field applies to. Values are set via the `custom_fields` attribute on
      each record's create/update endpoint.
  - name: Purchase Orders
    description: >-
      Create and track purchase orders. Manage formal requests to vendors for
      goods or services, including approval workflows, receiving tracking, and
      bill matching.
  - name: Vendor Payments
    description: >-
      Record and manage vendor payments. Track payments made to vendors and
      apply them to outstanding bills and credits, including partial payments
      and overpayments.
  - name: Vendor Prepayments
    description: >-
      Track advance payments to vendors. Record prepayments made before goods or
      services are received, which can be applied to future bills.
  - name: Vendor Prepayment Applications
    description: >-
      Apply vendor prepayments to bills. Record applications of prepayments to
      reduce bill balances and track amounts owed.
  - name: Vendor Credits
    description: >-
      Manage vendor credit memos. Record credits from vendors for returned
      goods, billing adjustments, or discounts that reduce amounts owed or can
      be applied to future bills.
  - name: Vendor Refunds
    description: >-
      Process and track vendor refunds. Record refunds received from vendors for
      overpayments, returns, or cancelled transactions.
  - name: Paper Checks
    description: >-
      Manage paper check printing. Create, queue, and batch print paper checks
      for vendor payments, direct expenses, vendor prepayments, and customer
      refunds.
  - name: Direct Expenses
    description: >-
      Record direct expense transactions. Track payments made directly from a
      bank or credit card account for expenses, without going through the
      accounts payable process.
  - name: Bank Transfers
    description: >-
      Manage bank-to-bank transfers. Record and track transfers between bank and
      credit card accounts, including multi-currency transfers with exchange
      rate handling.
  - name: Bank Match
    description: >-
      Reconcile bank-feed rows against accounting transactions. List bank rows,
      trigger the matching pipeline, read AI suggestions, and confirm or undo
      matches. V2 API only.
  - name: Fixed Assets
    description: >-
      Manage fixed assets and capital equipment. Create, update, and track
      long-lived tangible assets including depreciation schedules, account
      assignments, and asset lifecycle management.
  - name: Intercompany Journal Entries
    description: >-
      Create and manage intercompany journal entries. Record GL activity that
      spans two or more companies within the same organization, with per-line
      company assignment and automatic intercompany elimination.
  - name: Depreciation Books
    description: >-
      Discover available depreciation books for multi-book depreciation. Each
      organization has a posting book (BOOK) and may have additional tax books
      (FEDERAL, AMT, STATE_*). V2 API only.
  - name: VAT Rates
    description: >-
      Look up available VAT (Value Added Tax) rates for your organization. Use
      these IDs as `vat_rate_id` on transaction line items. Rates are scoped by
      country and include standard, reduced, zero-rated, exempt, and reverse
      charge types. V2 API only.
  - name: GST Tax Rates
    description: >-
      Look up available GST (Goods and Services Tax) rates for your
      organization. Use these IDs as `gst_tax_rate_id` on transaction line
      items. Covers AU, NZ, SG, IN, CA GST regimes and MY SST, with
      per-component breakdowns (e.g. CGST+SGST for India). V2 API only.
  - name: Product Tax Codes
    description: >-
      Manage organization product tax codes and discover global product tax
      codes. Use these IDs as `product_tax_code_id` on item payloads. V2 API
      only.
  - name: Approval Policies
    description: >-
      Manage approval workflows and policies. Define approval rules, steps,
      conditions, and approvers for different record types. Monitor workflow
      execution states and view approval history.
  - name: Inbox
    description: >-
      View pending approvals and approval status. Access transactions and
      records awaiting approval across the organization, including full approval
      workflow details, approvers, and action history.
paths:
  /public/v2/bank-match/bank-transactions/:
    get:
      tags:
        - Bank Match
      summary: List bank-feed transactions
      description: >-
        Return bank-feed rows (one per debit/credit on a connected bank or
        credit-card

        account), newest first. Use this to drive reconciliation externally:
        page

        through the rows, decide which DualEntry transaction each one
        corresponds to,

        then `POST /matches/` to record the pairing.
      operationId: core_api_public_v2_bank_match_list_bank_transactions_endpoint
      parameters:
        - in: query
          name: financial_account_id
          schema:
            description: Limit to a single bank/credit-card account.
            title: Financial Account Id
            type:
              - integer
              - 'null'
          required: false
          description: Limit to a single bank/credit-card account.
        - in: query
          name: matching_status
          schema:
            anyOf:
              - $ref: '#/components/schemas/MatchingStatus'
              - type: 'null'
            description: >-
              Pipeline stage filter, e.g. `unprocessed`, `ai_suggested`,
              `matched`, `no_match`, `excluded`.
          required: false
          description: >-
            Pipeline stage filter, e.g. `unprocessed`, `ai_suggested`,
            `matched`, `no_match`, `excluded`.
        - in: query
          name: date_from
          schema:
            description: Inclusive lower bound on `date`.
            title: Date From
            format: date-time
            type:
              - string
              - 'null'
          required: false
          description: Inclusive lower bound on `date`.
        - in: query
          name: date_to
          schema:
            description: Inclusive upper bound on `date`.
            title: Date To
            format: date-time
            type:
              - string
              - 'null'
          required: false
          description: Inclusive upper bound on `date`.
        - in: query
          name: is_posted
          schema:
            description: '`true` for posted-only, `false` for pending-only, omit for both.'
            title: Is Posted
            type:
              - boolean
              - 'null'
          required: false
          description: '`true` for posted-only, `false` for pending-only, omit for both.'
        - in: query
          name: include_expired
          schema:
            default: false
            description: By default expired rows are hidden; pass `true` to see them.
            title: Include Expired
            type: boolean
          required: false
          description: By default expired rows are hidden; pass `true` to see them.
        - in: query
          name: limit
          schema:
            default: 100
            description: Number of records to return per page (capped at 100)
            minimum: 1
            title: Limit
            type: integer
          required: false
          description: Number of records to return per page (capped at 100)
        - in: query
          name: offset
          schema:
            default: 0
            description: Number of records to skip before starting to return results
            minimum: 0
            title: Offset
            type: integer
          required: false
          description: Number of records to skip before starting to return results
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedPublicBankTransactionSchemaOut'
components:
  schemas:
    MatchingStatus:
      enum:
        - unprocessed
        - deterministic_suggested
        - awaiting_ai
        - ai_in_progress
        - ai_suggested
        - ai_no_match
        - no_match
        - excluded
        - matched
      title: MatchingStatus
      type: string
    PagedPublicBankTransactionSchemaOut:
      properties:
        items:
          items:
            $ref: '#/components/schemas/PublicBankTransactionSchemaOut'
          title: Items
          type: array
        count:
          title: Count
          type: integer
      required:
        - items
        - count
      title: PagedPublicBankTransactionSchemaOut
      type: object
    PublicBankTransactionSchemaOut:
      description: >-
        A single bank-feed row (one debit or credit on a connected
        bank/credit-card account).


        Use this to drive matching externally: pick a row, decide which
        DualEntry

        transaction it pairs with, then `POST /matches/`.
      properties:
        id:
          title: Id
          type: integer
        financial_account_id:
          title: Financial Account Id
          type: integer
        financial_account_name:
          description: >-
            Human-readable name of the bank/credit-card account this row belongs
            to.
          title: Financial Account Name
          type:
            - string
            - 'null'
        date:
          format: date-time
          title: Date
          type: string
        posted_at:
          title: Posted At
          format: date-time
          type:
            - string
            - 'null'
        amount:
          description: >-
            Signed amount. Positive = debit (money in), negative = credit (money
            out).
          pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          title: Amount
          type: string
        debit_amount:
          description: '`max(amount, 0)`. Zero when this row is a credit.'
          pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          title: Debit Amount
          type: string
        credit_amount:
          description: '`abs(min(amount, 0))`. Zero when this row is a debit.'
          pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          title: Credit Amount
          type: string
        description:
          title: Description
          type: string
        payee:
          description: Merchant or counterparty, when the bank reports one.
          title: Payee
          type:
            - string
            - 'null'
        currency_iso_4217_code:
          title: Currency Iso 4217 Code
          type:
            - string
            - 'null'
        source:
          $ref: '#/components/schemas/BankTransactionSource'
          description: Where the row came from (Plaid, Meld, CSV upload, etc.).
        is_posted:
          title: Is Posted
          type: boolean
        is_expired:
          title: Is Expired
          type: boolean
        matching_status:
          $ref: '#/components/schemas/MatchingStatus'
          description: >-
            Where the row sits in the bank-match pipeline. `matched` means a
            DualEntry transaction is paired to it.
        matched_transaction_ids:
          description: >-
            DualEntry transaction IDs currently matched to this row. Empty
            unless `matching_status == 'matched'`.
          items:
            type: integer
          title: Matched Transaction Ids
          type: array
        matched_entry_ids:
          description: >-
            DualEntry entry IDs currently matched to this row (used for partial
            matches like journal entries).
          items:
            type: integer
          title: Matched Entry Ids
          type: array
      required:
        - id
        - financial_account_id
        - date
        - posted_at
        - amount
        - debit_amount
        - credit_amount
        - description
        - currency_iso_4217_code
        - source
        - is_posted
        - is_expired
        - matching_status
      title: PublicBankTransactionSchemaOut
      type: object
    BankTransactionSource:
      enum:
        - pdf_upload
        - csv_upload
        - manual_upload
        - bai_upload
        - meld
        - plaid
        - waycore
        - saltedge
      title: BankTransactionSource
      type: string

````