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

customer.created

Fired when a customer is created. The payload mirrors the customer resource from GET /customers.

Payload

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

idstring

The Commet customer ID (cus_...).

externalIdstring | null

Your own identifier for this customer, if you provided one.

fullNamestring | null

The customer's full name.

emailstring

The customer's email.

timezonestring | null

The customer's timezone.

metadataobject | null

Custom key-value metadata you attached to the customer.

createdAtstring

ISO 8601 datetime when the customer was created.

updatedAtstring

ISO 8601 datetime of the last update.

{
  "event": "customer.created",
  "timestamp": "2026-03-25T14:29:00.000Z",
  "organizationId": "org_abc123",
  "mode": "live",
  "apiVersion": "2026-05-25",
  "data": {
    "id": "cus_1a2b3c4d",
    "externalId": "user_123",
    "fullName": "Ada Lovelace",
    "email": "ada@acme.com",
    "timezone": "UTC",
    "metadata": {
      "plan_intent": "pro"
    },
    "createdAt": "2026-03-25T14:29:00.000Z",
    "updatedAt": "2026-03-25T14:29:00.000Z"
  }
}

Resource shape and version pinning

The payload is the customer resource exactly as the REST API returns it for your pinned API version. If your endpoint is pinned to a version before 2026-06-07, the email field arrives as billingEmail — the same downgrade applied to GET /customers responses.

The event fires for every creation path: POST /customers, batch create, the SDKs, and the dashboard. Creating a customer with an externalId that already exists returns the existing customer and does NOT fire this event again.

How is this guide?

payment_method.updated

A customer's default payment method was replaced.

customer.updated

Fired when a customer's details change. Carries the full current customer resource.