Mint a draft version
Mint a new plan version in draft status from a price diff. The diff references existing prices by id: create prices beforehand with POST /prices, then add, remove, or replace them here. Minting does not publish the version and does not change which version the plan bills from — publish and set-default are a separate PATCH on the version.
Authorizations
API key authentication
Path Parameters
Unique identifier for a plan
^plan_[a-zA-Z0-9]+$Body
A reference-by-id price diff applied to the plan's current default version to mint a draft. Every id references an existing price created via POST /prices; inline price definitions are not accepted. An empty body clones the current default version verbatim.
Prices to add to the version. Each must not already be on the current version.
Unique identifier for a price
^price_[a-zA-Z0-9]+$Prices to remove. Each must be on the plan's current default version.
Unique identifier for a price
^price_[a-zA-Z0-9]+$Prices to swap in place, preserving the slot's lineage. replacesPriceId must be on the current version; withPriceId is the new price.
Response
The newly minted draft version
A single plan version, including its price slots. Extends the list summary with the version's prices for draft review.
Unique identifier for a plan version
^pver_[a-zA-Z0-9]+$plan_version Monotonic version number within the plan, starting at 1.
x >= 1Lifecycle status of the version.
draft, published, archived Whether this version is the plan's current default (live) version.
Number of committed-status subscriptions pinned to this version at creation time. Not a live-billing cohort.
x >= 0When this version was last modified. Optimistic-concurrency token: read this value and echo it back as an If-Match header on a draft-price-mutation request to reject the write (412) if the draft changed since this read.
The price slots that make up this version.
When this version was published. Absent for draft versions.
The version this one was cloned from at mint time. Absent for versions minted before this field existed or through the legacy fused write path. Used to detect a superseded base when moving the default.
^pver_[a-zA-Z0-9]+$