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

# GET /tools/api/get-transactions

`GET /tools/api/get-transactions`

Retrieves the user's financial transaction history within a specific period with intelligent filtering and automatic categorization. Supports filtering by account type, transaction type, category, amount ranges, and natural language queries via clientMessage parameter. Applies two processing stages: 1) LLM-powered intelligent filtering (when clientMessage is provided), 2) Automatic transaction categorization (always applied). Supports two response formats: 'raw' (default) for unprocessed data, and 'structured' for organized data with groupings and summaries. Requires API key for authentication and active subscription.

## Query parameters

- `startDate` string, date — Start date for filtering (YYYY-MM-DD format)
- `endDate` string, date — End date for filtering (YYYY-MM-DD format)
- `categories` string — Comma-separated list of category names to filter by
- `minAmount` number — Minimum amount to filter by
- `maxAmount` number — Maximum amount to filter by
- `accountType` 'BANK' | 'CREDIT' | 'INVESTMENT' | 'LOAN' — Account type to filter by
- `accountSubtype` 'CHECKING_ACCOUNT' | 'SAVINGS_ACCOUNT' | 'CREDIT_CARD' | 'PAYMENT_ACCOUNT' — Account subtype to filter by
- `includeStatus` string — Comma-separated list of transaction statuses to include (POSTED, PENDING)
- `format` 'raw' | 'structured' — Response format: 'raw' returns unprocessed transaction data (default), 'structured' returns organized data with groupings, summaries, and category breakdowns.
- `clientMessage` string — Natural language message to apply intelligent filtering using LLM. When provided, filters transactions based on the intent expressed in the message (e.g., 'show me food expenses', 'transactions over 100 reais', 'payments to supermarkets').

## Response `200`

List of transactions (format depends on 'format' parameter)

- object
  - `success` boolean
  - `data` union
    - Transaction[] — Raw transaction data (when format=raw or not specified)
      - unknown
    - unknown
  - `count` number — Total number of raw transactions
  - `totalBeforeFilter` number, nullable — Total number of transactions before intelligent filtering (only present when clientMessage is used)
  - `clientMessageUsed` string, nullable — The client message used for intelligent filtering (only present when clientMessage is provided)
  - `message` string — Descriptive message about the filtering results and processing applied
  - `filters` object
    - `startDate` string
    - `endDate` string
    - `categories` string[]
    - `minAmount` number
    - `maxAmount` number
    - `accountType` string
    - `accountSubtype` string
    - `format` 'raw' | 'structured' — Indicates the format used for the response data
    - `clientMessage` string, nullable — The client message used for intelligent filtering (null if not provided)
  - `timestamp` string, date-time

## Other responses

- `400` — Invalid parameters
- `401` — Authentication or subscription error
- `500` — Internal server error

---

[API](https://skmtc.dev/pierre/apis/pierre-finance-api.md) · [All operations](https://skmtc.dev/pierre/apis/pierre-finance-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pierre/pierre-finance-api/revisions/caa3b50e534e/schema)
