Breaking changes
Removes legacy usage-based billing Breaking changes
What’s new
We’ve removed support for legacy usage-based billing. You can no longer create a price with a usage_type of metered without a specified meter. We’ve also removed the billing_thresholds from the subscription endpoints.
We’ve removed billing_thresholds and aggregate_usage from all API endpoints. You can no longer create legacy usage-based prices or attach existing legacy usage-based prices to quotes, upcoming invoices, or subscriptions.
A legacy usage-based price is defined as a price with a usage_type of metered without a specified meter.
Why is this a breaking change?
- Removed billing _ thresholds from Subscription endpoints.
- Removed aggregate _ usage from Price endpoints.
- Using usage _ type of metered without a specified meter now returns an error on Price creation.
- Removed support for attaching prices of usage _ type=metered without a set meter to Subscriptions, Subscription Schedules and Quotes.
Impact
Follow our migration guide to update your integration to use meters.
Using the legacy UsageRecords API via RawRequest
You can continue using the legacy UsageRecords API after upgrading your SDK by calling it via RawRequest with a pinned pre-Basil API version. See Upgrade your SDK without migrating from usage records.
Changes
Upgrade
- View your current API version in Workbench.
- If you use an SDK, upgrade to the corresponding SDK version for this API version.
- If you don’t use an SDK, update your API requests to include Stripe-Version: 2025-03-31. basil
- Upgrade the API version used for webhook endpoints .
- Test your integration against the new version.
- If you use Connect, test your Connect integration .
- In Workbench, perform the upgrade . You can roll back the version for 72 hours.
Learn more about Stripe API upgrades.
