POST/lifecycle/dispatch

Fire a lifecycle event

Fire a lifecycle event (trial_expired, subscription_cancelled, onboarding_completed, custom, etc.) from your backend. SeggWat matches the event against live lifecycle-triggered surveys on the project, creates one SurveyInvitation per match (subject to each survey's cooldown and sample-rate), and returns the magic-link URLs in `created_invitations` so you can relay them via your own notification pipeline (email, SMS, push). SeggWat does not deliver these URLs itself. For time-based events that haven't happened yet (trial_ending_soon), use `/users/upsert` instead — SeggWat schedules those itself.

Base URLhttps://seggwat.com/api/v1

Request Body

required
application/json
object
eventanyrequired

Lifecycle event to fire. Snake-case for built-in variants; `{"custom": "name"}` for customer-defined events.

project_idstringrequired

Project this event belongs to. Must be owned by the API key's organization.

Example: 507f1f77bcf86cd799439011
user_refstringrequired

Customer-managed user identifier (their internal id / email / etc).

Example: user_abc123

Responses

Navigation