Driftwatch

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

Breakingdirection flip: their tools call this safe

value can now return "ACCOUNT_INVALID", "AUTHENTICATION_FAILED"

What changed

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

Affects this value on WalletTransactionFailureReason reachable from 2 operations.

New values: ACCOUNT_INVALID, AUTHENTICATION_FAILED.

can now return "ACCOUNT_INVALID", "AUTHENTICATION_FAILED"

Who is affected

Code that reads Plaid's WalletTransactionFailureReason objects, used by 2 Plaid operations.

Before and after

WhereBeforeAfter
WalletTransactionFailureReason"CANCELLED", "EXPIRED", "EXTERNAL_SYSTEM", "INVALID", "UNKNOWN""ACCOUNT_INVALID", "AUTHENTICATION_FAILED", "CANCELLED", "EXPIRED", "EXTERNAL_SYSTEM", "INVALID", "UNKNOWN"

Code that breaks

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

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