Plaid logo
Docs
ALL DOCS

Changelog

Plaid logo
Docs
Plaid.com
Get API keys
Open nav

Plaid changelog

Track changes to the Plaid API and products

Overview

This changelog tracks updates to the Plaid API and major changes to the Plaid Dashboard, SDKs, functionality, and libraries. The changelog is updated at least once per month. Updates that affect only products or features in beta or limited release may not be reflected.

Link SDKs are released on a monthly cadence. For a complete record of Link SDK changes, see the GitHub changelogs: iOS, Android, React Native.

Plaid's officially supported libraries are updated on a monthly cadence. For details, see the GitHub changelogs: Python, Node, Ruby, Java, Go.

For a changelog view focused on new feature availability, see the Product Monthly Newsletter archives.

Subscribe to updates

Subscribe to this changelog via RSS.

February 2023
  • Added the persistent_account_id field (beta) to the account object. The persistent_account_id field identifies an account across multiple instances of the same Item, for use with Chase Items only, to simplify the management of Chase duplicate Item behavior. Access to this field is currently in closed beta; for more details, contact your Account Manager.

For Assets:

  • Beginning March 31, 2023, Assets will be updated to return investment, instead of brokerage, as the account type for investment accounts. brokerage may still be returned as an account sub-type under the investment account type.

For Income:

  • Added employment value to the products array for /link/token/create. Employment functionality is currently in closed beta; for more details, contact your account manager.

For Identity Verification:

  • Added redacted_at field in Identity Verification response and Documentary Verification Document component.

For Transfer:

  • Added the ability to specify a payment network (either ach or same-day-ach) when calling /transfer/intent/create.

For reseller partners:

  • Added income_verification and employment as supported products for /partner/customer/create. Employment functionality is currently in closed beta.
  • Added the ability to specify redirect_uris to /partner/customer/create.

For Virtual Accounts:

  • Increased the minimum length of the reference field for /wallet/transaction/execute to 6 characters.
  • To improve usability, added wallet_id field to /wallet/transaction/get and /wallet/transaction/list responses and to the WALLET_TRANSACTION_STATUS_UPDATE webhook.

For Payment Initiation:

  • Increased the minimum length of the reference field for /payment_initiation/payment/reverse to 6 characters.
  • To improve usability, added transaction_id field to the PAYMENT_STATUS_UPDATE webhook. This field will be populated when the payment status is PAYMENT_STATUS_SETTLED.
  • Removed the deprecated options.wallet_id field from /payment_initiation/payment/create and /payment_initiation/consent/create.

For Signal:

  • Added signal to the products array. For most current Signal customers, Signal is automatically enabled for all of their Items; over time, Signal will be moving to a model similar to Plaid's other products, in which customers instead initialize an Item with signal by adding signal to the products array when calling /link/token/create.
January 2023
  • Released Plaid React Native SDK 9.0.0 and Plaid iOS SDK 4.1.0. All iOS integrations must upgrade to these SDKs by June 30, 2023 in order to maintain support for Chase OAuth flows on iOS. Any integrations using webviews will also be required to update their webview handlers by June 30, 2023. For more details on required webview updates, see the OAuth Guide.
  • Released improvements to the Returning User Experience (RUX): removing the requirement to provide a verified time for phone numbers and email addresses, making RUX flows available for more products, and adding Institution Boosting, which automatically surfaces institutions a user has previously linked to Plaid in the Link flow. Enabling RUX can increase conversion by 8% or more. For more details on how to enable RUX, see Returning User Experience documentation.

For Auth:

  • Updated Same-Day Micro-deposits to make a single one-cent micro-deposit, which will not be reversed, rather than multiple micro-deposits. This change will reduce costs and decrease the incentive for micro-deposit fraud. No changes are required on the part of developers to support this change. This change will automatically be rolled out to customers over the next several months.

For Transfer:

  • Added expected_settlement_date field to the Transfer object.
  • Added funding_account_id field to clarify which account is used to fund a transfer. This field replaces the older origination_account_id.

For Virtual Accounts:

  • Added status field to Wallet schema.

For Partners:

  • Added PARTNER_END_CUSTOMER_OAUTH_STATUS_UPDATED webhook.
