> ## 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 Income

> Get aggregated income report from all payroll and bank sources.

Aggregates income data from all connected payroll providers and bank accounts.
Bank income is converted to the same format as payroll employment records.
Duplicate income sources (visible from both payroll and bank) are deduplicated
using fuzzy name matching, with preference given to payroll data.

Each employment record includes:
- ``data_source``: ``'payroll'`` or ``'financial_accounts'``
- ``provider``: data provider name (e.g. ``'adp'``, ``'chase'``)
- ``company``: employer / income source details, including ``logo_url`` when a company logo is available
- ``statements``: pay statements filtered to the requested date range
- ``income``, ``pay_rate``, ``pay_frequency``: compensation details



## OpenAPI

````yaml GET /v1/users/income
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:
  /v1/users/income:
    get:
      tags:
        - financial-data
      summary: Get User Income Endpoint
      description: >-
        Get aggregated income report from all payroll and bank sources.


        Aggregates income data from all connected payroll providers and bank
        accounts.

        Bank income is converted to the same format as payroll employment
        records.

        Duplicate income sources (visible from both payroll and bank) are
        deduplicated

        using fuzzy name matching, with preference given to payroll data.


        Each employment record includes:

        - ``data_source``: ``'payroll'`` or ``'financial_accounts'``

        - ``provider``: data provider name (e.g. ``'adp'``, ``'chase'``)

        - ``company``: employer / income source details, including ``logo_url``
        when a company logo is available

        - ``statements``: pay statements filtered to the requested date range

        - ``income``, ``pay_rate``, ``pay_frequency``: compensation details
      operationId: getAggregatedIncome
      parameters:
        - name: days
          in: query
          required: false
          schema:
            type: integer
            maximum: 365
            minimum: 1
            description: >-
              Number of days of income history to include (1-365). Defaults to
              90.
            default: 90
            title: Days
          description: Number of days of income history to include (1-365). Defaults to 90.
      responses:
        '200':
          description: Aggregated income report from payroll and bank sources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnifiedIncomeReportResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    UnifiedIncomeReportResponse:
      properties:
        employments:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Employments
          description: >-
            Combined employment / income records from all connected sources.
            Each item contains data_source ('payroll' or 'financial_accounts'),
            provider name, company info, statements, income details, and more.
      additionalProperties: true
      type: object
      title: UnifiedIncomeReportResponse
      description: >-
        Aggregated income report combining payroll and bank account sources.


        Employment records from payroll providers and bank transaction-based
        income

        are merged and deduplicated. Each employment includes a ``data_source``
        field

        (``'payroll'`` or ``'financial_accounts'``) to identify its origin.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    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.

````