Skip to content

Events

List and fetch events for storefront discovery, then manage events with authenticated routes.

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: UPCOMING or ENDED
  • visibility: PUBLIC, PRIVATE, SCHEDULED, PASSCODE
  • query: full-text search
  • latitude/longitude/radius: geo search
  • genres and categories: 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
});
  • Admissions: /events/{eventId}/admissions
  • Sections: /events/{eventId}/sections
  • Event performance analytics: /events/{eventId}/performance/*