December 2022

For Auth:

  • Announced upcoming Instant Match automatic enrollment to existing customers who have not yet been enabled for Instant Match by default. Instant Match is a higher-converting experience for Link that expands Auth coverage to more end users. All customers will be enabled for Instant Match by default unless they opt-out by January 19, 2023, which they can do by contacting their Account Manager.

For Assets:

  • Released relay tokens to beta, along with associated endpoints /credit/relay/create, /credit/relay/get, /credit/relay/refresh, and /credit/relay/remove. Relay tokens support sharing of Asset Reports with customers' authorized service providers, such as underwriters.

For Income:

  • For /credit/bank_income/get, deprecated amount, iso_currency_code, and unofficial_currency_code at top levels in response in favor of new total_amounts field. This change enables more accurate reporting of income for users with income in multiple different currencies.
  • Added new possible values to rate_of_pay field returned by /credit/payroll_income/get: WEEKLY, BI_WEEKLY, MONTHLY, SEMI_MONTHLY, DAILY, and COMMISSION.
  • Added new pay_basis field to the response of /credit/payroll_income/get.

For Virtual Accounts:

  • Added FUNDS_SWEEP as a possible transaction type.

For Transfer:

  • Added /transfer/capabilities/get endpoint to provide information about which Items support Real Time Payments (RTP)
  • Added endpoints /transfer/originator/get, /transfer/originator/list, /transfer/originator/create, and /transfer/questionnaire/create to support marketplaces and reseller partners in creating and managing transfer originators.
  • Added the ability to create and manage recurring transfers. API changes include the new endpoints /transfer_recurring/create, /transfer/recurring/cancel, /transfer/recurring/get, and /transfer/recurring/list, as well as the new webhooks RECURRING_NEW_TRANSFER, RECURRING_TRANSFER_SKIPPED, and RECURRING_CANCELLED, and the test endpoints /sandbox/transfer/test_clock/create, /sandbox/transfer/test_clock/advance, /sandbox/transfer/test_clock/get, and /sandbox/transfer/test_clock/list.

For Enrich:

  • Added support for legacy categories, using categories from /categories/get, in addition to the newer personal_finance_category schema.
  • Renamed counterparty type delivery_marketplace to marketplace and added counterparty type payment_terminal.

For the Reseller Partner API:

  • Added /partner/customer/oauth_institutions/get endpoint to provide OAuth-institution registration information to Reseller Partners.
November 2022
  • Released Signal to general availability. Signal uses machine learning techniques to evaluate a proposed ACH transaction and determine the likelihood that the transaction will be reversed. It also provides fields and insights that you can incorporate into your own data models. By using the Signal API, you can release funds earlier to optimize your user experience while managing the risk of ACH returns.

For Auth:

  • Enabled Instant Match by default for most existing customers.

For Investments:

  • Notified customers that customers must hold a CGS (CUSIP Global Services) license to obtain CUSIP and ISIN data. Beginning in mid-September 2023, customers who do not have a record of this license with Plaid will receive null data in these fields. To maintain access to these fields, contact your Plaid Account Manager or investments-vendors@plaid.com.

For Payment Initiation:

  • Added the ability to initiate partial refunds by specifying an amount when calling /payment_initiation/payment/reverse. As part of this change, added amount_refunded field to /payment_initiation/payment/get and /payment_initiation/payment/list.
  • Added support for local payment schemes for all supported currencies (previously, only EUR and GBP local payment schemes been supported), and added the enum values LOCAL_DEFAULT and LOCAL_INSTANT to represent them. In the UK, the FASTER_PAYMENTS enum value has been replaced by LOCAL_DEFAULT.
  • Removed support for currencies CHF and CZK.

For Virtual Accounts:

  • For improved consistency, renamed /wallet/transactions/list to /wallet/transaction/list.
  • For clarity, renamed start_date to start_time in the /wallet/transaction/list response to reflect that the field is a date-time.

For Transfer:

  • Made account_id nullable in the responses for /transfer/authorization/create and /transfer/create.
  • Added deleted_at field to /payment_profile/get response.
  • Added refunds field to the transfer object.
  • Added refund_id to the transfer event object.

