Skip to content

Stripe 2026-09-30.endive requires an object for billing_cycle_anchor on subscription updates ​

Provider
Stripe
Endpoint
POST /v1/subscriptions/{id}/**
Effective
2026-09-30
Severity
medium
Change
required-field
Status
unverified (secondary reports only; SHAPI does not open fix PRs for it)

What changed ​

From API version 2026-09-30.endive, billing_cycle_anchor on Subscription update and resume (and subscription_details.billing_cycle_anchor on Invoice create_preview) takes an object with a type instead of the strings now and unchanged, so requests sending the old string form fail.

What to do ​

When moving to 2026-09-30.endive, send billing_cycle_anchor: {type: 'now'} instead of 'now' and {type: 'unchanged'} instead of 'unchanged' when updating or resuming a subscription. For a preview invoice of a new subscription anchored to a timestamp, send {type: 'timestamp', timestamp: <unix seconds>}.

Sources ​

Check your code ​

bash
npx shapi-cli scan .

shapi scan lists the call sites this change affects; shapi fix repairs them test-first when the advisory has an automatic fix. All advisories · Markdown · OSV · JSON