Driftwatch

Stripe / Stripe API /

Breakingdirection flip: their tools call this safe

type can now return "final_payment_failure", "first_payment_failure"

What changed

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

Affects type on subscriptions_resource_paused_status_details_subscription reachable from 467 operations.

New values: final_payment_failure, first_payment_failure.

can now return "final_payment_failure", "first_payment_failure"

Who is affected

Code that reads Stripe's subscriptions_resource_paused_status_details_subscription objects, used by 467 Stripe operations.

Before and after

WhereBeforeAfter
subscriptions_resource_paused_status_details_subscription.type"pause_requested", "system", "trial_end_without_payment_method""final_payment_failure", "first_payment_failure", "pause_requested", "system", "trial_end_without_payment_method"

Code that breaks

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

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