Churn Events
Churn events represent customer cancellations and failed payments. Each event triggers AI-powered recovery workflows.Event Status Lifecycle
Every churn event moves through a defined lifecycle:Create a Churn Event
Create a new churn event manually (alternative to webhooks).Request Body
string
required
Customer’s email address.
string
Customer’s display name.
string
required
Type of churn:
cancellation or payment_failed.string
Free-text reason for cancellation. Drives AI strategy selection.
integer
Monthly recurring revenue in cents.
string
ISO 4217 currency code. Defaults to
usd.string
Subscription plan name.
integer
Days the customer has been subscribed.
Example Request
Example Response
List Churn Events
Retrieve a paginated list of churn events for a project.Query Parameters
integer
default:"1"
Page number.
integer
default:"20"
Items per page (max 100).
string
Filter by status:
new, processing, variants_generated, email_sent, recovered, lost.string
Filter by type:
cancellation or payment_failed.Example Request
Example Response
Get a Churn Event
Retrieve a single churn event by ID.Example Request
Example Response
Mark as Recovered
Mark a churn event as recovered when the customer reactivates.Example Request
Example Response
Stripe and Razorpay integrations automatically mark events as recovered when a
payment_succeeded or payment.captured event is received.Update Cancel Reason
Update the cancel reason on an existing churn event. Useful when the reason is collected after the event is created.Request Body
string
required
The updated cancel reason.