# List Transactions

`lawmatics_list-transactions` · Lawmatics MCP tool · Transactions

List financial transactions (payments, debits, credits) from Lawmatics with optional pagination and sorting. Each transaction includes its type, amount in integer cents, payment method, bank account type, and a `relationships` envelope of to-one {id,type} pointers (billing account, matter, invoice, recording user, trust fund request).

## Input

- **page** `integer` (> 0) — Page number (1-based)
- **sortBy** `string` (enum: "id", "created_at", "updated_at") — Column to sort by
- **sortOrder** `string` (enum: "asc", "desc") — Sort direction; ascending or descending

## Output

- **transactions** `array` (required) — Transactions on this page of results
  - **[]** `object`
    - **id** `string` (required) — Lawmatics transaction ID
    - **transactionType** `string` (required) — Direction of the transaction: "debit" or "credit"
    - **bankAccountType** `string | null` (required) — Bank account the transaction applies to ("operating" or "trust"); null if unset
    - **paymentMethod** `string | null` (required) — Payment method as reported by Lawmatics (e.g. "credit_card", "check"; system-generated values like "invoice_refund" also appear); null if unset
    - **amountCents** `integer` (required) — Transaction amount in integer cents (never divided to dollars)
    - **amountCurrency** `string | null` (required) — ISO 4217 currency code of the amount (e.g. "USD"); null if not reported
    - **accountType** `string | null` (required) — Entity class of the billing account the transaction is attributed to (e.g. "Contact", "Company"); null when none. The account record pointer is in relationships.account
    - **accountId** `string | null` (required) — ID of the billing account (see accountType for its class, relationships.account for the typed pointer); null when none
    - **externalId** `string | null` (required) — External identifier attached to the transaction; null when none
    - **note** `string | null` (required) — Free-text note attached to the transaction; null if unset
    - **createdAt** `string` (required) — When the transaction record was created, as an ISO 8601 timestamp
    - **updatedAt** `string` (required) — When the transaction record was last updated, as an ISO 8601 timestamp
    - **relationships** `object` (required) — JSON:API relationship pointers to related records as {id,type} stubs. Not materialized — follow a pointer by calling that resource's own get/find tool (e.g. type 'contact' -> get-contact, type 'prospect' -> get-matter, type 'invoice' -> get-invoice, type 'user' -> get-user).
      - **account** `object | null` (required) — Billing account pointer (polymorphic — type 'contact' or 'company'); null when none
        - **id** `string` (required) — ID of the referenced Lawmatics record
        - **type** `string` (required) — JSON:API record class of the reference (e.g. "user", "contact", "prospect", "firm"); resolve it by calling that resource's own get/find tool — this pointer is not materialized
      - **prospect** `object | null` (required) — Matter pointer (JSON:API type 'prospect'); null when unlinked
        - **id** `string` (required) — ID of the referenced Lawmatics record
        - **type** `string` (required) — JSON:API record class of the reference (e.g. "user", "contact", "prospect", "firm"); resolve it by calling that resource's own get/find tool — this pointer is not materialized
      - **invoice** `object | null` (required) — Invoice pointer; null when unlinked
        - **id** `string` (required) — ID of the referenced Lawmatics record
        - **type** `string` (required) — JSON:API record class of the reference (e.g. "user", "contact", "prospect", "firm"); resolve it by calling that resource's own get/find tool — this pointer is not materialized
      - **createdBy** `object | null` (required) — Pointer to the user who recorded the transaction; null if not reported
        - **id** `string` (required) — ID of the referenced Lawmatics record
        - **type** `string` (required) — JSON:API record class of the reference (e.g. "user", "contact", "prospect", "firm"); resolve it by calling that resource's own get/find tool — this pointer is not materialized
      - **trustFundRequest** `object | null` (required) — Trust fund request pointer (set on system-generated trust transactions); null when none
        - **id** `string` (required) — ID of the referenced Lawmatics record
        - **type** `string` (required) — JSON:API record class of the reference (e.g. "user", "contact", "prospect", "firm"); resolve it by calling that resource's own get/find tool — this pointer is not materialized
- **pagination** `object` (required) — Pagination metadata derived from the API `meta` envelope
  - **totalPages** `number` (required) — Total number of pages available
  - **limitPerPage** `number` (required) — Maximum transactions returned per page
  - **totalEntries** `number` (required) — Total number of transactions across all pages
