Create a Plaid Link token with the cra_base_report product and the consumer_report_permissible_purpose set to the appropriate FCRA purpose code for your use case
After Link completion, call the CRA create endpoint to generate the report; poll the report status endpoint until status reaches ready
Retrieve the Base Report which includes bank account cash-flow metrics, NSF counts, recurring income signals, and negative balance days — do not use raw transaction data for credit decisions
If you take an adverse action based wholly or partly on the report, generate an adverse action notice that includes the CRA name, address, and the consumer's right to dispute under FCRA section 615
Implement a dispute intake flow: if the consumer disputes data accuracy, re-pull a fresh report and compare; submit a dispute to Plaid's CRA dispute endpoint if the discrepancy is confirmed
Retain report artifacts for the FCRA-required retention period and implement a deletion workflow triggered by consumer request
Known gotchas
CRA Base Reports are FCRA-regulated; using them for employment screening rather than credit requires a different permissible purpose code and changes adverse action notice requirements
Plaid's CRA products are not available in all states and require a separate contract addendum — do not assume sandbox availability implies production eligibility
Raw transaction data from /transactions/sync cannot substitute for a CRA report in regulated credit decisions even if you compute the same metrics yourself
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