Guest list entries are the people requested onto the list for a given tour day, with pass allocations and an approval status. Guest list entry IDs are integers.
All endpoints require the standard authentication headers.
List guest list
GET /v1/tours/{tourId}/days/{dayId}/guestlist
Returns the guest list for one day of a tour.
Scope: guestlist.read
Example
curl "$BASE/v1/tours/2f1c…/days/1843/guestlist" \
-H "x-api-key: $KEY" -H "x-api-secret: $SECRET" -H "Authorization: Bearer $TOKEN"
Path parameters
| Name | Type | Description |
|---|
tourId | string (UUID) | The tour. |
dayId | integer | The day within the tour. |
Response data — array of guest list entries:
{
"id": 77,
"firstName": "Sam",
"lastName": "Taylor",
"email": "sam@…",
"affiliation": "Press",
"numberOfGuests": 2,
"notes": "Photo pit access",
"status": { "id": 1, "type": "APPROVED", "description": "Approved" },
"created_by": { "id": "…", "firstname": "Jane", "lastname": "Doe" },
"day": { "id": 1843, "name": "Day 1", "date": "2026-06-01T00:00:00Z" },
"tour": { "id": "2f1c…", "name": "Spring Tour 2026" },
"is_deleted": false,
"created_at": "2026-05-18T08:00:00Z",
"updated_at": "2026-05-20T08:00:00Z"
}
Response fields — the GET response returns a fixed subset of fields, which differs from what create/edit accept. It does not include passes, pickupMethod, venue, or avatarColor:
| Field | Type | Description |
|---|
id | integer | Guest list entry ID. |
firstName | string | Guest first name. |
lastName | string | Guest last name. |
email | string | Guest email (may be null). |
affiliation | string | Guest affiliation (may be null). |
numberOfGuests | integer | Party size. |
notes | string | Notes (may be null). |
status | object | { id, type, description }. |
created_by | object | { id, firstname, lastname }. |
day | object | { id, name, date }. |
tour | object | { id, name }. |
is_deleted | boolean | Soft-delete flag. |
created_at | string | ISO 8601 timestamp. |
updated_at | string | ISO 8601 timestamp. |
Add to guest list
Scope: guestlist.write
Body
| Field | Type | Required | Description |
|---|
tour_id | string (UUID) | Yes | Tour the entry belongs to. |
day_id | number | Yes | Day the entry is for. |
firstName | string | Yes | Guest first name. |
lastName | string | Yes | Guest last name. |
numberOfGuests | number | Yes | Party size. |
pickupMethodId | number | Yes | How the guest collects passes — valid values. |
statusId | number | Yes | Approval status — valid values. |
passes | array<Pass> | Yes | Pass allocations — see Pass object. |
email | string | No | Guest email. |
affiliation | string | No | Guest affiliation. |
notes | string | No | Free-text notes. |
requesterId | string | No | Who requested the entry. |
venueId | number | No | Associated venue. |
avatarColorId | number | No | Avatar colour — valid values. |
Response data: { "id": 77 }.
Edit a guest list entry
PUT /v1/guestlist/{guestListId}
Scope: guestlist.write
Path parameters
| Name | Type | Description |
|---|
guestListId | integer | The entry to edit. |
Body — note several fields remain required on edit:
| Field | Type | Required | Description |
|---|
firstName | string | Yes | Guest first name. |
lastName | string | Yes | Guest last name. |
numberOfGuests | number | Yes | Party size. |
pickupMethodId | number | Yes | Pickup method — valid values. |
statusId | number | Yes | Approval status — valid values. |
passes | array<Pass> | Yes | Pass allocations — see Pass object. |
email, affiliation, notes, requesterId, venueId | — | No | As in create. |
The guestListId is taken from the URL path — do not send it in the request body.
Response data: { "id": 77 }.
Pass object
Each entry in the passes array allocates a number of passes of a given pass type to the guest. Pass types are configured per tour in the Daysync app.
"passes": [
{ "passId": 1, "count": 2 },
{ "passId": 3, "count": 1 }
]
| Field | Type | Required | Description |
|---|
passId | number | Yes | ID of the pass type configured for this tour. |
count | number | Yes | Number of passes of this type to allocate to the guest. |
Pass type IDs are configured per tour in the Daysync app. Discover the valid IDs from the tour/venue configuration in the app before sending them on create or edit.
Delete a guest list entry
DELETE /v1/guestlist/{guestListId}
Scope: guestlist.write
Path parameters
| Name | Type | Description |
|---|
guestListId | integer | The entry to delete. |
Response data: none.
See also: Tours, Bulletins.