What Plaid changed, 27 April 2026 to 30 October 2026
330 operations became 351. 6 were removed, 31 were newly deprecated, 27 were added, and 1 request field became required.
Read from plaid/plaid-openapi at 22052fb and 09fe9d7 (version 2020-09-14_1.792.1). Generated 31 October 2026 by the specification parser the APIBreak Action uses, applied to Plaid's published specification.
Plaid publishes its API description in plaid/plaid-openapi, in a file named after API version 2020-09-14. This page reads that file, 2020-09-14.yml. Version policy and shutdown dates are not in the specification, so this page does not state them; it reads the deprecated flag on each operation.
Removed from the specification
- POST /beta/transactions/v1/enhance removed in 496cde4 · 15 October 2026
- POST /item/handle_fraud_report removed in 5c2920e · 10 June 2026
- POST /link_delivery/create removed in 6c2f0ff · 2 October 2026
- POST /link_delivery/get removed in 6c2f0ff · 2 October 2026
- POST /network_insights/report/get removed in 5c2920e · 10 June 2026
- POST /sandbox/transfer/repayment/simulate removed in 496cde4 · 15 October 2026
Newly deprecated in this window
A deprecation is the notice period. It is the cheapest moment to act and the easiest one to miss. This list compares operations present at the baseline.
- POST /bank_transfer/balance/get deprecated in e3d940a · 22 July 2026
- POST /bank_transfer/cancel deprecated in e3d940a · 22 July 2026
- POST /bank_transfer/create deprecated in e3d940a · 22 July 2026
- POST /bank_transfer/get deprecated in e3d940a · 22 July 2026
- POST /bank_transfer/list deprecated in e3d940a · 22 July 2026
- POST /bank_transfer/migrate_account deprecated in e3d940a · 22 July 2026
- POST /bank_transfer/sweep/get deprecated in e3d940a · 22 July 2026
- POST /bank_transfer/sweep/list deprecated in e3d940a · 22 July 2026
- POST /beacon/account_risk/v1/evaluate deprecated in e3d940a · 22 July 2026
- POST /beacon/duplicate/get deprecated in e3d940a · 22 July 2026
- POST /beacon/report/create deprecated in e3d940a · 22 July 2026
- POST /beacon/report/get deprecated in e3d940a · 22 July 2026
- POST /beacon/report/list deprecated in e3d940a · 22 July 2026
- POST /beacon/report_syndication/get deprecated in e3d940a · 22 July 2026
- POST /beacon/report_syndication/list deprecated in e3d940a · 22 July 2026
- POST /beacon/user/account_insights/get deprecated in e3d940a · 22 July 2026
- POST /beacon/user/create deprecated in e3d940a · 22 July 2026
- POST /beacon/user/get deprecated in e3d940a · 22 July 2026
- POST /beacon/user/history/list deprecated in e3d940a · 22 July 2026
- POST /beacon/user/review deprecated in e3d940a · 22 July 2026
- POST /beacon/user/update deprecated in e3d940a · 22 July 2026
- POST /cra/monitoring_insights/get deprecated in 7d1446f · 1 September 2026
- POST /cra/monitoring_insights/subscribe deprecated in 7d1446f · 1 September 2026
- POST /cra/monitoring_insights/unsubscribe deprecated in 7d1446f · 1 September 2026
- POST /credit/bank_income/webhook/update deprecated in 496cde4 · 15 October 2026
- POST /employers/search deprecated in e3d940a · 22 July 2026
- POST /item/public_token/create deprecated in 8a493a5 · 22 July 2026
- POST /processor/bank_transfer/create deprecated in e3d940a · 22 July 2026
- POST /sandbox/bank_income/fire_webhook deprecated in 8a493a5 · 22 July 2026
- POST /sandbox/bank_transfer/fire_webhook deprecated in e3d940a · 22 July 2026
- POST /sandbox/bank_transfer/simulate deprecated in e3d940a · 22 July 2026
Deprecated as of the current specification (48)
Everything the vendor currently marks deprecated, whether or not it changed recently. The vendor has flagged each of these for possible removal, with or without a date attached.
- POST /bank_transfer/balance/get
- POST /bank_transfer/cancel
- POST /bank_transfer/create
- POST /bank_transfer/get
- POST /bank_transfer/list
- POST /bank_transfer/migrate_account
- POST /bank_transfer/sweep/get
- POST /bank_transfer/sweep/list
- POST /beacon/account_risk/v1/evaluate
- POST /beacon/duplicate/get
- POST /beacon/report/create
- POST /beacon/report/get
- POST /beacon/report/list
- POST /beacon/report_syndication/get
- POST /beacon/report_syndication/list
- POST /beacon/user/account_insights/get
- POST /beacon/user/create
- POST /beacon/user/get
- POST /beacon/user/history/list
- POST /beacon/user/review
- POST /beacon/user/update
- POST /categories/get
- POST /cra/monitoring_insights/get
- POST /cra/monitoring_insights/subscribe
- POST /cra/monitoring_insights/unsubscribe
- POST /credit/bank_income/refresh
- POST /credit/bank_income/webhook/update
- POST /credit/payroll_income/precheck
- POST /employers/search
- POST /employment/verification/get
- POST /income/verification/create
- POST /income/verification/documents/download
- POST /income/verification/paystubs/get
- POST /income/verification/precheck
- POST /income/verification/taxforms/get
- POST /item/public_token/create
- POST /payment_initiation/payment/token/create
- POST /payment_profile/create
- POST /payment_profile/get
- POST /payment_profile/remove
- POST /processor/bank_transfer/create
- POST /protect/event/get
- POST /protect/event/send
- POST /sandbox/bank_income/fire_webhook
- POST /sandbox/bank_transfer/fire_webhook
- POST /sandbox/bank_transfer/simulate
- POST /sandbox/payment_profile/reset_login
- POST /transfer/balance/get
Entries without a link were already marked deprecated at 22052fb · 27 April 2026, the baseline compared here.
Request fields removed from the specification
The current specification no longer lists these request fields, which the baseline did. A caller that still sends one is sending a parameter the new version does not define; whether Plaid rejects or ignores it at runtime is not something a specification diff can show, and what it means for an integration depends on how Plaid versions — see the note at the top of this page.
- POST /protect/compute no longer lists model_inputs.sdk (application/json)
- POST /protect/event/send no longer lists event.protect_session_id (application/json)
- POST /protect/event/send no longer lists protect_session_id (application/json)
- POST /user/products/terminate no longer lists products (application/json)
Request fields that became required
Only JSON request bodies are compared. A top-level field applies whenever the operation is sent a JSON body. A nested field applies only inside each object containing it that is sent (for an array, each element), so a caller that never sends that object, or sends an empty array, is not affected.
- POST /user/products/terminate — now requires reason_code
Plaid API questions
Every answer below is computed from the snapshot above, and each links to the Plaid specification it was read from.
- Which Plaid API endpoints were removed recently?
- 6 operations were removed from 2020-09-14.yml in plaid/plaid-openapi between 27 April 2026 and 30 October 2026: POST /beta/transactions/v1/enhance, POST /item/handle_fraud_report, POST /link_delivery/create, POST /link_delivery/get, POST /network_insights/report/get and POST /sandbox/transfer/repayment/simulate. The file went from 330 to 351 operations.
- Source: plaid/plaid-openapi, the two commits compared
- Which Plaid API endpoints are deprecated?
- As of 30 October 2026, 2020-09-14.yml in plaid/plaid-openapi marks 48 operations deprecated: POST /bank_transfer/balance/get, POST /bank_transfer/cancel, POST /bank_transfer/create, POST /bank_transfer/get, POST /bank_transfer/list, POST /bank_transfer/migrate_account, POST /bank_transfer/sweep/get, POST /bank_transfer/sweep/list and 40 more (all listed above). 31 compared operations (paired with a baseline operation) gained the deprecated flag between 27 April 2026 and 30 October 2026. 17 were already deprecated at the baseline.
- Source: plaid/plaid-openapi, the two commits compared
- Did any Plaid API request fields become required?
- 1 JSON request field became required between 27 April 2026 and 30 October 2026: reason_code on POST /user/products/terminate. It is a top-level field of the JSON request body, so it applies whenever a JSON body is sent: a JSON body that leaves it out no longer matches the current specification.
- Source: plaid/plaid-openapi, the two commits compared
- Where is the Plaid OpenAPI specification?
- In the plaid/plaid-openapi repository on GitHub. This page reads 2020-09-14.yml at commit 09fe9d7 (version 2020-09-14_1.792.1), dated 30 October 2026.
- Source: plaid/plaid-openapi on GitHub
The Action does not check Plaid yet
It checks GitHub REST and Stripe. If you want your CI to check the Plaid endpoints you call, say so in an issue, because requests like that decide which vendor the Action should support next.