Prerequisites
Before creating a package, you must have:- Your usage events connected to Metronome
- A billable metric
- A product
- A rate card
Create a package
Create packages using the/packages/create endpoint. Package creation is nearly identical to contract creation, with the following exceptions:
- Packages are customer agnostic. Do not pass a
customer_idor a customer billing configuration when creating a package - Packages are time-relative. Set
starting_at_offsetanddurationfor relative lengths instead ofstarting_atandending_beforedates. - Packages support aliases. Similar to rate card aliases, packages support aliases that aid in programmatically managing new package rollouts.
- a $10 recurring sign-up credit applied to input and output tokens for the first 3 months
- a $10 monthly subscription fee
- Standard input and output token rates
- Give the package an internally meaningful Name (for example, Starter Plan - October 2025)
- Add an optional Description (for example, Standard Starter Plan pricing as of October 1, 2025)
- Optionally Add aliases. Aliases can be used in place of Metronome-generated package ID when provisioning contracts via API. Read more about how aliases help you launch new pricing while maintaining your integration infrastructure.
- Set billing terms. Set the default duration of the contract, net payment terms, and billing provider.
- Choose a rate card. This will determine the rates used for each package.
- Add terms. Add commits, credits, subscriptions, threshold billing, or scheduled charges to the package. All contracts provisioned with a package will contain the defined terms. For the above Starter Plan, add a recurring sign-up credit and monthly subscription fee.
- Add overrides. Add overrides to any rate associated with the selected rate card. You can set overrides with relative or absolute dates. All contracts provisioned with a package will contain the defined overrides.
- Review the rate card and click Save to create the completed card.
INFOUse
starting_at_offset on package terms to define starting_at
relative to contract start date and duration to define ending_before relative
to the starting_at_offset. For terms with point-in-time dates without a
duration, use date_offsetProvision customers with a package
Provision a customer using the/contracts/create endpoint.
To provision a customer with the example Starter Plan package, execute the following API call:
Update package pricing
Packages currently cannot be edited after creation. To introduce a new package version, create a new package and set the alias schedule. For example, Gnome AI decides to update their Starter Plan packaging so that new customers no longer receive the /$10 sign-up credit as of Feb 1, 2026. To model this scenario in Metronome, create a new package with the same Starter Plan alias:View and manage packages
To view existing packages, go to Offering → Packages in the Metronome app or call/packages/list in the API.
For easier cohort management, view customers associated with a given package in the Metronome app or call /packages/listContractsonPackage in the API.
Set custom fields on package terms
When creating a package, users can set custom fields on package terms. Custom fields on package terms will be passed down to associated contracts. Package custom fields cannot be updated after set, but custom fields set by packages at the contract-level can be updated using/customFields/setValues.
Currently, Metronome supports custom fields for: package_commit, package_credit, package_scheduled_charge, and package_subscription.