For Reseller Partners:

  • Added the /partner/customer/remove endpoint to disable customers who have not yet been enabled in Production.
October 2022
  • Added support for additional Link display languages: Danish, German, Estonian, Italian, Latvian, Lithuanian, Norwegian, Polish, Romanian, and Swedish.
  • Added support for additional countries: Denmark, Estonia, Latvia, Lithuania, Poland, Norway, and Sweden.
  • Added support for USER_INPUT_TIMEOUT as a value for force_error in the Sandbox custom user schema.

For Auth:

  • Enabled Instant Match by default for all new customers.

For Investments:

  • Added non-custodial wallet to account subtypes.
  • Added trade investment transaction subtype as a subtype of transfer investment transaction type

For Income:

  • To improve reliability and developer ease of use, modified the multi-Item Link flow for Bank Income to use the new /credit/sessions/get endpoint rather than relying on Link events.
  • Added Bank Income status USER_REPORTED_NO_INCOME.
  • Added Income support to /sandbox/public_token/create.
  • Deprecated VERIFICATION_STATUS_PENDING_APPROVAL.
  • Established a 128 character limit for the client_user_id field in the /user/create request.
  • Added institution_name and institution_id fields to /credit/payroll_income/get response.

For Virtual Accounts:

  • Added options.start_time and options.end_time to /wallet/transaction/list request.
  • Added last_status_update and payment_id field to wallet transactions.

For Payment Initiation:

  • Added transaction_id field to the payment object.

For Transfer (beta):

  • Added support for RTP networks
  • Added decision rationale code PAYMENT_PROFILE_LOGIN_REQUIRED and the ability to update a Payment Profile via update mode. Also added /sandbox/payment_profile/reset_login to test this new update mode flow in Sandbox.
  • To improve consistency, renamed LOGIN_REQUIRED decision rationale to ITEM_LOGIN_REQUIRED.
  • Deprecated origination_account_id from /transfer/authorization/create endpoint.
  • Added new originator_client_id field to support Third-Party Senders (TPS).

For Wallet Onboard (beta):

  • Released Wallet Onboard to beta.

For Partner Resellers:

  • Added Partner reseller endpoints to improve the experience of onboarding new customers for delegated diligence partners.
September 2022
  • Added the ability to simulate the USER_INPUT_TIMEOUT error in Sandbox.
  • Added the ability to specify account mask when using custom Sandbox users.

For Investments:

  • Added support for crypto wallet investment account subtype non-custodial wallet and crypto trade investment transaction type.
  • Made institution_price_as_of nullable.

For Transfer (beta):

  • Added support for client-side beacons. A beacon is now required when using Guarantee with web checkout flows.
  • Removed the idempotency_key from the /transfer/authorization/create response.
  • Added settled and swept_settled transfer events and event statuses.
  • Added standard_return_window and unauthorized_return_window fields to the Transfer object.

For Payment Initiation:

  • Added AUTHORISING wallet status.
  • Added recipient_id to the /wallet/create, /wallet/get, and /wallet/list responses.

For Assets:

  • Added days_to_include and options to /asset_report/get request.
August 2022
  • Released Identity Verification and Monitor to General Availability (GA).

  • Added issuing_region as a field in the extracted data for Identity Verification documents

  • Extended support for Android Link SDK versions prior to 3.5.0, iOS Link SDK versions prior to 2.2.2, and Link React Native SDK versions prior to 7.1.1. Previously, these SDK versions had been scheduled to be sunset on November 1, 2022. The sunset has been canceled and Plaid will now continue to support these versions past November 2022. We still recommend you use the latest SDK versions.

For Payment Initiation:

  • Added support for virtual accounts.
  • Added support for additional currencies PLN, SEK, DKK, NOK, CHF, and CZK.
  • Added PAYMENT_STATUS_SETTLED payment status.

For Income:

  • Removed verification fields from /credit/payroll_income/get and /income/verification/paystubs/get
  • Removed pull_id field from /credit/payroll_income/get
  • Added payroll institution to /credit/income/precheck
July 2022

For /link/token/create user object:

  • Deprecated the unused fields ssn, date_of_birth, and legal_name.
  • Added the name, address, and id_number parameters to support Identity Verification.

