Fired when a new subscription is created
All webhook payloads follow a consistent top-level structure with event-specific data nested within the data object.
The subscription ID.
The customer ID. Returns your externalId if you provided one when creating the customer, otherwise returns the Commet publicId.
The plan ID.
The plan name.
Current status. One of: draft, pending_payment, trialing, active, past_due, canceled. Access is granted while trialing, active, or past_due — past_due is a permissive grace window during dunning, where you decide whether to keep serving the customer or block them.
ISO 8601 datetime when the subscription starts.
Optional custom name for the subscription.
{
"event": "subscription.created",
"timestamp": "2026-06-23T14:30:00.000Z",
"organizationId": "8f14e45f-ceea-4e7a-9c3d-1c2b3a4d5e6f",
"mode": "live",
"apiVersion": "2026-07-31",
"data": {
"subscriptionId": "sub_1a2b3c4d",
"customerId": "user_123",
"planId": "pln_pro_monthly",
"planName": "Pro",
"status": "pending_payment",
"startDate": "2026-03-25T14:30:00.000Z",
"name": "Acme Corp"
}
}How is this guide?