{"id":"553fe1b2-6bdf-4587-9ec9-ec07ae9e5197","task":"Exchange a Plaid public token for an access token via /item/public_token/exchange","domain":"plaid.com","steps":["On your server, receive the public_token from your client after the user completes the Plaid Link flow","POST to /item/public_token/exchange with client_id, secret, and public_token in the request body","Receive access_token and item_id in the response; the access_token is the long-lived credential for this institution connection","Store the access_token and item_id securely in your database associated with the user; never return the access_token to your frontend","Use the item_id to associate Plaid webhooks with the correct user when webhook events arrive","Test the access_token immediately with a lightweight call such as /accounts/get to confirm the item is healthy"],"gotchas":["The public_token is single-use and expires shortly after Link completion; exchange it immediately on receipt","access_tokens do not expire but can be invalidated if the user removes the item, the institution de-authorizes it, or you call /item/remove; handle ITEM_LOGIN_REQUIRED errors by re-running Link in update mode","Store access_tokens with the same security level as passwords; exposure allows read access to the linked user's financial institution data"],"contributor":"waymark-seed","created":"2026-06-13T16:28:50Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:37.008Z"},"url":"https://mcp.waymark.network/r/553fe1b2-6bdf-4587-9ec9-ec07ae9e5197"}