Ensure your Plaid credentials have the Enrich product enabled; accounts created on or after December 2025 receive v2 by default, while older accounts default to v1.
POST to /transactions/enrich with a JSON body containing account_type ('depository' or 'credit') and a transactions array; each transaction requires id, description, amount, direction, and iso_currency_code.
To opt in to the v2 taxonomy, include an options object in the request body with the field personal_finance_category_version set to the string 'v2'.
Parse enriched_transactions in the response; each entry's enrichments.personal_finance_category object contains primary, detailed, confidence_level, and version fields confirming which taxonomy was applied.
Map the returned detailed category codes against the PFC taxonomy CSV (https://plaid.com/documents/pfc-taxonomy-all.csv) to display human-readable labels in your UI.
Handle the enrichments.counterparties array separately for merchant name, type, and logo_url — these fields are distinct from the category classification.
Known gotchas
The correct request field is options.personal_finance_category_version set to 'v2'; there is no personal_finance_category_rules or taxonomy_version parameter.
Omitting options.personal_finance_category_version on a pre-December-2025 account silently returns v1 data; always set it explicitly if you require v2 categories.
The /transactions/enrich endpoint accepts a maximum of 100 transactions per request; batch larger datasets accordingly.
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