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 on or after December 10, 2025, or a new Income integration on or after August 17, 2026, you'll use these updated APIs to build your integration.
If you are an existing customer using Plaid Check or Multi-Item Link before December 10, 2025, or Plaid Income Verification before August 17, 2026, here's what you need to know:
- Your existing integration remains fully supported. Plaid is not removing support and your integration will continue to function as expected.
- Optional migration is now available for Plaid Check, Plaid Income Verification, and Multi-Item Link customers. See the migration guide for step-by-step instructions.
What's new
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.
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. - For Income customers, the
INCOME_VERIFICATION,INCOME_VERIFICATION_RISK_SIGNALS, andINCOME_VERIFICATION_REFRESH_RECONNECT_NEEDEDwebhooks have been renamed toUSER_INCOME_VERIFICATION,USER_INCOME_VERIFICATION_RISK_SIGNALS, andUSER_INCOME_VERIFICATION_REFRESH_RECONNECT_NEEDED.
Existing customers who are migrating will receive both the new and old sets of webhooks in parallel during migration, allowing you to cut over at your own pace.
Who gets the new user APIs
New Plaid Check and Multi-Item Link integrations use the new User API behavior by default as of December 10, 2025. New Income integrations use the new behavior by default as of August 17, 2026. Existing integrations remain on the old behavior to avoid breaking changes:
Plaid Check and Multi-Item Link customers who used
/user/createin either Sandbox or Production before December 10, 2025 are kept on the old User API behavior unless they migrate.Plaid Income Verification customers who used
/user/createin either Sandbox or Production before August 17, 2026 are kept on the old User API behavior unless they migrate.
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 with Plaid Check or Multi-Item Link beginning December 10, 2025 or later should use the new user_id based implementation currently described in the docs.
New clients integrating with Plaid Income Verification beginning August 17, 2026 or later should use the new user_id based implementation currently described in the docs.
Existing users of other Plaid products who are integrating with Plaid Check, Multi-Item Link, or Plaid Income Verification for the first time on or after the applicable date should use the new user_id based implementation currently described in the docs. They may also need to update their client library versions.
Existing clients already using Plaid Check, Multi-Item Link, or Plaid Income Verification products can now optionally migrate to the new User APIs. Migration is recommended but not required — your existing integration will continue to function. See the migration guide for step-by-step instructions.
If you have questions about migration readiness or how the new user APIs might benefit your integration, contact your Plaid account manager.
