The way in which you add a Plaid product to an Item depends on the product you would like to add.
If a product was not initialized when the Item was first created, calling that product's endpoint will generally attempt to add the product to the Item automatically. For example, if you want to add the Transactions product to an existing Item, you can call the /transactions/get or /transactions/sync endpoint.
However, Data Transparency Messaging is automatically enabled for all new customers' US and Canada-based Link sessions as of October 2024. On an Item enabled for Data Transparency Messaging, you can only add a product this way if it was included in the additional_consented_products array when calling /link/token/create, or if you already have the required OAuth permission scopes for that product. This limitation also applies to all Items at Robinhood (ins_54), regardless of whether Data Transparency Messaging is enabled.
If you don't have all the consent required to add a product — for example, because the Item is subject to the restriction above, or because the end user didn't grant the necessary product-specific OAuth access — the API call attempting to add the product will fail, and you will need to send the user through update mode to obtain that consent. This involves creating a new link_token for update mode using the access_token of the existing Item and specifying the new product in the additional_consented_products array. Once the user has re-authenticated, you can call the necessary product endpoints.
There are some additional exceptions to the post-Link product add flow:
- Signal, Assets, Statements, and Bank Income can only be added post-Link via update mode — they cannot be added simply by calling the product's endpoint. See the Verifying Bank Income for existing Items and Getting an Asset Report for an existing Item sections of our docs.
- Identity Verification and Payment Initiation cannot be added as additional products once an Item has been created.
- If the Item contains a limited-purpose checking account and Auth was not listed in
optional_productsoradditional_consented_products, Auth can only be added via update mode.
Before implementing a process to add products we recommend reviewing our docs on how to optimize Link conversion and best practices on initializing products. They go into more detail about how to add products and any limitations that you might encounter.