Skip to main content
Add-ons are optional features with their own price and consumption model that customers activate on their subscriptions. They extend a subscription without modifying the base plan — think SSO, SMS channels, or premium support.

How add-ons work

Each add-on maps to exactly one feature. When activated, that feature becomes available through featureAccess.get, usage.check, and featureAccess.list — no different from a plan feature.

Consumption models

Add-ons declare their own consumption model. Boolean add-ons are compatible with any plan. All other models require matching the plan’s model.
Credits and balance add-ons consume from the plan’s shared pool — there’s no separate pool for the add-on. If the pool runs out, the add-on’s feature is blocked too.

Create add-ons in the dashboard

Go to Add-ons and click Create Add-on. Configure the name, base price, feature, and consumption model. For metered add-ons, set included units and overage rate. For credits, set the credit cost per unit. The feature dropdown only shows features not already assigned to another add-on. Once created, the add-on is sold on the current version of every compatible plan, or of the plans you choose in planIds.

Availability by subscription status

Add-ons can be activated on any subscription with a payment method:

Add-ons and plan versions

Each plan version lists the add-ons it sells, with their prices. Creating or editing an add-on publishes a new version of each plan that sells it:
  • New customers get the add-on and its price on the plan’s current version.
  • Existing subscribers keep the add-ons and prices of their version. Activating an add-on their version doesn’t sell returns 409 addon_unavailable until you move them to a version that sells it.
  • A subscription with an active add-on can’t move to a version that doesn’t sell it until the add-on is removed. A plan move can remove it at renewal with removeAddonIds.
  • A canceled subscription that is reactivated returns on the latest version of what was bought, and the add-ons that version doesn’t sell are deactivated.
Send planIds when you create or update an add-on to choose the plans that sell it. Left out on create, or empty, every plan sells it, including plans created later. Removing a plan returns 409 addon_has_activations while a subscription of that plan has the add-on active.

Manage add-ons

Add-ons are managed through the dashboard, the customer portal, or the API. Activate or deactivate an add-on on a subscription via the SDK. Activation charges the prorated amount for the current period and the add-on is active once the payment is confirmed: the response’s status is active, or processing when the payment method confirms later, such as Pix. Activating it again while that payment is processing returns 409. Deactivation stops the feature immediately with no refund.
REST equivalents: POST /api/v1/subscriptions/{id}/addons and DELETE /api/v1/subscriptions/{id}/addons/{addonId}. Add-ons themselves support full CRUD through the addons resource: commet.addons.list, get, create, update, and delete.

Feature access

Add-on features work exactly like plan features — no special handling needed:

Billing behavior

Activation charge

When a customer activates a $50/month add-on on day 11 of a 31-day period (20 days remaining): The charge goes through the subscription’s payment provider immediately with its own invoice. The add-on activates when the payment is confirmed; a declined payment voids the invoice and leaves the add-on inactive.

Recurring invoices

Starting from the next full billing cycle, the add-on base price appears as a separate line in the plan’s invoice:

Multi-currency

Add-on prices are defined in USD. For non-USD subscriptions, the price is converted using the plan’s exchange rate — the same mechanism used for plan base prices. A plan version can also set an add-on’s price by hand for a country in the Regional prices tab.

Customer portal

Customers can self-service add-ons from the portal:
  • Available add-ons — see the compatible add-ons their plan version sells, with pricing
  • Activate — confirmation dialog with prorated charge preview
  • Active add-ons — manage active add-ons
  • Deactivate — instant, no refund
Add-ons whose feature already exists in the customer’s plan are hidden from the portal automatically.

Learn more