Driftwatch

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

Breakingdirection flip: their tools call this safe

value can now return "INSURANCE_UNDERWRITING", "SECONDARY_INVESTOR"

What changed

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

Affects this value on ConsumerReportPermissiblePurpose reachable from 5 operations.

New values: INSURANCE_UNDERWRITING, SECONDARY_INVESTOR.

can now return "INSURANCE_UNDERWRITING", "SECONDARY_INVESTOR"

Who is affected

Code that reads Plaid's ConsumerReportPermissiblePurpose objects, used by 5 Plaid operations.

Before and after

WhereBeforeAfter
ConsumerReportPermissiblePurpose"ACCOUNT_REVIEW_CREDIT", "ACCOUNT_REVIEW_NON_CREDIT", "ELIGIBILITY_FOR_GOVT_BENEFITS", "EXTENSION_OF_CREDIT", "LEGITIMATE_BUSINESS_NEED_OTHER", "LEGITIMATE_BUSINESS_NEED_TENANT_SCREENING", "WRITTEN_INSTRUCTION_OTHER", "WRITTEN_INSTRUCTION_PREQUALIFICATION""ACCOUNT_REVIEW_CREDIT", "ACCOUNT_REVIEW_NON_CREDIT", "ELIGIBILITY_FOR_GOVT_BENEFITS", "EXTENSION_OF_CREDIT", "INSURANCE_UNDERWRITING", "LEGITIMATE_BUSINESS_NEED_OTHER", "LEGITIMATE_BUSINESS_NEED_TENANT_SCREENING", "SECONDARY_INVESTOR", "WRITTEN_INSTRUCTION_OTHER", "WRITTEN_INSTRUCTION_PREQUALIFICATION"
CraReportGetReport.consumer_report_permissible_purpose"ACCOUNT_REVIEW_CREDIT", "ACCOUNT_REVIEW_NON_CREDIT", "ELIGIBILITY_FOR_GOVT_BENEFITS", "EXTENSION_OF_CREDIT", "LEGITIMATE_BUSINESS_NEED_OTHER", "LEGITIMATE_BUSINESS_NEED_TENANT_SCREENING", "WRITTEN_INSTRUCTION_OTHER", "WRITTEN_INSTRUCTION_PREQUALIFICATION""ACCOUNT_REVIEW_CREDIT", "ACCOUNT_REVIEW_NON_CREDIT", "ELIGIBILITY_FOR_GOVT_BENEFITS", "EXTENSION_OF_CREDIT", "INSURANCE_UNDERWRITING", "LEGITIMATE_BUSINESS_NEED_OTHER", "LEGITIMATE_BUSINESS_NEED_TENANT_SCREENING", "SECONDARY_INVESTOR", "WRITTEN_INSTRUCTION_OTHER", "WRITTEN_INSTRUCTION_PREQUALIFICATION"

Code that breaks

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

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