Retrieve recurring transactions (inflows and outflows) for a user
Changed onReturns 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).
Request
- Base URLhttps://prod.truv.com
- URLhttps://prod.truv.com/v1/users/{user_id}/transactions/recurring/
- AuthAPI key in header X-Access-Client-Id and API key in header X-Access-Secret
Query parameters
Filter by recurring source status. Defaults to active. Use all to return sources in any state.
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
- info
- breaking
the response property
///became nullable for the status - warning
added the new
undefinedenum value to the///response property for the response status - warning
added the new
undefinedenum value to the///response property for the response status - warning
added the new
undefinedenum value to the///response property for the response status
- breaking