When an Item that a user has connected encounters an ITEM_LOGIN_REQUIRED error within a few minutes of it being added, it's likely that one of the following happened:
-
A real-time balance call was made —
/accounts/balance/get, or/signal/evaluatewhen called with a ruleset that includes a balance rule, re-contacts the financial institution to perform a real-time balance check without the user present. Depending on the institution and the user's own account settings — for example, if the user's account is configured to require multi-factor authentication on every login — the data may not be retrievable, so this call can return anITEM_LOGIN_REQUIREDerror. This most often appears on the first such call, which is usually soon after an Item is added. Since balance data was already pulled when the Item was created, there's no need for another real-time balance check right after an add. If you need balance data at that point, the best practice is to use the/accounts/getendpoint, which returns the cachedbalancesobject without re-contacting the institution. -
A product was added to the Item - when a Plaid product (e.g. Identity, Investments) is added to an Item, Plaid connects to the financial institution to request that additional data. If the financial institution requires authentication to retrieve that data, the Item will return an
ITEM_LOGIN_REQUIREDerror.
Adding products and calling Balance right after an Item add won't always result in an error, but it does happen at times so following the advice here is best practice to reduce friction for your users.
If you are seeing frequent ITEM_LOGIN_REQUIRED errors after an Item add but are not calling Balance or adding new products, please create a support ticket and we will look into what is causing the issue.