For Payment Initiation:

  • Added bin as a field under institution_metadata for /link/token/create.

For Income:

  • Add stated_income_sources as a field under income_verification for /link/token/create.
  • Add 1099 data to /credit/payroll_income/get response.
  • Deprecate paystubs.verification in /credit/payroll_income/get response.

For Transfer:

  • Add payment_profile_id to /transfer/authorization/create, /transfer/create, and /link/token/create and make account_number and access_token optional for /transfer/authorization/create and /transfer/create. These changes will support forthcoming Transfer functionality.
  • Add user_present a required field for /transfer/authorization/create when using Guarantee (beta)
  • Deprecated the no-longer-used swept and reverse_swept statuses.
June 2022

For Auth:

  • Launched Auth Type Select (formerly known in beta as Flexible Auth or Flex Auth) to all customers. Auth Type Select allows you to optionally route end users directly to micro-deposit-based verification, even if they are eligible for Instant Match or Instant Auth.

For Transfer:

  • Made Plaid Guarantee available in beta. Guarantee allows you to guarantee the settlement of an ACH transaction, protecting you against fraud and clawbacks.
  • Added TRANSFER_LIMIT_REACHED to Transfer authorization decision rationale codes.

For Income:

  • Added the accounts object with rate_of_pay data to the response for /credit/payroll_income/get.

For Payment Initiation (UK and Europe only):

  • Launched payment consents, which can be used to initiate payments on behalf of the user.
May 2022
  • Added Identity Verification and Monitor products in Early Access. Identity Verification checks the identity of users against identity databases and user-submitted ID documents, while Monitor checks user identities against government watchlists.

For Transactions:

  • Added /transactions/sync, which improves ease of use for handling transactions updates. While /transactions/get continues to be supported and there are no plans to discontinue it, all new and existing integrations are encouraged to use /transactions/sync instead of the older /transactions/get endpoint.

For Income:

  • Added employee_type and last_paystub_date to /credit/employment/get response.
  • Removed uploaded, created and APPROVAL_STATUS_APPROVED enum strings, as these are no longer used.
April 2022
  • Added the ability to default Link to highlighting a specific institution when launching Link, via the institution_data request field.

  • Launched Income to general availability. Income allows you to verify the income of end users for purposes of loan underwriting. Various updates were also made to Income interfaces prior to launch; Income beta customers have been contacted by their account managers with details on the differences between the beta API and the released API.

For Transactions:

  • Added /transactions/recurring/get, which provides information about recurring transaction streams that can be used to help your users better manage cash flow, reduce spending, and stay on track with bill payments. This endpoint is not included by default as part of Transactions; to request access to this endpoint and learn more about pricing, contact your Plaid account manager.

For Auth:

  • Added Highnote as a processor partner. For a full list of all Auth processor partners, see Auth Payment Partners.
March 2022
  • Introduced the Institution Select shortcut, which enables you to highlight a matching institution on the Institution Select pane.
  • Added institution_data request field to /link/token/create endpoint, which accepts routing_number.
  • Added match_reason to metadata field for MATCHED_SELECT_INSTITUTION, which indicates whether routing_number or returning_user resulted in a matched institution.
  • Added support for AUTH_UPDATE and DEFAULT_UPDATE webhooks to /sandbox/item/fire_webhook. Also added webhook_type parameter to this endpoint to support different DEFAULT_UPDATE webhooks for Transactions, Liabilities, and Investments.

For Income:

  • New set of API endpoints added and numerous updates made for General Availability release. Existing beta endpoints are still supported but marked as deprecated. For more details, see the Income docs and Income API reference.

For Auth:

  • Added Apex Clearing, Checkout.com, Marqeta, and Solid as processor partners.

For Payment Initiation:

  • Added support for the IT country code.
  • Added support for searching by consent_id to /institutions/search.

For Bank Transfer (beta):

  • Added wire_routing_number parameter to /bank_transfer/migrate_account.

For Transfer (beta):

  • Removed permitted decision for /transfer/authorization/create.
  • Added /sandbox/transfer/fire_webhook endpoint.
