List event guests
GET /rest/v1/events/{eventId}/guests
Returns the guests registered for one event in the API key's organization.
Requires the guests:read scope. See Authentication for headers, rate limits, and the shared error format.
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
eventId | UUID string | Yes | Id of the event whose guests should be returned. |
The organization comes from the API key. Do not send an organizationId parameter. The event must belong to that organization.
Query parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
page | integer | No | 1 | Page number. Must be ≥ 1. |
limit | integer | No | 50 | Guests per page. Must be from 1 to 100. |
includeAnswers | boolean | No | false | When true, each guest includes registration answers. |
status | string | No | — | registered or waitlist. |
search | string | No | — | Case-insensitive match on guest name or email. Maximum 200 characters. |
checkedIn | boolean | No | — | true for guests with a check-in time; false for guests who have not checked in. |
sort | string | No | registeredAt | Only registeredAt is supported. |
order | string | No | asc | asc or desc. |
status is derived from registration order and event capacity:
| Value | Meaning |
|---|---|
registered | The guest's position (by registration time) is within the event capacity, or the event has unlimited capacity. |
waitlist | The guest's position is beyond the event capacity. |
includeAnswers=false returns an empty answers array on each guest. Question definitions are still returned in questions.
Response 200
{
"data": [
{
"eventGuestId": "8c7e9f2a-1234-4567-89ab-123456789abc",
"guestId": "4b2c1d3e-5678-90ab-cdef-123456789abc",
"fullName": "John Doe",
"email": "john.doe@example.com",
"phone": "+52 81 1234 5678",
"dateOfBirth": "1995-06-15",
"registeredAt": "2026-09-20T14:30:00.000Z",
"checkedInAt": "2026-09-20T18:05:00.000Z",
"status": "registered",
"answers": [
{
"questionId": 1,
"displayValue": "Yes"
}
]
}
],
"questions": [],
"pagination": {
"totalCount": 1,
"page": 1,
"pageSize": 50,
"totalPages": 1
}
}
| Field | Type | Nullable | Description |
|---|---|---|---|
eventGuestId | string | No | Id of the event–guest registration row. |
guestId | string | No | Id of the guest profile. |
fullName | string | No | Guest full name. |
email | string | No | Guest email. |
phone | string | Yes | Guest phone number. |
dateOfBirth | string | Yes | Date of birth as YYYY-MM-DD. |
registeredAt | string | No | Registration time in ISO 8601. |
checkedInAt | string | Yes | Check-in time in ISO 8601, or null if not checked in. |
status | string | No | registered or waitlist. |
answers | array | No | Registration answers when includeAnswers=true; otherwise []. |
Each answer item is { questionId: number, displayValue: string }. For choice questions, displayValue is the selected option label(s). For text questions, it is the stored text value.
questions uses the same structure as the in-app registration questions (id, prompt, answer type, options, and so on).
pagination.totalCount is the number of guests that match the filters, not just the current page.
Errors
Shared codes are documented in Authentication. These are specific to this route:
400 invalid query
{
"error": {
"code": "INVALID_REQUEST",
"message": "One or more query parameters are invalid.",
"details": {
"page": "Must be greater than or equal to 1.",
"limit": "Must be between 1 and 100."
}
}
}
403 missing scope
{
"error": {
"code": "FORBIDDEN",
"message": "The API key does not have permission to access guests."
}
}
404 unknown event
GET /rest/v1/events/7f4c1b2e-8e9b-4e31-9c1d-123456789abc/guests
{
"error": {
"code": "NOT_FOUND",
"message": "The requested event was not found."
}
}
An event that belongs to another organization is also not found.
405 other methods
POST /rest/v1/events/{eventId}/guests
{
"error": {
"code": "METHOD_NOT_ALLOWED",
"message": "Only GET requests are allowed for this resource."
}
}
The response includes Allow: GET.
To email one guest a reminder with a cancel link, see Send a guest reminder.