Driftwatch

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

Breakingdirection flip: their tools call this safe

value can now return "INTERNAL_ERROR", "STARTED"

What changed

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

Affects this value on CreditSessionBankEmploymentStatus reachable from 1 operation.

New values: INTERNAL_ERROR, STARTED.

can now return "INTERNAL_ERROR", "STARTED"

Who is affected

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

Before and after

WhereBeforeAfter
CreditSessionBankEmploymentStatus"APPROVED", "EMPLOYER_NOT_LISTED", "NO_EMPLOYERS_FOUND""APPROVED", "EMPLOYER_NOT_LISTED", "INTERNAL_ERROR", "NO_EMPLOYERS_FOUND", "STARTED"
CreditSessionBankIncomeStatus"APPROVED", "NO_DEPOSITS_FOUND", "USER_REPORTED_NO_INCOME""APPROVED", "INTERNAL_ERROR", "NO_DEPOSITS_FOUND", "STARTED", "USER_REPORTED_NO_INCOME"

Code that breaks

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

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