Commet
  • Pricing
Log InTry out
Introduction

Subscription Events

subscription.createdsubscription.activatedsubscription.canceledsubscription.updatedsubscription.plan_changed

Payment Events

payment.receivedpayment.failed

Invoice Events

invoice.created
DocumentationKnowledge BaseBuild with AIAPI ReferenceWebhooks

subscription.updated

Fired when subscription details change

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.

externalIdstring

Your external ID for this customer. Only included if you set an externalId when creating the customer.

statusstring

Current status. One of: draft, pending_payment, trialing, active, paused, past_due, canceled, expired. Grant access only when trialing or active.

canceledAtstring | null

ISO 8601 datetime when the subscription was canceled.

cancelReasonstring | null

The reason for cancellation, if provided.

endDatestring | null

ISO 8601 datetime when the subscription ends.

{
  "event": "subscription.updated",
  "timestamp": "2026-04-10T08:00:00.000Z",
  "organizationId": "org_abc123",
  "data": {
    "subscriptionId": "sub_1a2b3c4d",
    "customerId": "user_123",
    "externalId": "user_123",
    "status": "active",
    "canceledAt": null,
    "cancelReason": null,
    "endDate": null
  }
}

How is this guide?

subscription.canceled

Fired when a subscription is canceled

subscription.plan_changed

Fired when a subscription changes plans