Driftwatch

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

Breakingdirection flip: their tools call this safe

value can now return "payment", "refund"

What changed

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

Affects this value on TransactionCode reachable from 6 operations.

New values: payment, refund.

can now return "payment", "refund"

Who is affected

Code that reads Plaid's TransactionCode objects, used by 6 Plaid operations.

Before and after

WhereBeforeAfter
TransactionCode"adjustment", "atm", "bank charge", "bill payment", "cash", "cashback", "cheque", "direct debit", "interest", "purchase", "standing order", "transfer", null"adjustment", "atm", "bank charge", "bill payment", "cash", "cashback", "cheque", "direct debit", "interest", "payment", "purchase", "refund", "standing order", "transfer", null

Code that breaks

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

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