Driftwatch

Plaid / Plaid API (2020-09-14) /

Breakingdirection flip: their tools call this safe

value can now return "protect_transactions"

What changed

Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.

Affects this value on Products reachable from 30 operations.

New value: protect_transactions.

can now return "protect_transactions"

Who is affected

Code that reads Plaid's Products objects, used by 30 Plaid operations.

Before and after

WhereBeforeAfter
Products"assets", "auth", "balance", "balance_plus", "beacon", "cra_base_report", "cra_cashflow_insights", "cra_income_insights", "cra_lend_score", "cra_monitoring", "cra_network_insights", "cra_partner_insights", "cra_plaid_credit_score", "credit_details", "employment", "identity", "identity_match", "identity_verification", "income", "income_verification", "investments", "investments_auth", "layer", "liabilities", "pay_by_bank", "payment_initiation", "processor_identity", "processor_payments", "profile", "protect_linked_bank", "recurring_transactions", "signal", "standing_orders", "statements", "transactions", "transactions_refresh", "transfer""assets", "auth", "balance", "balance_plus", "beacon", "cra_base_report", "cra_cashflow_insights", "cra_income_insights", "cra_lend_score", "cra_monitoring", "cra_network_insights", "cra_partner_insights", "cra_plaid_credit_score", "credit_details", "employment", "identity", "identity_match", "identity_verification", "income", "income_verification", "investments", "investments_auth", "layer", "liabilities", "pay_by_bank", "payment_initiation", "processor_identity", "processor_payments", "profile", "protect_linked_bank", "protect_transactions", "recurring_transactions", "signal", "standing_orders", "statements", "transactions", "transactions_refresh", "transfer"

Code that breaks

switch (response) {
  // existing branches …
  // no branch for "protect_transactions"
  default:
    throw new Error("unexpected value");
}

Based on Plaid’s published API specification. How severity is decided.