Skip to content
pluginloom

Troubleshooting

Troubleshooting Plaid Link errors

Fix common Plaid errors on WordPress: INVALID_CREDENTIALS, ITEM_LOGIN_REQUIRED, INSTITUTION_DOWN, INVALID_LINK_TOKEN, INVALID_API_KEYS and more, with causes.

Last updated by the PluginLoom team

Every Plaid error has an error_type and an error_code, and Link passes them to the page in the onExit callback. Find the code in the tables below. Most errors are fixed by the user retrying, by sending the user through Link's update mode, or by correcting a key or setting.

Where do I find the error code?#

Plaid's Link web docs (opens in a new tab) say the onExit error object includes error_type, error_code, error_message (for developers) and display_message (for users). The metadata also includes a link_session_id and request_id. Note these for any support ticket. The Plaid Dashboard Logs section shows API activity too.

Login and account errors (ITEM_ERROR)#

From Plaid's Item errors (opens in a new tab) page:

CodeCommon causeFix
INVALID_CREDENTIALSWrong username or password, extra spaces, or the wrong login portal for that bankUser retries carefully. Warn that repeated failures can lock the account
INVALID_MFAWrong code, inactive device, or the bank did not send the codeUser retries
ITEM_LOCKEDToo many wrong attempts tripped the bank's lockUser restores access on the bank's own site, then tries again
ITEM_LOGIN_REQUIREDPassword, MFA or consent changed or expired; bank moved to OAuth; Sandbox Item over 30 days oldSend the user through Link update mode
INSUFFICIENT_CREDENTIALSUser left the OAuth flow before finishingUser tries again or picks another bank
PASSWORD_RESET_REQUIREDBank requires a password resetUser resets it at the bank, then reconnects
USER_SETUP_REQUIREDBank needs the user to accept terms or finish setupUser logs in to the bank and completes it
NO_ACCOUNTSNo open, eligible accountsConfirm the user has an eligible account
NO_AUTH_ACCOUNTSNo debitable checking, savings or cash management account, or sharing not grantedUser links a checking or savings account and allows sharing
ACCESS_NOT_GRANTEDUser did not share the data the product needsUser reconnects and selects the needed sharing options
ITEM_NOT_SUPPORTEDBank restricts that account type or accessUser connects a different account
MFA_NOT_SUPPORTEDBank's MFA type is not supportedUser changes MFA settings or uses another account
PRODUCT_NOT_READYData requested before it was readyWait for the webhook, then retry
PRODUCTS_NOT_SUPPORTEDProduct called on an Item that does not support itCheck /item/get and request the product at link time
USER_INPUT_TIMEOUTUser took too long (5 minutes at account selection)User starts again

Bank side errors (INSTITUTION_ERROR)#

From Plaid's Institution errors (opens in a new tab) page:

CodeCommon causeFix
INSTITUTION_DOWNBank maintenance or a temporary problemAsk the user to try later
INSTITUTION_NOT_RESPONDINGTemporary problem at the bankTry later
INSTITUTION_NOT_AVAILABLEPlaid's connection to the bank is down for maintenanceTry later
INSTITUTION_NO_LONGER_SUPPORTEDPlaid no longer supports that bank, or it now needs OAuthUser picks another bank
INSTITUTION_REGISTRATION_REQUIREDAccount recently enabled for Production (allow 1 to 2 days), app details not registered, or security questionnaire incompleteFinish Dashboard registration and wait
UNAUTHORIZED_INSTITUTIONBank needs manual enablement or OAuth registration is incompleteCheck OAuth status in the Dashboard
INSTITUTION_NOT_ENABLED_IN_ENVIRONMENTThat bank is not available in the environment you are usingUse a supported Sandbox bank, or switch environments

For the first three, if the error lasts, Plaid asks you to open a support ticket with the institution_id and the link_session_id or request_id.

Setup and key errors (INVALID_INPUT, INVALID_REQUEST)#

CodeCommon causeFix
INVALID_API_KEYSclient_id or secret does not match the environmentPaste the secret for the environment BankBridge is set to
INVALID_LINK_TOKENToken expired (4 hours, 30 minutes in update mode), already used, from another environment, or invalidated after too many bad loginsCreate a new link token. Also check page caching
INVALID_ACCESS_TOKENToken invalid or from another environmentDo not mix Sandbox and Production tokens
INVALID_PUBLIC_TOKENToken invalid, expired or from another environmentExchange the public token right away; it lasts 30 minutes
INCORRECT_DEPOSIT_VERIFICATIONWrong micro-deposit codeUser checks their statement for the 3 letter code
TOO_MANY_VERIFICATION_ATTEMPTSThree wrong micro-deposit codesUser must resubmit account details in Link
INVALID_FIELDA field is wrong, including a redirect URI that is not on the allowlistRead error_message; add the redirect URI in the Dashboard

Sources: Invalid input errors (opens in a new tab), Invalid request errors (opens in a new tab).

Check these in order:

  1. Open the browser console. A Content Security Policy error means your policy must allow cdn.plaid.com (see Plaid Link setup).
  2. Turn off script combining, minifying or delaying for the Link page. Plaid says the script must load from cdn.plaid.com.
  3. Exclude the page from page caching so each visitor gets a fresh link token.
  4. Confirm your keys match the environment.

How do I test errors safely?#

In Sandbox, call /sandbox/item/reset_login to force ITEM_LOGIN_REQUIRED, then test your reconnect flow (Sandbox docs (opens in a new tab)).

Sources#

Checked October 23, 2026.

Plaid is a trademark of Plaid Inc. BankBridge is an independent plugin and is not affiliated with or endorsed by Plaid.

Was this page helpful?