Configure webhook endpoints to receive real-time events from AscendKit.

Webhooks

Receive real-time notifications on your server when supported events happen in AscendKit. Webhooks let your backend react immediately to user signups, logins, survey submissions, and email lifecycle updates without polling the API.

Use cases: sync new users to your CRM, send a Slack notification on login, update internal records when a survey is submitted, or mirror email delivery events into your own logs.

Every webhook request is signed with HMAC-SHA256 so your server can verify it came from AscendKit. See Python SDK — Webhook verification or the Next.js Integration for implementation examples.

Create a webhook

ascendkit webhook create \
  --url https://yourapp.com/webhooks/ascendkit \
  --events user.created,user.login
FlagDescription
--urlYour endpoint URL (must be HTTPS in production)
--eventsComma-separated list of event types to subscribe to

List webhooks

ascendkit webhook list

View a webhook

ascendkit webhook get whc_abc123

Update a webhook

ascendkit webhook update whc_abc123 \
  --url https://yourapp.com/webhooks/v2 \
  --events user.created,user.login

Test a webhook

Send a test event to verify your endpoint is working:

ascendkit webhook test whc_abc123

Delete a webhook

ascendkit webhook delete whc_abc123

Payload shape

Webhook requests are JSON. The canonical event field is event. eventType is also included as a compatibility alias.

{
  "event": "user.created",
  "eventType": "user.created",
  "timestamp": "2026-05-04T12:00:00Z",
  "projectId": "prj_abc123",
  "environmentId": "env_abc123",
  "data": {
    "userId": "usr_abc123",
    "email": "[email protected]"
  }
}

The same event type is also sent in the X-AscendKit-Event header. Verify the HMAC signature before trusting the payload.

Available events

EventDescription
user.createdUser signs up (any method)
user.loginUser logs in
user.logoutUser logs out
survey.completedUser submits a survey response
email.sentEmail queued or sent
email.deliveredEmail delivery confirmed
email.bouncedEmail bounced
email.complainedComplaint received
email.openedTracked email open
email.clickedTracked email link click
email.unsubscribedUser unsubscribed from campaign email