Create a plan
Creates a new plan with optional base price and feature configurations.
Use this to programmatically create pricing plans. See How plans work for concepts.
Plan Configuration
A plan consists of:- Base price - optional recurring charge for the plan itself
- Items - feature configurations defining what customers get and how they’re billed
Configuring Items
Each item in theitems array configures a single feature. There are two types:
Consumable features (API calls, messages, credits):
- Set
includedfor free units that reset each period - Set
reset.intervalto define when balance resets toincluded - Optionally add
pricefor usage beyond included amount
- Set
includedfor the base allocation - Do NOT set
reset- usage persists across billing cycles - Use
billing_method: "prepaid"for upfront payment per unit
Multiple Currencies
To sell a plan in currencies beyond your organization’s default, setadditional_currencies on the base price, a feature price, or each tier of a tiered price. Amounts are explicit per currency - no exchange rates are applied - and tier boundaries stay the same across currencies. See Plans for how customers are matched to a currency.
Common Use Cases
Body Parameters
Response
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Body
The ID of the plan to create.
1^[a-zA-Z0-9_-]+$Display name of the plan.
1Group identifier for organizing related plans. Plans in the same group are mutually exclusive.
Optional description of the plan.
If true, this plan can be attached alongside other plans. Otherwise, attaching replaces existing plans in the same group.
If true, plan is automatically attached when a customer is created. Use for free tiers.
Base recurring price for the plan. Omit for free or usage-only plans.
Feature configurations for this plan. Each item defines included units, pricing, and reset behavior.
Plans offered as assignable licenses under this plan. The full set replaces existing links.
Free trial configuration. Customers can try this plan before being charged.
Miscellaneous plan-level configuration flags.
Plan-level billing controls used as customer defaults.
Arbitrary key-value metadata defined by you for your own use (e.g. UI copy, feature highlights). Values can be any JSON-serializable value. Shared across all versions of the plan.
Response
OK
A plan defines a set of features, pricing, and entitlements that can be attached to customers.
Unique identifier for the plan.
Display name of the plan.
Optional description of the plan.
Group identifier for organizing related plans. Plans in the same group are mutually exclusive.
Version number of the plan. Incremented when plan configuration changes.
Whether this is an add-on plan that can be attached alongside a main plan.
If true, this plan is automatically attached when a customer is created. Used for free plans.
Base recurring price for the plan. Null for free plans or usage-only plans.
Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature.
Unix timestamp (ms) when the plan was created.
Environment this plan belongs to ('sandbox' or 'live').
sandbox, live Whether the plan is archived. Archived plans cannot be attached to new customers.
Deprecated. Use variant_details.base_plan_id instead. If this is a variant, the ID of the base plan it was created from.
Miscellaneous plan-level configuration flags.
Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan.
Free trial configuration. If set, new customers can try this plan before being charged.
Details about how this variant relates to its latest base plan.
Plan-level billing controls used as customer defaults.