Ensure the Financial Connections Session was created with 'transactions' in the permissions array
To enable ongoing transaction access, POST to /v1/financial_connections/accounts/:account_id/subscribe with features=['transactions']
Trigger an initial refresh by POST-ing to /v1/financial_connections/accounts/:account_id/refresh with features=['transactions']
Listen for the financial_connections.account.refreshed_transactions webhook; once fired, list transactions via GET /v1/financial_connections/transactions?account=:account_id
Paginate using the standard Stripe cursor pagination parameters (starting_after, limit) on the transactions list endpoint
Each transaction object includes amount, currency, description, transacted_at, and status fields
Known gotchas
Transactions are not available in real time; Stripe fetches them from the institution and the first refresh may take several minutes
The subscription must remain active for ongoing webhook-driven refreshes; call /unsubscribe to stop receiving updates
Historical transaction depth varies by institution; do not assume more than 90 days of history is available across all institutions
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp