Create a Financial Connections Session server-side by POST-ing to /v1/financial_connections/sessions with account_holder (type and customer), permissions array (e.g. ['payment_method', 'balances']), and optionally filters.countries
Return the session's client_secret to your frontend
Use Stripe.js collectBankAccountForPayment or collectBankAccountToken, passing the client_secret to launch the hosted authorization modal
After the user completes the flow, the session status becomes 'succeeded' and linked account IDs are available on the session accounts array
Retrieve the session server-side via GET /v1/financial_connections/sessions/:id to confirm status and collect account IDs
Store the returned financial_connections.account IDs for subsequent data retrieval operations
Known gotchas
The permissions array must be set at session creation time and cannot be modified later; request only what your use case needs as over-requesting may reduce user consent rates
client_secret is single-use and short-lived; never log or expose it to untrusted parties
Financial Connections Sessions require a Customer object when the account_holder type is 'customer'; omitting the customer causes a validation error
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