Create Subscription Version
When you need to change a subscription (upgrade, downgrade, add features, etc.), you create a new version. When creating a new version, we use a differential approach. Here you specify the effective date of the version, and any additions, replacements, or removals of prices you want to make.
Each version is associated with 1-many prices, such that the hierarchy is, for example:
- Subscription
- Version 1
- Price A
- Price B
- Version 2
- Price B (continuation)
- Price C (replaces Price A)
- Version 1
Version Lifecycle
Each subscription version goes through a clear lifecycle:
- Draft: Initial state after creation, before activation
- Pending: Scheduled for future activation (for changes with future effective dates)
- Active: Currently effective version
- Inactive: Previously active version that has been superseded
- Cancelled: A version that was created but never activated
A subscription maintains a timeline of these versions, ensuring a complete audit trail of subscription changes over time.
Request
The effective date for the new subscription version. This is when the specified changes will take effect.
Contains the differential changes for the new subscription version, including additions, replacements, and removals of prices.
Response
The unique identifier for the subscription version.
The date and time when this subscription version becomes effective.
The date and time when this subscription version ends, if applicable. This field is null
if no end date is set.
The current status of the subscription version. For example, pending
indicates that the version is awaiting activation.
An array of pricing items included in this subscription version. Each item represents either a single price modification or a bundled set of prices.
An array of thresholds applied to this subscription version. Thresholds define spending or usage limits over a specified interval.
An array of discounts applied to this subscription version. If no discounts are applied, this array will be empty.