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

# List transactions

`GET /api/transactions`

Paginated, filterable list of user transactions

## Query parameters

- `accountId` union
  - string, uuid
  - string[]
- `accountSubtype` union
  - string
  - string[]
- `accountType` string
- `categoryGroup` union
  - string
  - string[]
- `categoryId` union
  - string, uuid
  - string[]
- `cursor` string
- `endDate` string
- `limit` number
- `maxAmount` number, nullable
- `minAmount` number, nullable
- `pendingFilter` 'true' | 'false'
- `searchQuery` string
- `startDate` string
- `tagId` union
  - string, uuid
  - string[]

## Response `200`

List of transactions

- TransactionsResponse
  - `hasMore` boolean, required
  - `nextCursor` string, nullable, required
  - `transactions` TransactionResponse[], required
    - `accountId` string, uuid, required
    - `accountLogoDomain` string, nullable, required
    - `accountName` string, required
    - `accountSubtype` string, nullable, required
    - `accountType` string, required
    - `amount` number, required
    - `authorizedDate` string, nullable, required
    - `category` object, nullable, required
      - `groupName` string, required
      - `groupSystemKey` string, nullable, required
      - `iconKey` string, required
      - `id` string, uuid, required
      - `name` string, required
      - `systemKey` string, nullable, required
    - `counterparties` object[], nullable, required
      - `account_numbers` object, nullable
        - `bacs` object, nullable
          - `account` string, nullable
          - `sort_code` string, nullable
        - `international` object, nullable
          - `bic` string, nullable
          - `iban` object, nullable
      - `confidence_level` string, nullable
      - `entity_id` string, nullable
      - `logo_url` string, nullable, required
      - `name` string, required
      - `type` 'merchant' | 'financial_institution' | 'payment_app' | 'marketplace' | 'payment_terminal' | 'income_source', required
      - `website` string, nullable, required
    - `date` string, required
    - `id` string, uuid, required
    - `institutionLogo` string, nullable, required
    - `institutionName` string, nullable, required
    - `institutionUrl` string, nullable, required
    - `location` TransactionLocation, nullable, required
      - `address` string, nullable, required
      - `city` string, nullable, required
      - `country` string, nullable, required
      - `lat` number, nullable, required
      - `lon` number, nullable, required
      - `postal_code` string, nullable, required
      - `region` string, nullable, required
      - `store_number` string, nullable, required
    - `lockedFields` string[], required
    - `logoUrl` string, nullable, required
    - `merchantName` string, nullable, required
    - `name` string, required
    - `notes` string, nullable, required
    - `paymentChannel` 'in store' | 'online' | 'other' | 'null', nullable, required
    - `pending` boolean, required
    - `plaidAccountId` string, nullable, required
    - `source` 'plaid' | 'manual', required
    - `tagIds` string[], required
    - `website` string, nullable, required

## Other responses

- `400` — Invalid date range
- `401` — Unauthorized
- `403` — Subscription required
- `422` — Validation failed

---

[API](https://skmtc.net/cobaltpf/apis/cobalt-api.md) · [All operations](https://skmtc.net/cobaltpf/apis/cobalt-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cobaltpf/cobalt-api/revisions/8ef0dfb5d23c/schema)
