Commet
  • Pricing
Log InTry out
Introduction

Subscription Events

subscription.createdsubscription.activatedsubscription.canceledsubscription.updatedsubscription.plan_changedsubscription.cancellation_scheduledsubscription.cancellation_revokedsubscription.plan_change_scheduledsubscription.plan_change_revokedsubscription.past_due

Trial Events

trial.startedtrial.convertedtrial.expiredtrial.will_endtrial.checkout_ready

Checkout Events

checkout.ready

Payment Events

payment.receivedpayment.failedpayment.recoveredpayment.refundedpayment.disputedpayment.dispute_resolved

Invoice Events

invoice.createdinvoice.upcominginvoice.overdueinvoice.voided

Payment Method Events

payment_method.attachedpayment_method.updated

Customer Events

customer.createdcustomer.updatedcustomer.state_changed

Credits & Balance Events

credits.grantedcredits.purchasedcredits.lowcredits.depletedcredits.expiredbalance.topped_upbalance.lowbalance.depleted

Quota & Usage Events

quota.threshold_reachedquota.exceededusage.recorded

Seat Events

seats.updatedseats.limit_reached

Add-on Events

addon.activatedaddon.deactivated

Payout Events

payout.availablepayout.createdpayout.paidpayout.failed
DocumentationKnowledge BaseBuild with AIAPI ReferenceWebhooks

addon.activated

An add-on was activated on a subscription.

Payload

All webhook payloads follow a consistent top-level structure with event-specific data nested within the data object.

subscriptionIdstring

The subscription ID.

customerIdstring

The customer ID. Returns your externalId if you provided one when creating the customer, otherwise returns the Commet publicId.

addonobject

The add-on: id and name.

featureCodestring

The feature the add-on unlocks or extends.

proratedPricenumber

The prorated amount charged at activation in rate scale (10000 = $1.00). Zero when nothing was charged.

currencystring

The subscription currency.

{
  "event": "addon.activated",
  "timestamp": "2026-06-18T09:12:00.000Z",
  "organizationId": "org_abc123",
  "mode": "live",
  "apiVersion": "2026-06-10",
  "data": {
    "subscriptionId": "sub_1a2b3c4d",
    "customerId": "user_123",
    "addon": {
      "id": "addon_5e6f7g8h",
      "name": "Extra Storage"
    },
    "featureCode": "storage",
    "proratedPrice": 25000,
    "currency": "usd"
  }
}

When this fires

When an add-on activation completes — via POST /subscriptions/{id}/addons or a customer portal purchase. Any prorated activation charge has already succeeded; proratedPrice is the amount charged (zero when the remaining period was free).

customer.state_changed fires alongside it with trigger addon_activated, reflecting the feature the add-on unlocked.

Use it to enable the add-on's feature in your app the moment it is paid.

How is this guide?

seats.limit_reached

A seat change reached the plan's included seat limit.

addon.deactivated

An add-on was deactivated from a subscription.