---
title: "List all transactions"
method: GET
path: "/transactions"
tags: ["Transactions"]
---

# List all transactions

`GET /transactions`

Retrieve a list of transactions for the authenticated team.

## Query parameters

- `cursor` string, nullable — Cursor for pagination, representing the last item from the previous page
- `sort` string[], nullable — Sort as [column, direction]. Columns: date, amount, name, status, attachment, assigned, bank_account, category, tags, counterparty. Direction: asc or desc.
- `pageSize` number — Number of transactions to return per page (1-10000)
- `q` string, nullable — Search query string to filter transactions by name, description, or other text fields
- `categories` string[], nullable — Array of category slugs to filter transactions by specific categories
- `tags` string[], nullable — Array of tag IDs to filter transactions by specific tags
- `start` string, nullable — Start date (inclusive) for filtering transactions in ISO 8601 format
- `end` string, nullable — End date (inclusive) for filtering transactions in ISO 8601 format
- `accounts` string[], nullable — Array of bank account IDs to filter transactions by specific accounts
- `assignees` string[], nullable — Array of user IDs to filter transactions by assigned users
- `statuses` string[], nullable — Array of transaction list status filters. Supported UI filters: 'blank', 'receipt_match', 'in_review', 'export_error', 'exported', 'excluded', 'archived'
- `recurring` string[], nullable — Array of recurring frequency values to filter by. Available frequencies: 'weekly', 'monthly', 'annually', 'irregular'
- `attachments` 'include' | 'exclude' | 'null', nullable — Filter transactions based on attachment presence. 'include' returns only transactions with attachments, 'exclude' returns only transactions without attachments
- `amountRange` number[], nullable — Amount range as [min, max] to filter transactions by monetary value
- `amount` string[], nullable — Array of specific amounts (as strings) to filter transactions by exact values
- `type` 'income' | 'expense' | 'null', nullable — Filter by transaction type. 'income' for money received, 'expense' for money spent
- `manual` 'include' | 'exclude' | 'null', nullable — Filter transactions based on whether they were manually imported. 'include' returns only manual transactions, 'exclude' returns only non-manual transactions
- `exported` boolean, nullable — Filter by export status. true = only exported transactions, false = only NOT exported transactions, undefined = no filter
- `fulfilled` boolean, nullable — Filter by fulfillment status. true = transactions ready for review (has attachments OR status=completed), false = not ready, undefined = no filter

## Response `200`

Retrieve a list of transactions for the authenticated team.

- object
  - `meta` object, required — Pagination metadata for the transactions response
    - `cursor` string — Cursor for the next page of results, undefined if no more pages
    - `hasPreviousPage` boolean, required — Whether there are more transactions available on the previous page
    - `hasNextPage` boolean, required — Whether there are more transactions available on the next page
  - `data` TransactionResponse[], required — Array of transactions matching the query criteria
    - `id` string, uuid, required — Unique identifier of the transaction
    - `name` string, required — Name or description of the transaction
    - `amount` number, required — Monetary amount of the transaction
    - `taxAmount` number, nullable, required — Tax amount of the transaction
    - `taxRate` number, nullable, required — Tax rate of the transaction
    - `taxType` string, nullable, required — Tax type of the transaction
    - `currency` string, required — Currency code of the transaction in ISO 4217 format
    - `counterpartyName` string, nullable, required — Name of the counterparty
    - `date` string, required — Date and time of the transaction in ISO 8601 format
    - `category` object, nullable, required — Category information assigned to the transaction for organization
      - `id` string, required — Unique identifier of the category
      - `name` string, required — Display name of the category
      - `color` string, required — Hex color code associated with the category for UI display
      - `taxRate` number, nullable, required — Tax rate of the category
      - `taxType` string, nullable, required — Tax type of the category
      - `slug` string, required — URL-friendly slug of the category
    - `status` string, required — Current status of the transaction
    - `internal` boolean, nullable, required — Whether the transaction is internal (between own accounts)
    - `recurring` boolean, nullable, required — Whether the transaction is part of a recurring series
    - `manual` boolean, nullable, required — Whether the transaction was created manually (via API/form) rather than imported from bank connections
    - `frequency` string, nullable, required — Frequency of the recurring transaction if applicable (weekly, monthly, annually, irregular)
    - `isFulfilled` boolean, required — Whether the transaction has been fulfilled or processed
    - `note` string, nullable, required — Optional note or memo attached to the transaction
    - `account` object, nullable, required — Bank account information associated with the transaction. Null when no account is linked.
      - `id` string, required — Unique identifier of the bank account
      - `name` string, nullable, required — Display name of the bank account
      - `currency` string, nullable, required — Currency of the bank account in ISO 4217 format
      - `connection` object, nullable, required — Bank connection information associated with the account. Null for manual accounts.
        - `id` string, required — Unique identifier of the bank connection
        - `name` string, required — Name of the bank institution
        - `logoUrl` string, nullable, required — URL to the bank institution's logo image
    - `tags` object[], nullable, required — Array of tags associated with the transaction for categorization and filtering
      - `id` string, required — Unique identifier of the tag
      - `name` string, nullable, required — Display name of the tag
    - `attachments` object[], nullable, required — Array of file attachments associated with the transaction (receipts, invoices, etc.)
      - `id` string, required — Unique identifier of the attachment
      - `path` string[], required — Array of path segments for the attachment file storage location
      - `size` number, required — Size of the attachment file in bytes
      - `type` string, required — MIME type of the attachment file
      - `filename` string, nullable, required — Original filename of the attachment when uploaded

## Other responses

- `default` — An error occurred

---

[API](https://skmtc.net/midday-ai/apis/midday-api.md) · [All operations](https://skmtc.net/midday-ai/apis/midday-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/midday-ai/midday-api/versions/c0df9243c1b0/schema)
