Track changes to the Plaid API and products
This changelog tracks updates to the Plaid API, Plaid Link, and major changes to the Plaid Dashboard, SDKs, functionality, and libraries. The changelog is updated at least once per month. Updates released in the current month may not be reflected.
- Chase now supports real-time payments and same-day ACH for OAuth-based connections.
- Added new Investment account subtypes
other annuity, and
- Added new error codes
PRODUCT_NOT_ENABLED. These codes replace more generic errors that could appear when working with OAuth instutitions or API-based institution connections.
- Began rolling out improvements to reduce balance latency.
- Released a new representation of cryptocurrency to the Sandbox, to represent crypto holdings more similarly to investments, rather than foreign currency, in order to match how most popular institutions represent crypto.
institution_pricewill now reflect the USD price of the currency, as reported by the institution, and
institution_valuewill reflect the value of the holding in USD.
close_price_as_ofwill now be populated.
iso_currency_codewill be set to
unofficial_currency_codewill be set to
- Improved the UI for Instant Match and enabled it for all "Pay as you go" customers. Customers with a monthly contract who would like to use Instant Match should contact their Plaid Account Manager.
- Removed the requirement to be enabled by Support in order to request an Asset Report with Insights.
- For the Payment Initation product, launched Modular Link, allowing further UI customization.
- For the Payment Initiation product, added an
/payment_initiation/payment/createto support restricting payments originating from specific accounts.
- For the Liabilities product, added a
DEFAULT_UPDATEwebhook to indicate changes to liabilities accounts.
- Made Item Debugger and improved Institution Status available to 100% of developers.
- Added Link Consent pane customization.
- Added the ability to use wildcards to specify a subdomain in an OAuth redirect URI.
- Clarified that the following Link onEvent callbacks are stable:
ERROR, but the remaining are informational.
- In order to support the beta generated client libraries, added the ability to provide
secretvia headers instead of as request parameters.
- Added the
/accounts/balance/getto handle institutions that do not always provide real-time balances, and added the corresponding
last_statement_balancefrom the official documentation for
/liabilities/get, as it was not ever returned.
- Fixed the case of submitting an invalid client ID to return an
INVALID_API_KEYSerror instead of an
INTERNAL_SERVER_ERROR, in order to match documented behavior.
- Launched Plaid Income (beta) for verifying income and employment.
- Added the ability to specify an
end_datefor standing orders in the Payment Initiation product.
- Updated list of active processor partners.
- Added webhook to notify of new Bank Transfers events.
/sandbox/bank_transfer/fire_webhookendpoint to test Bank Transfers webhooks.
/link/token/createto support Flexible Auth (beta).
- Updated the
/payment_initiation/recipient/createendpoint to accept
address.country_code(preferred) instead of
address.country(accepted, but deprecated).
- Removed the
MATCHED_INSTITUTION_SELECTtransition view event, after consolidating the returning user institution select view.
- Added the
SELECT_BRANDonEvent callback, after shipping a change that groups institution login portals within the same institution brand.
- Stopped sending
IS_MATCHED_USER_UIbecause these events are duplicates. You should use
MATCHED_SELECT_INSTITUTIONto identify when a returning user is recognized and chooses an institution that we pre-matched.
- Added additional payment error codes.
- Added the UK-only fields
datetimefields to the
transactionobject, for more detailed information on when the transaction occurred.
update_typefield to the
itemobject. This field will be used to support upcoming connectivity improvements to accounts with multi-factor authentication.
- Added optional
date_of_birthfields to the
/link/token/createto support upcoming functionality enhancements.
- Released an OpenAPI file describing the Plaid API.
- Launched Deposit Switch (beta) for transferring direct deposits from one account to another.
- Improved error handling to treat some invalid input errors that were previously treated as 500 errors as
- Made Bank Transfers (beta) available for testing in the Development environment.
statusobject returned by Institutions endpoints.
- Removed some internal-only, pre-beta products from appearing in the
- Restored the
/payment_initiation/payment/token/createendpoints to API version 2020-09-14 to avoid disrupting update mode for end users on older mobile SDKs that do not support Link tokens. These endpoints are still deprecated, and it is recommended you update mobile apps to the latest SDKs as soon as possible.
- Released API version 2020-09-14. See the version changelog for details.
- Added support for mortgages to
- Released Bank Transfers to closed beta.
- To improve consistency with other error types, changed the error type for Bank Transfers errors from
- Added the fields
/link/token/createto support the new Returning User Experience, which allows users a more seamless Link flow.
- Introduced standing orders to Payment Initiation for our UK and Europe customers. If applicable, your users will now be able to make recurring scheduled payments with a single authorization.
- Expanded access to full Auth coverage to more developers. If you would like to use micro-deposit based verification and don't have access to it, contact your Plaid Account Manager.
- Updated Link error messages to provide more actionable instructions for end users, making resolution troubleshooting easier.
- Made account filtering available across all our products, so you can configure the Link flow to guide end users in selecting relevant institutions and accounts.
Added the ITEM: USER_PERMISSION_REVOKED webhook, which will notify you when a user contacts Plaid directly to delete their data or change their data sharing preferences with your app.
Released Link tokens, the new preferred way to use Link, replacing the public key. To learn how to migrate your application to use Link tokens, see the Link token migration guide.
- Added a new
merchant_namefield to the
/transactions/getendpoint for the US and Canada, providing clearer and more consistent merchant names for 95% of existing transactions.
- Added the PAYMENT_INITIATION:PAYMENT_STATUS_UPDATE webhook, which pushes instant notifications when payment status changes for the UK Payment Initiation product.
- Added the ability to create payment recipients via sort codes and account numbers, not just IBANs.
- We launched a new open finance platform called Plaid Exchange that enables financial institutions to build a consumer-permissioned data access strategy and strengthen the ability of end users to reliably access their financial data.
- Launched Payment Initiation in the UK, which offers an easy way for users to fund their accounts, make purchases, and pay invoices—all from their favorite apps or websites.
- Added the ability to filter by
account_subtype, allowing you to further optimize the Link flow.
- Added the
INVESTMENT_TRANSACTIONS: DEFAULT_UPDATEwebhooks, which will fire each time data has successfully refreshed for Holdings and Investments Transactions.
/transactions/refresh, which enables you to pull a user’s transactions on demand.
/webhook_verification_key/get, which allows you to verify the authenticity of incoming webhooks.
- Added the
investment_transactions.subtypesfield to provide more granular detail about the tax, performance, and fee impact of investments transactions.
- Added the
status.investments.last_failed_updatefields to the data returned by
- Launched official support for Link on React Native with a new SDK, bringing unified support to React Native apps.
- Added the
/institutions/get_by_idand the Developer Dashboard.
- Added the
routing_numbersfield to the Institions object. You can also filter institutions via the
options.routing_numbersfield in each Institutions API endpoint.
- Added support for credit card details to the Liabilities product.
- Added Canada-specific account subtypes, including RRSP, RESP, and TFSA, to the Investments product.
- Among numerous other improvements to Liabilities, such as expanded data access, added a new
cancelledto the Liabilities product.
- We launched Liabilities, which enables developers to access a feed of standardized student loan details from the largest U.S. servicers including Navient, Nelnet, FedLoan, Great Lakes, and many more.
- Launched Investments, which allows developers, fintech apps, and financial institutions to create a holistic view of their customers’ investments.
- Added the
status.transactions_updatesfield, exposing Transactions health to both the
/institutions/getendpoint and the Dasbhaord.
- We enhanced the
/identity/getendpoint to now return account-level identity information within the
accountsobject where available.
- We released API version 2019.05.29 to enable European institution coverage and provide nomenclature and schema updates required by Identity and future products.
- We updated the institutions endpoints so you can now retrieve bank logos, colors, and website URLs to use to customize your in-app experience.
- We enabled triggering and testing of webhooks on demand via the new
- We launched new features for Auth, enabling developers to authenticate accounts from any bank or credit union in the U.S. Link automatically guides end-users to the best way to authenticate their account based on the bank they select.
- Added a new Insights feature, which provides cleaned and categorized transaction data in an Asset Report. In addition to transaction categories, lenders will be able to retrieve merchant names and locations for transactions to use in building risk models.
- Improved the Link experience by informing users about connectivity issues with banks before connecting their account. When banks are experiencing significant issues, users will temporarily be directed to connect their account at a different bank to reduce frustration and drop-off during the onboarding process.
- We added the
/asset_report/refreshendpoint, so you can create a new Asset Report with the latest account balances and transactions for a borrower, based on the old report.
- We added account filtering, which gives you the ability to exclude unnecessary accounts from appearing in an Asset Report.
- Added historical account balances to the PDF version of Asset Reports, bringing them closer in line with the core JSON endpoint.
- We released the 2018-05-22 version of the Plaid API.
- We enabled distinct API secrets to now be be set for the Sandbox, Development, and Production environments.
- Added the
/sandbox/public_token/createendpoint, which enables the creation of Items in the Sandbox environment directly via the API (without Link).
- Officially launched the Assets product. Assets is approved by Fannie Mae for Day 1 Certainty™ asset verification.
- Rolled out several Assets features, including webhooks for Asset Report generation and full support for Audit Copy token generation and Fannie Mae’s Day 1 Certainty™ program, while improving existing features like pending transaction support in PDF reports.
- Released Assets as a beta product.