Create an institution connection for the user by POST /account-auth-requests with applicationUserId, institutionId, and callback; redirect the user to the returned authorisationUrl to complete Open Banking consent
After redirect, exchange the consent token by POST /accounts with the consent header; receive a list of accounts including accountType, balance, and currency
Fetch transactions via GET /accounts/{accountId}/transactions?from=YYYY-MM-DD&to=YYYY-MM-DD using the consent header; Yapily returns raw transaction data including merchant name, amount, transaction type, and ISO category codes where provided by the ASPSP
Enrich raw transactions using Yapily's categorization (where enabled in your plan) by checking the enrichment object on each transaction; fields include transactionCategory, merchant, and logo URL
For ASPSPs that do not provide categorization data, forward raw transactions to a categorization service (e.g., Plaid Enrich or your own ML model) using the transaction narrative as input
Aggregate enriched transactions by merchant and category across multiple connected accounts; store the accountId, institutionId, and consent expiry date per connection to manage re-consent workflows proactively
Known gotchas
Yapily transaction enrichment quality varies significantly by institution; some ASPSPs provide rich merchant data while others return only a raw description string — design your enrichment pipeline to degrade gracefully to raw-description-only mode
Open Banking transaction history is typically limited to 90 days via most ASPSP APIs (some offer longer periods); do not promise users historical data beyond what the ASPSP supports — check GET /institutions/{institutionId} for the data_scope.transaction_from_date capability
Re-consent is required if the original consent expires or is revoked; build proactive 7-day advance warnings and a streamlined re-consent redirect so users do not experience a data gap in their analytics dashboard
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