> ## 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 Attendees

> List attendees for an event with pagination and status filtering

# List Attendees

Returns a paginated list of attendees (ticket holders) for an event.

## Path Parameters

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

## Query Parameters

<ParamField query="page" type="integer" default="1">
  Page number (starts at 1).
</ParamField>

<ParamField query="page_size" type="integer" default="50">
  Number of attendees per page. Maximum: `200`.
</ParamField>

<ParamField query="status" type="string" default="valid,checked_in">
  Comma-separated list of ticket statuses to include.

  Allowed values: `valid`, `checked_in`, `pending_approval`, `invited`.

  Example: `?status=valid,checked_in`
</ParamField>

<ParamField query="pk" type="string">
  Resolve a Gomry ticket QR code to its attendee(s). QR codes encode a URL of
  the form `https://gomry.com/ticket/{eventId}?pk={pk}` — pass that `pk` here
  to look up the matching ticket(s). The value may be a paymentID (group
  purchases return all tickets under the payment) or a ticket document ID.
  Filtered to the same `status` set; `page` and `page_size` still apply.
</ParamField>

## Response

<ResponseField name="data" type="array">
  <Expandable title="Attendee object">
    <ResponseField name="id" type="string">Unique ticket identifier</ResponseField>
    <ResponseField name="status" type="string | null">Ticket status</ResponseField>
    <ResponseField name="ticket_class_id" type="string | null">ID of the ticket class (product)</ResponseField>
    <ResponseField name="ticket_class_name" type="string | null">Name of the ticket class</ResponseField>
    <ResponseField name="barcode" type="string | null">Ticket barcode</ResponseField>
    <ResponseField name="first_name" type="string | null">Attendee first name</ResponseField>
    <ResponseField name="last_name" type="string | null">Attendee last name</ResponseField>
    <ResponseField name="email" type="string | null">Attendee email address</ResponseField>
    <ResponseField name="checked_in_at" type="string | null">ISO 8601 check-in timestamp</ResponseField>
    <ResponseField name="created_at" type="string | null">ISO 8601 registration timestamp</ResponseField>
    <ResponseField name="updated_at" type="string | null">ISO 8601 last-updated timestamp</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="pagination" type="object">
  <Expandable>
    <ResponseField name="total" type="integer">Total number of matching attendees</ResponseField>
    <ResponseField name="page" type="integer">Current page number</ResponseField>
    <ResponseField name="page_size" type="integer">Items per page</ResponseField>
    <ResponseField name="total_pages" type="integer">Total number of pages</ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -H "X-API-KEY: your_api_key" \
    "https://www.gomry.com/api/v1/events/AbCdEfGhIjKlMnOpQrSt/attendees?page=1&page_size=50"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://www.gomry.com/api/v1/events/AbCdEfGhIjKlMnOpQrSt/attendees?page=1&page_size=50",
    { headers: { "X-API-KEY": "your_api_key" } }
  );
  const { data, pagination } = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "data": [
      {
        "id": "ticket_001",
        "status": "valid",
        "ticket_class_id": "prod_general",
        "ticket_class_name": "General Admission",
        "barcode": "GOMRY-A1B2C3",
        "first_name": "Jane",
        "last_name": "Doe",
        "email": "jane@example.com",
        "checked_in_at": null,
        "created_at": "2025-06-01T12:00:00.000Z",
        "updated_at": "2025-06-01T12:00:00.000Z"
      },
      {
        "id": "ticket_002",
        "status": "checked_in",
        "ticket_class_id": "prod_vip",
        "ticket_class_name": "VIP",
        "barcode": "GOMRY-D4E5F6",
        "first_name": "John",
        "last_name": "Smith",
        "email": "john@example.com",
        "checked_in_at": "2025-07-15T14:30:00.000Z",
        "created_at": "2025-05-20T09:00:00.000Z",
        "updated_at": "2025-07-15T14:30:00.000Z"
      }
    ],
    "pagination": {
      "total": 234,
      "page": 1,
      "page_size": 50,
      "total_pages": 5
    }
  }
  ```
</ResponseExample>
