type of either one_time or recurring. Recurring prices support flexible intervals, tiered pricing structures, and metered usage billing. Once a price is created, its core monetary fields are immutable — create a new price if you need to change the amount.
Create a price
POST /v1/prices
Creates a new price for an existing product.
Request parameters
string
required
The ID of the product this price belongs to (e.g.
prod_xxx).string
Three-letter ISO 4217 currency code (e.g.
ISK, EUR, USD). Defaults to the merchant’s default currency.string
required
Pricing type. One of
one_time or recurring.number
Price per unit in the currency’s smallest unit. Minimum value is
0. Required when tiers_mode is not set.object
Required when
type is recurring. Defines the billing interval.string
Enables tiered pricing. One of
graduated (each tier applies to usage within that range) or volume (the tier price applies to the entire quantity based on total usage).object[]
Array of tier objects. Required when
tiers_mode is set.string
ID of the meter to use for metered usage billing. Required when
recurring.usage_type is metered.number
Number of units included in the base price before metered usage billing begins.
string
GL account code to associate with this price for accounting export.
object
Set of key-value pairs you can attach to the price. Values must be strings.
- One-time price
- Recurring price
Response fields
string
required
Unique identifier for the price (e.g.
price_xxx).string
required
ID of the associated product.
string
required
Three-letter ISO 4217 currency code.
string
required
Pricing type. One of
one_time or recurring.number
Price per unit.
null when tiers_mode is set.object
Recurring billing configuration.
null for one-time prices.string
Tier mode:
graduated or volume. null if not using tiered pricing.object[]
Array of tier configuration objects.
null if not using tiered pricing.string
ID of the associated meter, if applicable.
boolean
required
Whether the price is currently active.
object
Key-value pairs attached to the price.
List prices
GET /v1/prices
Returns a paginated list of prices, ordered by creation date descending.
Query parameters
string
Filter prices by product ID.
string
Cursor for pagination. Pass the
id of the last price from the previous page to retrieve the next page.number
Maximum number of prices to return per page.
Response fields
object[]
required
Array of price objects.
boolean
required
Whether more prices exist beyond this page.
Retrieve a price
GET /v1/prices/{id}
Retrieves the details of an existing price.
Path parameters
string
required
The ID of the price to retrieve.
Response fields
Returns a price object. See create a price for the full field reference.Update a price
PATCH /v1/prices/{id}
Updates a price. Only active, accounting_code, and metadata can be modified after creation. To change the amount, currency, or interval, create a new price.
Path parameters
string
required
The ID of the price to update.
Request parameters
boolean
Set to
false to deactivate this price. Deactivating does not affect subscriptions already using it.string
Updated GL account code.
object
Updated metadata. Replaces the existing metadata object entirely.