Scope
These endpoints are used by org leaders to manage org events (distinct from the platform-wide “Beacon” event approval system). Backend route:Meridian/backend/routes/orgEventManagementRoutes.js
/org-event-management
verifyToken- org-scoped permission gate:
requireEventManagement('orgId')→ checksmanage_events
Endpoints
GET /:orgId/analytics
timeRange:7d,30d,90d, or1yeventType:allor specific event type
- Totals: events created, expected attendance, average attendance
- Analytics: views, unique views, rsvps, engagement rate (from
EventAnalytics) - Breakdowns: by type, by status
- Top events by views
- Monthly trend
- Member engagement proxy (looks up events where member’s
user_idis inEvent.going)
GET /:orgId/events
GET /org-event-management/:orgId/events
GET /:orgId/events/:eventId
- fetches a single event with analytics context
POST /:orgId/events/bulk-action
Performs bulk operations across multiple events (e.g. delete/archive/status change). Audit for allowed actions before exposing to UI.
Templates
POST /org-event-management/:orgId/event-templatesGET /org-event-management/:orgId/event-templatesPOST /org-event-management/:orgId/events/from-template/:templateId
When to use these vs “core event routes”
There are multiple event route families in the backend:| Route Family | File | Purpose |
|---|---|---|
| Beacon event system | eventRoutes.js | Approval/event system |
| Public org events | orgRoutes.js | Public listing (GET /:orgId/events) |
| Org management | orgEventManagementRoutes.js | Org-scoped event management |
If you’re building org leader tooling, use
/org-event-management.If you’re building public org pages, use GET /:orgId/events.