Event Types
These are the webhook event types Happa delivers today. All payloads use the same top-level envelope: id, type, timestamp, and data.
Delivered events
| Event | Meaning |
|---|---|
test.ping | Manual developer-portal connectivity test. |
event.created | A public event was published. |
rsvp.created | A user joined an event. |
rsvp.cancelled | A user left an event. |
join_request.created | A join request was submitted. |
join_request.approved | A join request was approved. |
join_request.rejected | A join request was rejected. |
ticket.sold | A paid ticket purchase was confirmed. |
test.ping
{
"id": "evt_test_1749254400",
"type": "test.ping",
"timestamp": "2026-06-07T14:30:00.000Z",
"data": {
"message": "This is a test webhook from Happa. Your plugin is connected correctly.",
"pluginId": "plg_123"
}
}
event.created
{
"id": "evt_...",
"type": "event.created",
"timestamp": "2026-06-07T14:30:00.000Z",
"data": {
"eventId": "abc123",
"title": "Summer Block Party",
"eventDate": "2026-08-15T18:00:00.000Z",
"location": "123 Main St, Austin TX"
}
}
rsvp.created
{
"id": "evt_...",
"type": "rsvp.created",
"timestamp": "2026-06-07T14:30:00.000Z",
"data": {
"eventId": "abc123",
"eventTitle": "Summer Block Party",
"userId": "user456",
"joinMode": "open"
}
}
rsvp.cancelled
{
"id": "evt_...",
"type": "rsvp.cancelled",
"timestamp": "2026-06-07T14:30:00.000Z",
"data": {
"eventId": "abc123",
"eventTitle": "Summer Block Party",
"userId": "user456"
}
}
join_request.created
{
"id": "evt_...",
"type": "join_request.created",
"timestamp": "2026-06-07T14:30:00.000Z",
"data": {
"requestId": "req789",
"eventId": "abc123",
"eventTitle": "Exclusive Networking Dinner",
"organizerId": "org999"
}
}
join_request.approved and join_request.rejected
{
"id": "evt_...",
"type": "join_request.approved",
"timestamp": "2026-06-07T14:30:00.000Z",
"data": {
"requestId": "req789",
"eventId": "abc123",
"eventTitle": "Exclusive Networking Dinner"
}
}
ticket.sold
{
"id": "evt_...",
"type": "ticket.sold",
"timestamp": "2026-06-07T14:30:00.000Z",
"data": {
"eventId": "abc123",
"ticketSaleId": "sale_001",
"amount": 2500,
"currency": "TZS",
"buyerId": "user456"
}
}
Reserved event: event.updated exists in the internal type definition, but it is not emitted by the current production triggers yet. Build against the events listed above.