Skip to content

Admissions & Sections

Model ticket products and seating structure for an event.

Admissions and sections are event-scoped resources:

  • Admission: ticket type and pricing rules (for example General Admission, VIP).
  • Section: optional seating or inventory partition (for example Left Stand, Balcony).

Public Read Endpoints

These endpoints are public and require only x-tenant-id:

  • GET /events/{eventId}/admissions
  • GET /events/{eventId}/admissions/{id}
  • GET /events/{eventId}/sections
  • GET /events/{eventId}/sections/{id}
const { admissions } = await client.admission.list({ eventId: 'evt_01jps5cgsenjrazw6wswmyspa3' });
const { sections } = await client.section.list({ eventId: 'evt_01jps5cgsenjrazw6wswmyspa3' });

Authenticated Management Endpoints

Create, update, and delete routes require a bearer token:

  • POST|PUT|DELETE /events/{eventId}/admissions...
  • POST|PUT|DELETE /events/{eventId}/sections...
const { admission } = await client.admission.create({
  eventId: 'evt_01jps5cgsenjrazw6wswmyspa3',
  name: 'VIP Early Bird',
  // ...other required fields
});

Quotes and Checkout

Two quote endpoints exist for different use cases:

  • POST /orders/quote (public): storefront quote before checkout
  • POST /events/{eventId}/admissions/quote (authenticated): operational admission quoting

Storefront example:

const { quote } = await client.order.quote({
  eventId: 'evt_01jps5cgsenjrazw6wswmyspa3',
  items: [
    {
      admissionId: 'adm_01jps5cgsee0xvapbk92e8eb4g',
      sectionId: 'sct_01jps5cgse0g3qj16kpq8t221r',
      quantity: 2,
    },
  ],
});

Practical Pattern

  1. Load event details with event.get.
  2. Load admissions and sections for that event.
  3. Build cart items from admission/section selections.
  4. Use order.quote then order.create.