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
| Flag | Description |
|---|---|
--url | Your endpoint URL (must be HTTPS in production) |
--events | Comma-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
| Event | Description |
|---|---|
user.created | User signs up (any method) |
user.login | User logs in |
user.logout | User logs out |
survey.completed | User submits a survey response |
email.sent | Email queued or sent |
email.delivered | Email delivery confirmed |
email.bounced | Email bounced |
email.complained | Complaint received |
email.opened | Tracked email open |
email.clicked | Tracked email link click |
email.unsubscribed | User unsubscribed from campaign email |