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

# List Transactions

`GET /transactions`

## Request

- Base URL: `https://api.finta.io/v1`
- URL: `https://api.finta.io/v1/transactions`
- Auth: HTTP bearer

Returns transactions for a specific bank connection with filtering and pagination. Categories are returned using the v2 categorization system.

## Query parameters

- `bankConnectionId` string, uuid, required
- `accountIds` string
- `startDate` string, date, required
- `endDate` string, date, required
- `limit` integer
- `cursor` string

## Response `200`

List of transactions with categories

- TransactionsListResponse
  - `data` object, required
    - `transactions` Transaction[], required: List of transactions
      - `id` string, required: Unique identifier for the transaction. For pending transactions that become posted, this ID remains stable (uses pendingTransactionId when available).
      - `summary` string, required: Transaction description/name
      - `createdAt` string, date-time, required: ISO 8601 timestamp when the transaction was created
      - `postedAt` string, date-time, nullable, required: ISO 8601 timestamp when the transaction was posted. Null if the transaction is pending.
      - `amount` number, required: Transaction amount. Negative values indicate debits/expenses, positive values indicate credits/income.
      - `currency` string, nullable, required: ISO 4217 currency code (e.g., 'USD', 'EUR')
      - `isPending` boolean, required: Whether the transaction is still pending (not yet posted)
      - `subAccount` string, nullable, required: Sub-account identifier if applicable
      - `merchantName` string, nullable, required: Name of the merchant or counterparty
      - `categoryId` string, nullable, required: Category ID (v2 categorization). Can be used to look up the category in the categories array.
      - `fees` number, nullable, required: Total fees associated with the transaction
      - `feeType` string, nullable, required: Type of fee (e.g., 'ATM fee', 'Wire transfer fee')
      - `netAmount` number, nullable, required: Net amount after fees
      - `source` string, nullable, required: Source of the transaction
      - `type` string, nullable, required: Transaction type
      - `provider` 'Plaid' | 'GoCardless' | 'Stripe' | 'Mercury', required: The data provider for this transaction
      - `accountId` string, required: ID of the account this transaction belongs to
    - `categories` TransactionCategory[], required: List of categories referenced by the transactions in this response
      - `id` string, required: Unique identifier for the category (v2 category ID)
      - `name` string, required: Category name (e.g., 'Taxi', 'Groceries')
      - `group` string, nullable, required: Category group (e.g., 'TRANSPORTATION', 'FOOD_AND_DRINK')
      - `description` string, nullable, required: Description of what the category covers
  - `meta` object, required
    - `count` integer, required: Number of transactions in this response
    - `nextPage` string, nullable, required: URL to fetch the next page of results. Null if no more results are available.

## Other responses

- `400`: Bad request - Invalid query parameters
- `401`: Unauthorized - missing, invalid, disabled or expired API key
- `403`: API access requires active pro subscription or trial
- `404`: Bank connection not found
- `429`: Rate limit exceeded - retry after the `retryAfter` timestamp
- `500`: Internal server error. Failures during authentication return MiddlewareErrorResponse; failures inside the endpoint return ErrorResponse.

---

[API](https://skmtc.dev/finta/apis/finta-api.md) · [All operations](https://skmtc.dev/finta/apis/finta-api/llms.txt) · [OpenAPI document](https://skmtc.dev/finta/apis/finta-api/revisions/80b98582afde?raw)
