Skip to main content
POST
Create

Authorizations

Authorization
string
header
required

API key authentication

Body

application/json
invoiceDisplayName
string
required

Line item label shown on customer invoices. Sample values: 'Claude Token Consumption', 'Storage Usage (GB)', 'Inference API Calls', 'Image Generation Count', 'Training Compute Hours', 'Data Transfer (TB)'

paymentTerm
enum<string>
required

Billing timing preference: 'in_advance' (prepaid — charged upfront or drawn from a prepaid commitment) or 'in_arrears' (charged at period end).

Available options:
in_arrears,
in_advance
properties
StandardPriceProperties · object
required

Standard pricing model

billableMetricId
string

The unique identifier for the billable metric referred to by this price. Either billableMetricId or feeId must be provided.

Pattern: ^bm_[a-zA-Z0-9]+$
feeId
string

The unique identifier for the fee referred to by this price. Either billableMetricId or feeId must be provided.

Pattern: ^fee_[a-zA-Z0-9]+$
pricingUnitId
string

Denominate this metered price in a pricing unit (credits) instead of real currency. When set, the price draws down the customer's credit pool for that unit. Only valid on metered prices that carry a metered feature. Omit for a normal currency price.

Pattern: ^pu_[a-zA-Z0-9]+$
model
enum<string>

Pricing calculation model. Required for billable metrics, optional for fees (defaults to 'standard'). 'standard' and 'volume' are accepted; fees only support 'standard'. For percentage/revenue-share use 'standard' with a unit-price multiplier. Legacy prices using 'dynamic'/'percentage' stay readable and billable but cannot be created.

Available options:
standard,
volume
invoiceDisplayGroup
string | null

Presentation only. Prices sharing this value, within one billing period, print as a single row on the rendered invoice PDF and are described by this string. Every member still bills its own line item on the ledger, this API and the compliance document. Requires invoiceRateLabel. Sample values: 'Cross Border Fees', 'FX Fees'

invoiceRateLabel
string | null

This price's contribution to the combined row's rate cell, joined with ' + ' across the group. Only read for a price that sets invoiceDisplayGroup. Sample values: '1.00%', '0.30 GBP', '2.5%'

billingCadence
string | null

ISO 8601 duration for recurring charges (e.g., 'P1M' for monthly, 'P1Y' for yearly) or 'P0D' for one-time charges. Required for fees, optional for billable metrics. Sample values: 'P0D' for one-time, 'P1M' for monthly recurring, 'P1Y' for yearly recurring

feature
object

Optional feature to associate with this price

grantDiscountEnabled
boolean
default:false

When true, grants applied to a subscription will discount usage charged by this price. Only supported for standard metered prices.

isObligation
boolean
default:false

A fixed amount owed whole rather than a per-period rate. An obligation is not prorated over a partial first period: when a subscription starts before its billing anchor, no truncated stub is billed and the first charge is the full amount at the next anchor. An obligation also refuses an interval boundary that falls strictly inside one of its own billing periods, since part of an amount owed whole is not a thing to bill. Defaults to false, which is a rate and is today's behaviour for every price. Not supported on a metered price, whose amount resolves from usage at close.

quantity
integer
default:1

Quantity for invoice line items. Total per period = quantity × unitPrice. Only supported for fee prices; metered prices derive quantity from usage. Defaults to 1.

Required range: x >= 0

Response

Price created successfully

id
string
required

Unique identifier for a price

Pattern: ^price_[a-zA-Z0-9]+$
object
enum<string>
default:price
required
Available options:
price
merchantId
string
required

The merchant organization that owns this price, derived from the associated fee or billable metric. Present on single-price reads.

Pattern: ^org_[a-zA-Z0-9]+$
createdAt
string<date-time>
required
invoiceDisplayName
string
required
paymentTerm
enum<string>
required
Available options:
in_arrears,
in_advance
properties
StandardPriceProperties · object
required

Standard pricing model

updatedAt
string<date-time>
required
quantity
integer
required

Quantity for invoice line items. Total per period = quantity × unitPrice. Only supported for fee prices; metered prices derive quantity from usage. Defaults to 1.

Required range: x >= 0
billableMetricId
string

Unique identifier for a billable metric

Pattern: ^bm_[a-zA-Z0-9]+$
feeId
string

The unique identifier for the fee referred to by this price. Present when price is linked to a fee.

Pattern: ^fee_[a-zA-Z0-9]+$
pricingUnitId
string

The pricing unit this price is denominated in (credits). Present when the price draws down a credit pool instead of charging real currency.

Pattern: ^pu_[a-zA-Z0-9]+$
billingCadence
string | null

ISO 8601 duration. 'P0D' for one-time, 'P1M' for monthly, 'P1Y' for yearly. Required for fees, optional for billable metrics. Defaults to plan's billingCadence if not specified.

invoiceDisplayGroup
string | null

Presentation only. Prices sharing this value, within one billing period, print as a single row on the rendered invoice PDF and are described by this string. Every member still bills its own line item on the ledger, this API and the compliance document. Requires invoiceRateLabel. Sample values: 'Cross Border Fees', 'FX Fees'

invoiceRateLabel
string | null

This price's contribution to the combined row's rate cell, joined with ' + ' across the group. Only read for a price that sets invoiceDisplayGroup. Sample values: '1.00%', '0.30 GBP', '2.5%'

model
enum<string>

Pricing model of a price as returned by the API. Includes the legacy models ('dynamic', 'percentage') retained for existing prices; 'standard' and 'volume' can be created (see PriceModelInput).

Available options:
standard,
dynamic,
volume,
percentage
features
object[]

Features associated with this price

grantDiscountEnabled
boolean
default:false

When true, grants applied to a subscription will discount usage charged by this price. Only supported for standard metered prices.

isObligation
boolean
default:false

A fixed amount owed whole rather than a per-period rate. An obligation is not prorated over a partial first period: when a subscription starts before its billing anchor, no truncated stub is billed and the first charge is the full amount at the next anchor. An obligation also refuses an interval boundary that falls strictly inside one of its own billing periods, since part of an amount owed whole is not a thing to bill. Defaults to false, which is a rate and is today's behaviour for every price. Not supported on a metered price, whose amount resolves from usage at close.