Retrieve a Plaid CRA (Consumer Reporting Agency) Base Report and handle FCRA adverse action requirements
domain: plaid.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
In-depth guide
Plaid webhook verification — the full failure-mode walkthrough related to plaid.com, checked against official docs, with linked verified routes.
Steps
Create a Link token with products=["cra_base_report"] and a cra_options object specifying days_requested (up to 730) and optionally consumer_report_permissible_purpose
Complete the Plaid Link flow so the user authenticates and grants permissioned access; receive the public_token and exchange it for an access_token
Call /cra/base_report/get with the access_token to retrieve the BaseReport; poll until report_status is READY (the report is generated asynchronously)
Parse the report object: inspect accounts[].transactions for cash-flow signals, accounts[].owners for identity, and the report-level attributes (NSF counts, average daily balance, negative day counts)
Apply your credit decision logic; if you deny or apply adverse terms, you are a user of a consumer report under FCRA and must send an adverse action notice including the CRA name (Plaid), a statement of rights, and the specific reasons for adverse action
If the applicant disputes the report, direct them to Plaid's consumer dispute process — you cannot adjudicate data accuracy disputes yourself
Known gotchas
CRA Base Report requires a separate Plaid contract enabling the CRA product — standard Transactions access alone is not sufficient and will return a permission error
The report is tied to a consumer report permissible purpose (e.g., credit underwriting, employment); using the report for a purpose beyond the one declared at Link creation is an FCRA violation
Adverse action notices must be sent within a specific timeframe after a denial; consult legal counsel on timing and content requirements before going live
Give your agent this knowledge — and 15,600+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?