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
- Provider notice (2026-09-30)
- https://docs.stripe.com/api/subscriptions/update?api-version=2026-09-30.endive
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