User APIs
Information on new user APIs
Plaid is updating our APIs to support the next generation of user-based products - such as Plaid Protect - and to create a more unified and consistent experience across our platform. These updates improve multi-product compatibility, simplify debugging, and ensure user identifiers behave consistently across all Plaid products. If you're beginning a new Plaid Check Consumer Report (CRA) or Multi-Item Link integration in December 2025 or later, you’ll use these updated APIs to build your integration.
If you are an existing customer using Plaid Check, Plaid Income Verification, or Multi-Item Link as of December 10, 2025, here's what you need to know:
- No action is required.
- Your existing integration remains fully supported. Plaid is not removing support and your integration will continue to function as expected.
- We’ll share optional migration steps in Q1 2026. Only after that point will you be able to migrate.
What's new
Customers with existing user token integrations cannot yet migrate to this new flow. The API changes below are currently described for informational purposes only.
Updates to user creation and identification
- When calling
/user/create, the response includes a singleuser_idinstead of auser_tokenand auser_id. Thisuser_idis used instead of theuser_tokento identify the user throughout the Plaid API, including when calling API endpoints or when receiving webhooks.- A
user_idcreated on the new API (prefixed withusr_) is not equivalent to auser_id(not prefixed withusr_) created on the old API. If you have not yet migrated to the updated user APIs, you cannot use auser_idin place of auser_tokenfor endpoints that accept either identifier.
- A
/user/createis now idempotent. In the old flow, when/user/createwas called on aclient_user_idmore than once, it would return an error; it now returns the sameuser_idas the original call.- The user schema has an
identityobject (instead of theconsumer_report_user_identityobject), which is used in the/user/createand/user/updaterequest bodies. Thisidentityobject has a different schema than theconsumer_report_user_identityobject.
Changes to user management
- In the old flow, a
client_user_idcould never be re-used to create a new user, even if the user token was deleted with/user/remove. In the new flow, once/user/removehas been called on auser_id, a new user can be created for the sameclient_user_idby calling/user/create. - The endpoint
/user/gethas been added, allowing you to retrieve identity details about a user that you have previously created. - Coming soon, the user APIs will include net-new endpoints and additional functionality to simplify user management.
Other changes
- The webhooks
CHECK_REPORT_READYandCHECK_REPORT_FAILEDhave been renamed toUSER_CHECK_REPORT_READYandUSER_CHECK_REPORT_FAILED. - For Cash Flow Insights (beta) customers, the different Insights webhooks have been replaced by a single webhook,
CASH_FLOW_INSIGHTS_UPDATED, with aninsightspayload field listing all of the insights received.
Who gets the new user APIs
As of December 10, 2025, all Plaid customers will experience the new user API behavior by default, with the following exceptions:
Any existing Plaid customers who ever used the
/user/createendpoint in either Sandbox or Production as of December 10, 2025, will automatically be kept on the old user API behavior, to avoid breaking changes. This group includes all existing and currently integrating customers of Consumer Report, Multi-Item Link, and/or Income Verification.After December 10, 2025, any new customers of Plaid Income Verification will automatically be moved to the older user APIs, since the new user APIs will not be ready for Plaid Income Verification until Q1 2026. Note that this applies only to the legacy Plaid Income Verification product; it does not apply to the Plaid Check Consumer Report Income modules, such as Base Report and Income Insights.
If you aren't sure whether you have the new or old API, call /user/create.
- In the new API, the response will not include a
user_token, and youruser_idwill be formatted with the prefixusr_. - In the old API, the response will include a
user_token, and theuser_idwill not contain a prefix.
Client library version requirements
To use the new user APIs with a Plaid client library, the minimum client library versions are:
- Python: 38.0.0
- Go: 41.0.0
- Java: 39.0.0
- Node: 41.0.0
- Ruby: 45.0.0
Summary
New clients integrating beginning December 10, 2025 or later should use the new user_id based implementation currently described in the docs.
Existing clients should take no action at this time. Migration will be optional (though recommended) and available after Q1 2026.
More information will be provided about the new user APIs in Q1 2026. In the meantime, if you have questions about timing, readiness, or how Plaid's new user APIs might benefit your integration, contact your Plaid Account Manager.