Pre-1.0 · one maintainer · Stripe and cards only · no SDKs (client libraries) yet · no production users yet. Docs describe v0.9.1 (29 Oct 2026) · What’s new →
The plan price object
One usage price of a plan: a meter, the events it takes (dimension_match) and its rate. The price takes the plan’s currency. Its id stays the same when its rate changes; its meter and dimension_match are its identity and never change.
Fields
Section titled “Fields”| Field | Type | Always present | What it means |
|---|---|---|---|
id |
string | Yes | |
tenant_id |
string | No | |
plan_id |
string | Yes | |
meter_id |
string | Yes | |
dimension_match |
object | Yes | The labels an event must carry for this price to take it, for example {"model": "claude-opus-4.5", "token_type": "input"}. {} takes every event of the meter. Of the prices whose labels an event carries, the one with the most labels takes it. |
mode |
enum | Yes | As on PriceShape. One of: per_unit, graduated, package. |
unit_amount_cents |
string | Yes | Price per unit in cents, as a decimal string. |
tiers |
array of Price tier | Yes | Empty ([]) unless mode is graduated. |
package_size |
integer (int64) | Yes | |
package_amount_cents |
string | Yes | Price of one package in cents, as a decimal string. |
created_at |
string (date-time) | Yes | |
updated_at |
string (date-time) | Yes | When the content shown was saved. |
Price tier
Section titled “Price tier”| Field | Type | Always present | What it means |
|---|---|---|---|
up_to |
integer (int64) | Yes | The tier’s upper bound in whole units: the tier prices the quantity above the previous tier’s bound, up to this one. null on the last tier, which has no upper bound. Only the last tier is null, and it must be. Can be null. |
unit_amount_cents |
string | Yes | Price per unit in cents in this tier, as a decimal string. |