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 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