subscription.canceled
Fired when a subscription is canceled
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.
externalIdstring | null
Your external ID for this customer.
statusstring
The subscription status.
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.canceled",
"timestamp": "2026-04-20T10:15:00.000Z",
"organizationId": "org_abc123",
"data": {
"subscriptionId": "sub_1a2b3c4d",
"customerId": "cus_8h9i0j",
"externalId": "user_123",
"status": "canceled",
"canceledAt": "2026-04-20T10:15:00.000Z",
"cancelReason": "Too expensive",
"endDate": "2026-04-25T00:00:00.000Z"
}
}How is this guide?