February 2022
  • For Transactions, released new personal finance categories to provide more intuitive and usable transaction categorization. Personal finance categories can now be accessed by calling /transactions/get with the include_personal_finance_category option enabled.
  • For Income, removed several unused fields and endpoints, including removing income_verification_id from /sandbox/income/fire_webhook and removing the /income/verification/summary/get and /income/verification/paystub/get endpoints.

For Transfer (beta):

  • Deprecated the idempotency_key parameter, as idempotency is now tracked via other identifiers.
  • Made repayment_id a required parameter for /transfer/repayment/return/list.
  • Made guaranteed fields required in Transfer endpoints.
January 2022
  • Added the ability to test the NEW_ACCOUNTS_AVAILABLE webhook via /sandbox/item/fire_webhook.
  • Updated /item/webhook/update to accept empty or null webhook URLs.
  • Updated institutions endpoints to accept null values as input for optional input fields.

For Transfer (beta):

  • Added publicly documented sweep endpoints to provide visibility into the status of Transfer sweeps.
  • Added iso_currency_code throughout the API to future-proof for multi-currency support (currently only USD is supported).
  • Made repayment_id required in /transfer/repayment/return/list endpoint

For Bank Transfer (beta):

  • Removed receiver_pending and receiver_posted from bank transfer event types, and removed receiver details from events.

For Payment Initiation:

  • Added payment scheme support for EU payments.
  • Removed scheme_automatic_downgrade from /payment_initiation/payment/create.
  • Updated webhooks to use new statuses.

For Income:

  • Added DOCUMENT_TYPE_NONE value for document type.
  • Made employer address fields no longer required in /income/verification/precheck.
December 2021
  • For Transfer, updated the schema definitions for /transfer/intent/get and /transfer/intent/create.
  • For Income, deprecated the status VERIFICATION_STATUS_DOCUMENT_REJECTED.
  • For Payment Initiation, added several new statuses, including PAYMENT_STATUS_REJECTED.
November 2021
  • For Payment Initiation, added the new status PAYMENT_STATUS_EXECUTED and renamed emi_account_id to wallet_id.
  • For /asset_report/get, added the fields merchant_name and check_number to the Transactions schema, to match the Transactions schema already being used by the Transactions API.
  • For Income, added the new status VERIFICATION_STATUS_PENDING_APPROVAL.
October 2021

Multiple changes to the Income API:

  • Added the ability to verify submitted paystubs against a user's transaction history by adding the income_verification.access_tokens parameter to /link/token/create and updating /income/verification/paystubs/get to return the income verification status for each paystub.
  • Added a precheck_id field to /income/verification/create and an income_verification.precheck_id field to /link/token/create to fully support use of the /income/verification/precheck endpoint to check whether a given user is supportable by the Income product.
  • Extensive changes to the paystub schema returned by /income/verification/paystubs/get, including adding new fields and deprecating old ones. For details, contact your Plaid Account Manager.
  • Officially deprecated the income_verification_id in favor of the Link token-based income verification flow.
  • Added an item_id field to the income_verification webhook and corresponding /sandbox/income/fire_webhook endpoint.
  • Added employer.url and employer.address fields to the /income/verification/precheck endpoint.
  • Added a doc_id field to /income/verification/taxforms/get.

Other changes:

  • For institutions endpoints, marked the status enum as deprecated in favor of the more detailed breakdown object.
  • Added DE as a supported country to support Payment Initiation use cases.
September 2021
  • Released Account Select v2, including the new NEW_ACCOUNTS_AVAILABLE webhook, for improved end-user sharing controls. All implementations must migrate to Account Select v2 by March 2022.
  • Added the ability to check which types of Auth coverage an institution supports via a new auth_metadata object now available from Institutions endpoints
  • Added the /income/verification/precheck endpoint to check whether a given user is supportable by the Income product.
  • Added initiated_refunds field to /payment_initiation/payment/get and /payment_initiation/payment/list to show refunds associated with payments.
  • Added fields include_personal_finance_category_beta and personal_finance_category_beta to Transactions endpoints as part of a beta for new Transactions categorizations. To request beta access, contact transactions-feedback@plaid.com
  • Removed some fields (direction, custom_tag, iso_currency_code, receiver_details) and receiver event types from Bank Transfer (beta) endpoints and made ach_class a required field.
  • Added support for the currency type Bitcoin SV.
