Skip to main content
An addon is created empty, then configured with charges, entitlements, and credit grants through the same APIs plans use. Only the charges are required before the addon can be attached to a subscription.

Via API

Response

Request fields

Add charges

Charges are prices created with entity_type: "ADDON". They use the same billing models, periods, and invoice cadences as plan prices. A fixed monthly charge billed in advance:
A usage-based charge metered against a feature, billed in arrear:
Points specific to addon charges:
  • display_name defaults to the addon’s name on fixed charges.
  • min_quantity on a fixed charge becomes the default quantity when the addon is attached.
  • A charge’s billing period does not have to match the subscription’s. At attach time, a charge is included when its period equals the subscription period or divides evenly into it, and one-time charges are always included. See compatibility rules.
  • POST /v1/prices/bulk creates several charges in one call.

Add entitlements

Entitlements are created with entity_type: "ADDON" and carry the same fields as plan entitlements:
aggregation_mode controls stacking when the customer also holds a plan allowance on the same feature: additive merges both into one pool, parallel keeps a separate window per source. parallel works only for grant-based allowances; on a legacy allowance it fails with Parallel buckets only exist for grant-based entitlements; legacy entitlements always aggregate additively. Entitlement grants covers stacking, grant quotas, and the other fields in detail.
Every attachment adds its own copy of the addon’s entitlements. A subscription holding the same addon twice gets twice the allowance.

Add credit grants

A credit grant on an addon is a template. Nothing is granted until the addon is attached to a subscription; at that point the grant is cloned to the subscription and credits the customer’s prepaid wallet.
  • scope: "ADDON" requires addon_id, and the addon must be published.
  • start_date and end_date are not allowed on addon-scoped grants; the association’s dates apply instead.
  • All grants on one addon must share the same conversion_rate and topup_conversion_rate.

Manage existing addons

Deleting is a soft delete: the addon’s status becomes archived and it can no longer be attached. Only an addon that no subscription has ever used can be archived. Any active association, or any line item left by a past attachment, blocks the delete, which fails with Addon is currently active on one or more subscriptions. Remove it from all subscriptions before deleting.

Via dashboard

1

Create the addon

Go to Product catalog > Add-ons and click New add-on.
The Add-ons list under Product catalog with the New add-on button
Fill in the Name, an optional Description, and the Lookup key (it fills in from the name and cannot be changed later), then click Create add-on. You land on the new addon’s page.
The Create add-on form with a name, description, and lookup key
2

Add charges

On the Charges tab, click Add charges. Choose Fixed or Usage and click Continue, fill in the currency, billing period, billing model, and price (a usage charge also needs its Metered feature), and click Create charge. Repeat for each charge.
3

Add entitlements

On the Entitlements tab, click Add entitlement and select a Feature. For a metered feature, set the Value type, the Value (or Unlimited), and the Usage resets window. Advanced holds Window starts and Stacking (Additive or Parallel). Click Create entitlement.
4

Add credit grants

On the Credit grants tab, click Add credit grant. Choose One-time or Recurring, set the Name, Credits, Expiry, and Priority (and optionally a Conversion rate), and click Create credit grant.
The addon page groups its configuration in tabs: Charges, Entitlements, Credit grants, Contracts, and Information.
An addon page on the Charges tab with one fixed charge
To archive from the dashboard, select Archive in the ⋯ menu on the addon’s page, or Archive add-on in the list’s row menu. The list shows published addons by default; set its Status filter to Archived to see archived ones.

Next step

Add the addon to a subscription at creation time or through the subscription modification API.