Driftwatch

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

Breakingdirection flip: their tools call this safe

type can now return "TRANSFER_OUT"

What changed

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

Affects type on WalletTransaction reachable from 2 operations.

New value: TRANSFER_OUT.

can now return "TRANSFER_OUT"

Who is affected

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

Before and after

WhereBeforeAfter
WalletTransaction.type"ACCOUNT_FUNDING", "AUTO_REFUND", "BANK_TRANSFER", "FUNDS_SWEEP", "PAYOUT", "PIS_PAY_IN", "RECALL", "REFUND", "RETURN""ACCOUNT_FUNDING", "AUTO_REFUND", "BANK_TRANSFER", "FUNDS_SWEEP", "PAYOUT", "PIS_PAY_IN", "RECALL", "REFUND", "RETURN", "TRANSFER_OUT"
WalletTransactionGetResponse.type"ACCOUNT_FUNDING", "AUTO_REFUND", "BANK_TRANSFER", "FUNDS_SWEEP", "PAYOUT", "PIS_PAY_IN", "RECALL", "REFUND", "RETURN""ACCOUNT_FUNDING", "AUTO_REFUND", "BANK_TRANSFER", "FUNDS_SWEEP", "PAYOUT", "PIS_PAY_IN", "RECALL", "REFUND", "RETURN", "TRANSFER_OUT"

Code that breaks

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

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