POST /link/token/create with client_id, secret, user.client_user_id, products array (e.g. ['transactions']), country_codes, and language to receive a link_token
Initialize Plaid Link SDK in the client using the link_token; handle onSuccess callback to receive public_token and metadata
POST /item/public_token/exchange with the public_token to get a permanent access_token and item_id; store both securely
POST /transactions/sync with access_token and an optional cursor (omit on first call) to receive added, modified, and removed transaction arrays plus a next_cursor
Persist next_cursor and repeat /transactions/sync on subsequent polls, processing only the delta returned since the last cursor
Handle ITEM_LOGIN_REQUIRED webhook by prompting user through a new Link session in update mode using the same item's access_token
Known gotchas
link_token expires in 4 hours; never reuse one across sessions or page reloads
/transactions/sync may return has_more: true, requiring repeated calls with the updated cursor before the full delta is consumed
Sandbox and Production use separate base URLs and separate credential sets; access_tokens are environment-specific
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