---
title: "Retrieve recurring transactions (inflows and outflows) for a user"
method: GET
path: "/v1/users/{user_id}/transactions/recurring/"
tags: ["Recurring Transactions"]
---

# Retrieve recurring transactions (inflows and outflows) for a user

`GET /v1/users/{user_id}/transactions/recurring/`

Returns recurring transaction patterns detected across the user's linked bank accounts, split into recurring outflows (subscriptions, bills, and other recurring expenses) and recurring inflows (salary, benefits, and other recurring income sources).

## Query parameters

- `status` 'active' | 'inactive' | 'irregular' | 'all'
- `link_id` string

## Response `200`

- RecurringTransactionsResponse — Recurring transactions for a user, split into recurring outflows (expenses) and recurring inflows (income sources).
  - `recurring_transactions` RecurringTransactionsData
    - `outflows` RecurringOutflow[] — List of recurring outflow (expense) sources.
      - `source_id` string — Unique identifier for the recurring outflow source.
      - `source_name` string — Merchant or company name.
      - `account_id` string — Account ID where transactions occur.
      - `categories` string[] — Transaction categories.
      - `description` string — Original transaction description.
      - `merchant_category_code` string, nullable — Merchant category code (MCC).
      - `frequency` 'M' | 'SM' | 'W' | 'BW' | 'A' | 'SA' | 'C' | 'null', nullable — Payment frequency code: `M` Monthly, `SM` Semimonthly, `W` Weekly, `BW` Biweekly, `A` Annually, `SA` Semiannually, `C` Commission. Null when the recurring source has irregular cadence.
      - `status` 'active' | 'inactive' | 'irregular' — Status of the recurring source.
      - `average_amount` string, decimal, nullable — Average transaction amount.
      - `median_amount` string, decimal, nullable — Median transaction amount.
      - `last_amount` string, decimal, nullable — Most recent transaction amount.
      - `first_detected` string, date, nullable — Date when the recurring pattern was first detected.
      - `last_transaction_date` string, date, nullable — Date of the most recent transaction.
      - `next_expected_date` string, date, nullable — Expected date of the next transaction.
      - `logo_url` string, uri, nullable — Company logo URL from company mapping.
      - `historical_transactions` HistoricalTransaction[] — List of historical transactions for this recurring source.
        - `transaction_id` string — Unique identifier of the transaction (32-character hex, no dashes).
        - `date` string, date, nullable — The date that the transaction occurred.
        - `amount` string, decimal — The monetary amount of the transaction.
        - `description` string — Transaction original description.
    - `inflows` RecurringInflow[] — List of recurring inflow (income) sources.
      - `source_id` string — Unique identifier for the recurring inflow source.
      - `source_name` string — Company or employer name.
      - `account_id` string — Account ID where income is deposited.
      - `description` string — Income description.
      - `frequency` 'M' | 'SM' | 'W' | 'BW' | 'A' | 'SA' | 'C' | 'null', nullable — Payment frequency code: `M` Monthly, `SM` Semimonthly, `W` Weekly, `BW` Biweekly, `A` Annually, `SA` Semiannually, `C` Commission. Null when the income source has irregular cadence.
      - `average_amount` string, decimal, nullable — Average payment amount.
      - `median_amount` string, decimal, nullable — Median payment amount.
      - `last_amount` string, decimal, nullable — Most recent payment amount.
      - `status` 'active' | 'inactive' | 'irregular' — Status of the recurring income.
      - `first_detected` string, date, nullable — Date when the income source was first detected.
      - `last_transaction_date` string, date, nullable — Date of the most recent payment.
      - `next_expected_date` string, date, nullable — Expected date of the next payment.
      - `logo_url` string, uri, nullable — Company logo URL from company mapping.
      - `historical_transactions` HistoricalTransaction[] — List of historical transactions for this income source.
        - `transaction_id` string — Unique identifier of the transaction (32-character hex, no dashes).
        - `date` string, date, nullable — The date that the transaction occurred.
        - `amount` string, decimal — The monetary amount of the transaction.
        - `description` string — Transaction original description.
      - `income_type` 'PAYCHECK' | 'RETIREMENT' | 'RENTAL' | 'UNEMPLOYMENT' | 'GOVERNMENT_EMPLOYMENT' | 'GOVERNMENT_BENEFITS' | 'PRIVATE_BENEFITS' | 'EWA_PAYROLL' | 'GIG_ECONOMY' | 'P2P_TRANSFER' | 'TAX_CREDITS' | 'CASH_OR_CHECK' | 'INTEREST' | 'INVESTMENT' | 'OTHER' | 'null', nullable — Category of recurring income.

## Other responses

- `401` — HTTP 401 Unauthorized
- `403` — HTTP 403 Forbidden
- `404` — HTTP 404 Not Found

---

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