> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gomry.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Ticket Classes

> List all ticket classes for an event

# List Ticket Classes

Returns all active ticket classes (ticket types) for an event, ordered by the event's configured display order.

## Path Parameters

<ParamField path="eventId" type="string" required>
  The unique identifier of the event.
</ParamField>

## Response

<ResponseField name="data" type="array">
  <Expandable title="Ticket Class object">
    <ResponseField name="id" type="string">Unique ticket class identifier</ResponseField>
    <ResponseField name="name" type="string | null">Ticket class name (e.g., "General Admission", "VIP")</ResponseField>
    <ResponseField name="description" type="string | null">Ticket class description</ResponseField>
    <ResponseField name="status" type="string | null">`active`, `archived`, or `deleted`</ResponseField>
    <ResponseField name="currency" type="string | null">ISO 4217 currency code</ResponseField>
    <ResponseField name="cost" type="number">Price per ticket (0 for free tickets)</ResponseField>
    <ResponseField name="free" type="boolean">Whether this is a free ticket class</ResponseField>
    <ResponseField name="quantity_total" type="number | null">Total tickets available (null = unlimited)</ResponseField>
    <ResponseField name="quantity_sold" type="number">Number of tickets sold</ResponseField>
    <ResponseField name="sales_start" type="string | null">ISO 8601 datetime when sales open</ResponseField>
    <ResponseField name="sales_end" type="string | null">ISO 8601 datetime when sales close</ResponseField>
    <ResponseField name="minimum_per_order" type="number">Minimum tickets per order</ResponseField>
    <ResponseField name="maximum_per_order" type="number">Maximum tickets per order</ResponseField>
    <ResponseField name="require_approval" type="boolean">Whether registration requires manual approval</ResponseField>
    <ResponseField name="created_at" type="string | null">ISO 8601 creation timestamp</ResponseField>
    <ResponseField name="updated_at" type="string | null">ISO 8601 last-updated timestamp</ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -H "X-API-KEY: your_api_key" \
    https://www.gomry.com/api/v1/events/AbCdEfGhIjKlMnOpQrSt/ticket-classes
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://www.gomry.com/api/v1/events/AbCdEfGhIjKlMnOpQrSt/ticket-classes",
    { headers: { "X-API-KEY": "your_api_key" } }
  );
  const { data } = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "data": [
      {
        "id": "prod_general",
        "name": "General Admission",
        "description": "Standard entry to the event",
        "status": "active",
        "currency": "USD",
        "cost": 0,
        "free": true,
        "quantity_total": 400,
        "quantity_sold": 200,
        "sales_start": "2025-03-01T00:00:00.000Z",
        "sales_end": "2025-07-15T14:00:00.000Z",
        "minimum_per_order": 1,
        "maximum_per_order": 5,
        "require_approval": false,
        "created_at": "2025-02-15T10:00:00.000Z",
        "updated_at": "2025-06-20T08:00:00.000Z"
      },
      {
        "id": "prod_vip",
        "name": "VIP",
        "description": "Premium access with backstage pass",
        "status": "active",
        "currency": "USD",
        "cost": 150,
        "free": false,
        "quantity_total": 100,
        "quantity_sold": 34,
        "sales_start": "2025-03-01T00:00:00.000Z",
        "sales_end": "2025-07-14T00:00:00.000Z",
        "minimum_per_order": 1,
        "maximum_per_order": 2,
        "require_approval": false,
        "created_at": "2025-02-15T10:30:00.000Z",
        "updated_at": "2025-06-20T08:00:00.000Z"
      }
    ]
  }
  ```
</ResponseExample>
