Recurring Transactions

Retrieve recurring transactions (inflows and outflows) for a user

Changed on

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).

get/v1/users/{user_id}/transactions/recurring/

Request

  • Base URL
    https://prod.truv.com
  • URL
    https://prod.truv.com/v1/users/{user_id}/transactions/recurring/
  • Auth
    API key in header X-Access-Client-Id and API key in header X-Access-Secret

Query parameters

status'active' | 'inactive' | 'irregular' | 'all'

Filter by recurring source status. Defaults to active. Use all to return sources in any state.

link_idstring

Filter to a specific link ID. Defaults to all of the user's links.

Response

Example response

{
  "recurring_transactions": {
    "outflows": [
      {
        "source_id": "68a7e80942ce4ad58a93f70ce411549a",
        "source_name": "Netflix",
        "account_id": "68a7e80942ce4ad58a93f70ce411549a",
        "categories": [
          "Entertainment",
          "Subscriptions"
        ],
        "description": "NETFLIX.COM",
        "merchant_category_code": "5968",
        "frequency": "M",
        "status": "active",
        "average_amount": "15.99",
        "median_amount": "15.99",
        "last_amount": "15.99",
        "first_detected": "2024-01-15",
        "last_transaction_date": "2024-11-15",
        "next_expected_date": "2024-12-15",
        "logo_url": "https://example.com/logos/company.png",
        "historical_transactions": [
          {
            "transaction_id": "24d7e80942ce4ad58a93f70ce4115f5c",
            "date": "2025-05-04",
            "amount": "200.31",
            "description": "NETFLIX.COM"
          }
        ]
      }
    ],
    "inflows": [
      {
        "source_id": "68a7e80942ce4ad58a93f70ce411549a",
        "source_name": "Acme Corp",
        "account_id": "68a7e80942ce4ad58a93f70ce411549a",
        "description": "Salary",
        "frequency": "BW",
        "average_amount": "3500.00",
        "median_amount": "3500.00",
        "last_amount": "3500.00",
        "status": "active",
        "first_detected": "2024-01-01",
        "last_transaction_date": "2024-11-15",
        "next_expected_date": "2024-11-29",
        "logo_url": "https://example.com/logos/company.png",
        "historical_transactions": [
          {
            "transaction_id": "24d7e80942ce4ad58a93f70ce4115f5c",
            "date": "2025-05-04",
            "amount": "200.31",
            "description": "NETFLIX.COM"
          }
        ],
        "income_type": "PAYCHECK"
      }
    ]
  }
}

Changes

    • info

      the /// response's property pattern ^-?\d{1,10}\.\d{2}$ was added for the status

    • info

      the ///// response's property pattern ^-?\d{1,10}\.\d{2}$ was added for the status

    • info

      the /// response's property pattern ^-?\d{1,10}\.\d{2}$ was added for the status

    • info

      the /// response's property pattern ^-?\d{1,10}\.\d{2}$ was added for the status

    • info

      the /// response's property pattern ^-?\d{1,10}\.\d{2}$ was added for the status

    • info

      the ///// response's property pattern ^-?\d{1,10}\.\d{2}$ was added for the status

    • info

      the /// response's property pattern ^-?\d{1,10}\.\d{2}$ was added for the status

    • info

      the /// response's property pattern ^-?\d{1,10}\.\d{2}$ was added for the status

    • breaking

      the response property /// became nullable for the status

    • warning

      added the new undefined enum value to the /// response property for the response status

    • warning

      added the new undefined enum value to the /// response property for the response status

    • warning

      added the new undefined enum value to the /// response property for the response status