Happa Plugin Platform
Build hosted plugins for Happa event creators. Every installation gives you scoped access to the organizer's data, signed webhooks for real-time actions, and audit logs inside the developer portal.
Quickstart
Stand up a verified webhook endpoint in Node.js and receive your first
test.ping.Webhooks
Understand request signing, delivery timing, and how to build idempotent handlers.
REST API
Read events, attendees, polls, comments, profile data, and ticket revenue using installation tokens.
Scopes
Choose the smallest permission set your plugin needs and map it to the endpoints you call.
What a Happa plugin is
A Happa plugin is a service you host. Happa sends your service signed HTTP requests whenever something important happens for an organizer who installed your plugin, and your service can call the Happa REST API with that installation's token whenever it needs fresh data.
The platform is designed for automations, analytics, CRM sync, ticketing add-ons, and internal tooling that runs outside the Happa mobile app.
Plugin lifecycle
- Create a draft in the Developer Portal with a webhook URL, scopes, pricing, and categories.
- Receive credentials immediately: a public
clientIdand a secretwebhookSecret. - Build and test against signed webhooks, API logs, and manual
test.pingdeliveries. - Submit for review. Approved plugins appear in the marketplace; rejected ones return to draft with reviewer feedback.
- Store installation tokens when users install your plugin so your backend can call the API on their behalf.
Platform surface
| Surface | What it does |
|---|---|
| Developer Portal | Create plugins, rotate credentials, test deliveries, review logs, and submit builds for approval. |
| Signed webhooks | Notify your backend about RSVPs, join requests, published events, and ticket sales in real time. |
| REST API | Read and update scoped organizer data using one installation token per user. |
| Audit logs | Track webhook deliveries and API requests per plugin inside the portal. |
Requestable scopes
| Scope | Access |
|---|---|
events.read | Read the organizer's events, comments, and polls. |
events.write | Update an event's description, location, and date. |
attendees.read | List attendees for events the organizer owns. |
attendees.write | Add or remove attendees for organizer-owned events. |
profile.read | Read the installing organizer's profile and counts. |
tickets.read | Read aggregate ticket revenue and ticket counts without buyer PII. |
Webhook events delivered today
| Event | When it fires |
|---|---|
test.ping | Manual connectivity test from the developer portal. |
event.created | An organizer publishes a new public event. |
rsvp.created | Someone joins an event. |
rsvp.cancelled | An attendee leaves an event. |
join_request.created | A join request is submitted for an approval-based event. |
join_request.approved | An organizer approves a pending join request. |
join_request.rejected | An organizer rejects a pending join request. |
ticket.sold | A paid ticket purchase is confirmed for an organizer's event. |
Need help? Start in the Developer Portal, then email developers@happa.site if you need a review unblock or API clarification.