> ## Documentation Index
> Fetch the complete documentation index at: https://help.mytruv.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Transactions Summary

> Return aggregate statistics for transactions matching the given filters (v2, ClickHouse-backed).

Returns total count, income, spending, net total, average, and the largest overall,
expense, and income transactions. Accepts the same filter params as the list endpoint.



## OpenAPI

````yaml GET /v2/users/transactions/summary
openapi: 3.1.0
info:
  title: Truv Public API
  description: >
    Read-only API for personal access token (PAT) users.


    ## Authentication


    Authenticate with `Authorization: Bearer <token>`. Tokens have a `pat_`
    prefix

    and are generated in the Truv web app under Settings → API keys.


    ## Available Endpoints


    This API exposes a subset of read-only endpoints for retrieving financial
    data,

    account links, and user profile information.
  version: 1.0.0
servers:
  - url: https://api.mytruv.com
    description: Production
security:
  - BearerAuth: []
tags:
  - name: users
    description: User profile — read-only access to the authenticated user's profile.
  - name: financial-data
    description: >-
      Financial data — balances, transactions, income, spending, liabilities,
      and balance history.
  - name: links
    description: >-
      Account links — list connected financial institutions and payroll
      providers.
paths:
  /v2/users/transactions/summary:
    get:
      tags:
        - financial-data
      summary: Get User Transactions Summary V2
      description: >-
        Return aggregate statistics for transactions matching the given filters
        (v2, ClickHouse-backed).


        Returns total count, income, spending, net total, average, and the
        largest overall,

        expense, and income transactions. Accepts the same filter params as the
        list endpoint.
      operationId: getTransactionsSummary
      parameters:
        - name: transacted_at_from
          in: query
          required: true
          schema:
            type: string
            description: Start date for the transaction window (inclusive, YYYY-MM-DD).
            examples:
              - '2025-01-01'
            title: Transacted At From
          description: Start date for the transaction window (inclusive, YYYY-MM-DD).
        - name: transacted_at_to
          in: query
          required: false
          schema:
            type: string
            description: >-
              End date for the transaction window (inclusive, YYYY-MM-DD).
              Defaults to today.
            examples:
              - '2025-12-31'
            title: Transacted At To
          description: >-
            End date for the transaction window (inclusive, YYYY-MM-DD).
            Defaults to today.
        - name: categories
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                maxLength: 1000
              - type: 'null'
            description: >-
              Comma-separated category slugs to include (e.g.
              'income,transfer'). Omit to include all categories.
            examples:
              - income,transfer
            title: Categories
          description: >-
            Comma-separated category slugs to include (e.g. 'income,transfer').
            Omit to include all categories.
        - name: transaction_type
          in: query
          required: false
          schema:
            anyOf:
              - enum:
                  - DEBIT
                  - CREDIT
                type: string
              - type: 'null'
            description: >-
              Filter by transaction type. Omit to include both debits and
              credits.
            examples:
              - DEBIT
            title: Transaction Type
          description: Filter by transaction type. Omit to include both debits and credits.
        - name: account_ids
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Comma-separated account IDs to include. Omit to include all
              accounts.
            examples:
              - acc_001,acc_002
            title: Account Ids
          description: >-
            Comma-separated account IDs to include. Omit to include all
            accounts.
        - name: min_amount
          in: query
          required: false
          schema:
            anyOf:
              - type: number
              - type: string
                pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
              - type: 'null'
            description: Minimum transaction amount (absolute value). Inclusive.
            examples:
              - '10.00'
            title: Min Amount
          description: Minimum transaction amount (absolute value). Inclusive.
        - name: max_amount
          in: query
          required: false
          schema:
            anyOf:
              - type: number
              - type: string
                pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
              - type: 'null'
            description: Maximum transaction amount (absolute value). Inclusive.
            examples:
              - '500.00'
            title: Max Amount
          description: Maximum transaction amount (absolute value). Inclusive.
        - name: merchant
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Case-insensitive substring match on merchant name or description.
            examples:
              - starbucks
            title: Merchant
          description: Case-insensitive substring match on merchant name or description.
        - name: exclude_categories
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                maxLength: 1000
              - type: 'null'
            description: >-
              Comma-separated category slugs to exclude (e.g.
              'transfer,uncategorized').
            title: Exclude Categories
          description: >-
            Comma-separated category slugs to exclude (e.g.
            'transfer,uncategorized').
        - name: include_hidden
          in: query
          required: false
          schema:
            type: boolean
            description: >-
              Include user-hidden transactions in the aggregates. Hidden
              transactions can be unhidden; permanently deleted transactions are
              never counted regardless.
            examples:
              - true
            default: false
            title: Include Hidden
          description: >-
            Include user-hidden transactions in the aggregates. Hidden
            transactions can be unhidden; permanently deleted transactions are
            never counted regardless.
      responses:
        '200':
          description: Aggregate statistics for transactions matching filters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionsSummaryResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    TransactionsSummaryResponse:
      properties:
        total_count:
          type: integer
          title: Total Count
          description: Total number of transactions.
          examples:
            - 142
        total_income:
          type: string
          pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          title: Total Income
          description: Sum of all CREDIT amounts.
          examples:
            - '3000.00'
        total_spending:
          type: string
          pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          title: Total Spending
          description: Sum of all DEBIT amounts.
          examples:
            - '1245.50'
        net_total:
          type: string
          pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          title: Net Total
          description: total_income minus total_spending.
          examples:
            - '1754.50'
        average_amount:
          type: string
          pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          title: Average Amount
          description: Average transaction amount (absolute value).
          examples:
            - '87.72'
        largest_transaction:
          anyOf:
            - $ref: '#/components/schemas/LargestTransactionDetail'
            - type: 'null'
          description: Transaction with the highest absolute amount.
        largest_expense:
          anyOf:
            - $ref: '#/components/schemas/LargestTransactionDetail'
            - type: 'null'
          description: DEBIT transaction with the highest amount.
        largest_income:
          anyOf:
            - $ref: '#/components/schemas/LargestTransactionDetail'
            - type: 'null'
          description: CREDIT transaction with the highest amount.
      type: object
      required:
        - total_count
        - total_income
        - total_spending
        - net_total
        - average_amount
      title: TransactionsSummaryResponse
      description: >-
        Aggregate statistics for a set of transactions matching the given
        filters.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    LargestTransactionDetail:
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
          description: Transaction ID.
        amount:
          type: string
          pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          title: Amount
          description: Transaction amount (absolute value).
          examples:
            - '532.00'
        description:
          type: string
          title: Description
          description: Transaction description.
          examples:
            - Amazon Purchase
        date:
          type: string
          title: Date
          description: Transaction date (YYYY-MM-DD).
          examples:
            - '2025-12-04'
      type: object
      required:
        - amount
        - description
        - date
      title: LargestTransactionDetail
      description: >-
        Details of a single notable transaction (largest overall, expense, or
        income).
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: PAT
      description: >-
        Bearer authentication with a personal access token (prefix `pat_`).
        Generate tokens in the Truv web app under Settings → API keys.

````