Skip to content
Hardcount
Run it locally
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.

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.
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.