Create a Plaid Transfer authorization to evaluate ACH debit risk before originating funds movement
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
POST to /transfer/authorization/create with client_id, secret, access_token, account_id, type ('debit' or 'credit'), network ('ach', 'same-day-ach', or 'rtp'), amount, ach_class (required for ACH, e.g. 'ppd' or 'ccd'), and user.legal_name
The response contains an authorization object with an id and a decision field; decision can be 'approved', 'permitted', or 'declined'
An 'approved' decision means Plaid's risk engine has evaluated and approved the transfer; 'permitted' means Plaid has no blocking signal but cannot fully guarantee funds; 'declined' means do not proceed
The authorization is valid for approximately 1 hour; create the transfer within that window
Inspect decision_rationale.code and decision_rationale.description for the reason behind a non-approved decision
Include an idempotency_key to prevent duplicate authorizations from network retries
Known gotchas
Authorization is required before creating a transfer; calling /transfer/create without a valid, unexpired authorization ID returns an error
The authorization window is approximately 1 hour; if you do not create the transfer within that time, you must re-authorize
An 'approved' authorization does not guarantee the transfer will succeed; ACH returns for insufficient funds or account closure can still occur after transfer creation
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?