August 2021
  • Released UX improvements to Link.
  • Launched Plaid OpenAPI schema and new, auto-generated client libraries for Python, Node, Java, Ruby, and Go to General Availability.
  • Added the ability to use custom Sandbox data with the Investments product.
  • For /transactions/get, added the check_number field.
  • Updated the list of ACH partners, adding Treasury Prime.
  • For /processor/balance/get, added min_last_updated_datetime option to request.
  • Multiple schema and endpoint updates for the Bank Transfers (beta) and Income (beta) products. Beta participants can receive details on updates from their account managers.
July 2021
  • Added new webhook for Deposit Switch.
  • Added optional country_code and options parameters to deposit switch creation endpoints, as well as new values for the state enum in the response.
  • For Deposit Switch, added additional response fields employer_name, employer_id, institution_name, institution_id, and switch_method.
  • Updated the list of ACH partners, including adding Alpaca, Astra, and Moov.
  • For /transactions/get, added the fields include_original_description and original_description in the request and response, respectively.
June 2021
  • Chase now supports real-time payments and same-day ACH for OAuth-based connections.
  • Added new Investment account subtypes life insurance, other annuity, and other insurance.
  • Added new error codes INSTITUTION_NOT_ENABLED_IN_ENVIRONMENT, INSTITUTION_NOT_FOUND, and PRODUCT_NOT_ENABLED. These codes replace more generic errors that could appear when working with OAuth institutions or API-based institution connections.
  • Began rolling out improvements to reduce balance latency.
  • Released a new representation of cryptocurrency, to represent crypto holdings more similarly to investments, rather than foreign currency, in order to match how most popular institutions represent crypto. institution_price will now reflect the USD price of the currency, as reported by the institution, and institution_value will reflect the value of the holding in USD. close_price and close_price_as_of will now be populated. iso_currency_code will be set to USD and unofficial_currency_code will be set to null.
May 2021
  • 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 Initiation product, launched Modular Link, allowing further UI customization.
  • For the Payment Initiation product, added an options object to /payment_initiation/payment/create to support restricting payments originating from specific accounts.
  • For the Liabilities product, added a DEFAULT_UPDATE webhook 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: OPEN, EXIT, HANDOFF, SELECT_INSTITUTION, ERROR, but the remaining are informational.
April 2021
  • In order to support the beta generated client libraries, added the ability to provide client_id and secret via headers instead of as request parameters.
  • Added the min_last_updated_datetime parameter to /accounts/balance/get to handle institutions that do not always provide real-time balances, and added the corresponding LAST_UPDATED_DATETIME_OUT_OF_RANGE error.
  • Removed last_statement_balance from 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_KEYS error instead of an INTERNAL_SERVER_ERROR, in order to match documented behavior.
March 2021
  • Launched Plaid Income (beta) for verifying income and employment.
  • Added the ability to specify an end_date for standing orders in the Payment Initiation product.
  • Updated list of active processor partners.
  • Added webhook to notify of new Bank Transfers events.
  • Added /sandbox/bank_transfer/fire_webhook endpoint to test Bank Transfers webhooks.
  • Added auth_flow parameter to /link/token/create to support Flexible Auth (beta).
  • Updated the /payment_initiation/recipient/create endpoint to accept address.country_code (preferred) instead of address.country (accepted, but deprecated).
  • Removed the MATCHED_INSTITUTION_SELECT transition view event, after consolidating the returning user institution select view.
  • Added the SELECT_BRAND onEvent callback, after shipping a change that groups institution login portals within the same institution brand.
  • Stopped sending IS_MATCHED_USER and IS_MATCHED_USER_UI because these events are duplicates. You should use MATCHED_CONSENT and MATCHED_SELECT_INSTITUTION to identify when a returning user is recognized and chooses an institution that we pre-matched.
