---
updatedAt: 2026-04-21T17:06:11.000Z
agentTools:
  projectIndex: https://docs-connect-api-v3.eventtia.com/llms.txt
---

# List attendees for an event

Returns a paginated list of attendees for the given event. Supports filtering by attendee type, check-in status, keyword search, and custom field values. Cached for 30 minutes. User-authenticated requests return full attendee data; attendee-authenticated requests require the event's app_settings to allow listing.

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "title": "Eventtia API V3",
    "version": "3.0.0",
    "description": "REST API for the Eventtia event management platform."
  },
  "servers": [
    {
      "url": "https://connect.eventtia.com",
      "description": "Production"
    },
    {
      "url": "http://localhost:3000",
      "description": "Local"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearer_auth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "JWT token obtained from POST /api/v3/auth"
      }
    },
    "schemas": {
      "relationship_identifier": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        }
      },
      "relationship_object": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "nullable": true,
            "properties": {
              "id": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            }
          }
        }
      },
      "relationship_collection": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/relationship_identifier"
            }
          }
        }
      },
      "attendee_attributes": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "example": "a1b2c3d4e5f6"
          },
          "fields": {
            "type": "object",
            "description": "Dynamic custom field values keyed by field name"
          },
          "status": {
            "type": "string",
            "enum": [
              "confirmed",
              "pending",
              "deleted",
              "rejected"
            ],
            "example": "confirmed"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "deleted_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "internal_id": {
            "type": "string",
            "nullable": true
          },
          "point_of_origin": {
            "type": "string",
            "nullable": true
          },
          "metadata": {
            "type": "object",
            "nullable": true
          },
          "can_schedule_meetings": {
            "type": "boolean"
          },
          "coupon_code_id": {
            "type": "integer",
            "nullable": true,
            "example": 42,
            "description": "ID of the coupon code applied at registration. Only present with `all_fields`. Null when no coupon was used."
          },
          "paid": {
            "type": "boolean",
            "description": "Only present with `all_fields` (authenticated user requests)"
          },
          "balance": {
            "type": "string",
            "description": "Outstanding balance as a decimal string. Only present with `all_fields`."
          },
          "checked_in": {
            "type": "boolean",
            "description": "Only present with `all_fields`."
          },
          "checked_in_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Only present with `all_fields`."
          },
          "qr_code": {
            "type": "string",
            "description": "QR code content for badge printing. Only present with `all_fields`."
          },
          "created_by": {
            "type": "string",
            "nullable": true,
            "description": "Name of the user who created this attendee. Only present with `all_fields`."
          }
        }
      },
      "attendee_resource": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "attendees"
            ]
          },
          "attributes": {
            "$ref": "#/components/schemas/attendee_attributes"
          },
          "relationships": {
            "type": "object",
            "properties": {
              "attendee_type": {
                "$ref": "#/components/schemas/relationship_object"
              },
              "attendee_type_custom_fields": {
                "$ref": "#/components/schemas/relationship_collection"
              },
              "business_conference_participants": {
                "$ref": "#/components/schemas/relationship_collection"
              }
            }
          }
        },
        "required": [
          "id",
          "type",
          "attributes"
        ]
      }
    }
  },
  "tags": [
    {
      "name": "Attendees",
      "description": "Register, list, update, and check in attendees. Includes self-service registration, activity tracking, and tags."
    }
  ],
  "paths": {
    "/api/v3/events/{event_uri}/attendees": {
      "get": {
        "summary": "List attendees for an event",
        "tags": [
          "Attendees"
        ],
        "operationId": "listAttendees",
        "description": "Returns a paginated list of attendees for the given event. Supports filtering by attendee type, check-in status, keyword search, and custom field values. Cached for 30 minutes. User-authenticated requests return full attendee data; attendee-authenticated requests require the event's app_settings to allow listing.",
        "security": [
          {
            "bearer_auth": []
          }
        ],
        "parameters": [
          {
            "name": "event_uri",
            "in": "path",
            "required": true,
            "description": "Event slug or numeric ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "description": "Bearer JWT token",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page[number]",
            "in": "query",
            "required": false,
            "description": "Page number (default: 1)",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page[size]",
            "in": "query",
            "required": false,
            "description": "Page size (max: 24, default: 24)",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "description": "Sort field (e.g. full_name, created_at desc)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attendee_types",
            "in": "query",
            "required": false,
            "description": "Comma-separated attendee type IDs to filter by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "only_checked_in",
            "in": "query",
            "required": false,
            "description": "Return only checked-in attendees",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "only_unchecked_in",
            "in": "query",
            "required": false,
            "description": "Return only attendees who have NOT checked in (ignored if only_checked_in is true)",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "include_archived",
            "in": "query",
            "required": false,
            "description": "Include archived (soft-deleted) attendees in results",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "only_deleted",
            "in": "query",
            "required": false,
            "description": "Return only soft-deleted attendees (those with a deleted_by_id)",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "include_rejected",
            "in": "query",
            "required": false,
            "description": "Include rejected attendees (archived + confirmed) in results",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "only_confirmed",
            "in": "query",
            "required": false,
            "description": "Return only confirmed attendees",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "required": false,
            "description": "Comma-separated attendee IDs to filter by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "checkpoint_id",
            "in": "query",
            "required": false,
            "description": "Filter attendees by checkpoint — returns attendees whose attendee type is allowed by the checkpoint",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "key_words",
            "in": "query",
            "required": false,
            "description": "Search by name, email, or other fields",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workshop_id",
            "in": "query",
            "required": false,
            "description": "Filter attendees enrolled in the specified workshop",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "workshop_checked_in",
            "in": "query",
            "required": false,
            "description": "When workshop_id is present, filter by workshop check-in status",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "show_only_rated_by",
            "in": "query",
            "required": false,
            "description": "Filter attendees rated by the specified business conference participant ID",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "attendee_id",
            "in": "query",
            "required": false,
            "description": "Return attendees with ID greater than this value (used for sync/pagination)",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "slot_id",
            "in": "query",
            "required": false,
            "description": "Filter attendees available for the given business conference slot (excludes those already scheduled)",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "internal_id",
            "in": "query",
            "required": false,
            "description": "Filter by exact attendee internal_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "custom_fields[custom_field_id]",
            "in": "query",
            "required": false,
            "description": "Filter by custom field value. Replace custom_field_id with the numeric custom field ID (e.g. custom_fields[123]=value)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "custom_internal_ids[internal_id]",
            "in": "query",
            "required": false,
            "description": "Filter by custom field internal ID value. Replace internal_id with the internal ID string (e.g. custom_internal_ids[my_field]=value)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_date_time",
            "in": "query",
            "required": false,
            "description": "Return attendees updated at or after this UTC datetime (format: YYYY-MM-DD HH:MM:SS)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_date_time",
            "in": "query",
            "required": false,
            "description": "Return attendees created at or after this UTC datetime (format: YYYY-MM-DD HH:MM:SS)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "first_name",
            "in": "query",
            "required": false,
            "description": "Filter by first name (partial match, LIKE)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "last_name",
            "in": "query",
            "required": false,
            "description": "Filter by last name (partial match, LIKE)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "required": false,
            "description": "Filter by email (partial match, LIKE)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "company",
            "in": "query",
            "required": false,
            "description": "Filter by company (partial match, LIKE)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paid",
            "in": "query",
            "required": false,
            "description": "Filter by payment status. true returns only paid attendees, false returns only unpaid attendees. Omit to return all.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sync_data",
            "in": "query",
            "required": false,
            "description": "When present, includes attendee_workshops and checkpoint_logs in the response",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_workshop_checkin",
            "in": "query",
            "required": false,
            "description": "When present, includes workshop check-in data in the serialized response",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Comma-separated relationships to include (e.g. attendee_type)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of attendees",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/attendee_resource"
                      }
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "total_pages": {
                          "type": "integer"
                        },
                        "total_attendees": {
                          "type": "integer"
                        }
                      }
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - missing or invalid token"
          },
          "404": {
            "description": "Event not found"
          }
        }
      }
    }
  }
}
```