Events are the primary discovery resource for customer-facing integrations. Use public routes to render listings, then authenticated routes to manage event data.
List Events
GET /events is public (requires x-tenant-id, no bearer token).
const { events, after, before, limit } = await client.event.list({
status: 'UPCOMING',
visibility: 'PUBLIC',
query: 'festival',
limit: 20,
});
Useful filters include:
status:UPCOMINGorENDEDvisibility:PUBLIC,PRIVATE,SCHEDULED,PASSCODEquery: full-text searchlatitude/longitude/radius: geo searchgenresandcategories: discovery filters
Use the response after cursor to fetch the next page, and pass it back as cursor.
Get Event by ID or Slug
GET /events/{key} accepts either an event ID (for example evt_...) or slug.
const byId = await client.event.get({ key: 'evt_01jps5cgsenjrazw6wswmyspa3' });
const bySlug = await client.event.get({ key: 'summer-festival-2026' });
For passcode-protected events, provide passcode:
const { event } = await client.event.get({
key: 'private-launch-party',
passcode: 'MY-PASSCODE',
});
Manage Events (Authenticated)
Create, update, delete, and feature routes require a bearer token.
const { event } = await client.event.create({
name: 'Warehouse Session',
teamId: 'team_123',
promoterId: 'pmt_01jqpjksnsen9vprw95et60t2m',
// ...other required fields
});
Related Resources
- Admissions:
/events/{eventId}/admissions - Sections:
/events/{eventId}/sections - Event performance analytics:
/events/{eventId}/performance/*