February 2021
  • Added additional payment error codes.
  • Added the UK-only fields authorized_datetime and datetime fields to the transaction object, for more detailed information on when the transaction occurred.
  • Added update_type field to the item object. This field will be used to support upcoming connectivity improvements to accounts with multi-factor authentication.
  • Added optional ssn and date_of_birth fields to the user object in /link/token/create to support upcoming functionality enhancements.
  • Released an OpenAPI file describing the Plaid API.
January 2021
  • 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 INVALID_INPUT errors instead.
December 2020
  • Made Bank Transfers (beta) available for testing in the Development environment.
  • Added investments_updates to the status object returned by Institutions endpoints.
November 2020
  • Removed some internal-only, pre-beta products from appearing in the /institutions/get_by_id response.
  • Restored the /item/public_token/create and /payment_initiation/payment/token/create endpoints 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.
October 2020
  • Released API version 2020-09-14. See the version changelog for details.
  • Added support for mortgages to /liabilities/get.
  • Released Bank Transfers to closed beta.
  • To improve consistency with other error types, changed the error type for Bank Transfers errors from BANK_TRANSFER to BANK_TRANSFER_ERROR.
  • Added the fields user.phone_number, user_email.address, user.phone_number_verified_time and user.email_address_verified_time to /link/token/create to support the new Returning User Experience, which allows users a more seamless Link flow.
August 2020
  • 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.
July 2020
  • 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.

June 2020
  • Added a new merchant_name field to the /transactions/get endpoint 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.
May 2020
  • 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.
April 2020
  • 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.
March 2020
  • Added the ability to filter by account_subtype, allowing you to further optimize the Link flow.
  • Added the HOLDINGS: DEFAULT_UPDATE and INVESTMENT_TRANSACTIONS: DEFAULT_UPDATE webhooks, which will fire each time data has successfully refreshed for Holdings and Investments Transactions.
February 2020
  • Added /transactions/refresh, which enables you to pull a user’s transactions on demand.
  • Added /webhook_verification_key/get, which allows you to verify the authenticity of incoming webhooks.
January 2020
  • Added store_number, authorized_date, and payment_channel to the /transactions/get response.
  • Added the investment_transactions.subtypes field to provide more granular detail about the tax, performance, and fee impact of investments transactions.
November 2019
  • Added the status.investments.last_successful_update and status.investments.last_failed_update fields to the data returned by /item/get.
  • Launched official support for Link on React Native with a new SDK, bringing unified support to React Native apps.
October 2019
  • Added the status.item_logins.breakdown data to /institutions/get_by_id and the Developer Dashboard.
  • Added the routing_numbers field to the Institutions object. You can also filter institutions via the options.routing_numbers field in each Institutions API endpoint.
September 2019
  • Added support for credit card details to the Liabilities product.
  • Added Canada-specific account subtypes, including RRSP, RESP, and TFSA, to the Investments product.
August 2019
  • Among numerous other improvements to Liabilities, such as expanded data access, added a new loan_type: cancelled to the Liabilities product.
July 2019
  • 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.
June 2019
  • Launched Investments, which allows developers, fintech apps, and financial institutions to create a holistic view of their customers’ investments.
  • Added the status.transactions_updates field, exposing Transactions health to both the /institutions/get endpoint and the Dashboard.
May 2019
  • We enhanced the /identity/get endpoint to now return account-level identity information within the accounts object 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.
March 2019
  • 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 /sandbox/item/fire_webhook endpoint.
February 2019
  • 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.
November 2018
  • 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.
September 2018
  • We added the /asset_report/refresh endpoint, so you can create a new Asset Report with the latest account balances and transactions for a borrower, based on the old report.
August 2018
  • We added account filtering, which gives you the ability to exclude unnecessary accounts from appearing in an Asset Report.
June 2018
  • Added historical account balances to the PDF version of Asset Reports, bringing them closer in line with the core JSON endpoint.
May 2018
  • 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/create endpoint, which enables the creation of Items in the Sandbox environment directly via the API (without Link).
April 2018
  • Officially launched the Assets product. Assets is approved by Fannie Mae for Day 1 Certainty™ asset verification.
March 2018
  • 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.
February 2018
  • Released Assets as a beta product.
Was this helpful?
Developer community
GitHub
GitHub
Stack Overflow
Stack Overflow
YouTube
YouTube
Twitter
Twitter
Discord
Discord