Skip to main content
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

Returns the guest list for one day of a tour. Scope: guestlist.read Example
Path parameters Response data — array of guest list entries:
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:

Add to guest list

Scope: guestlist.write Body Response data: { "id": 77 }.

Edit a guest list entry

Scope: guestlist.write Path parameters Body — note several fields remain required on edit:
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.

Delete a guest list entry

Soft-deletes the entry. Reversible with Restore a guest list entry. Scope: guestlist.write Path parameters Response data: none.

Restore a guest list entry

Restores a soft-deleted entry, along with its pass allocations. Scope: guestlist.write Path parameters Response data: none.

Update entry statuses in bulk

Moves several entries to new statuses in one call — approving or declining a day’s requests, for example. Scope: guestlist.write Path parameters Body StatusChange object
Every ID must belong to the tour in the path. A single foreign or unknown ID rejects the whole batch with 403 and changes nothing — the call is all-or-nothing, so a partial success is never something you have to reconcile.
Example
Response data: none.
Prefer this over looping Edit a guest list entry, which requires the guest’s full record on every call. A repeated ID in list is fine — the last entry for an ID wins.

Approved-guest total for a day

Returns the total number of guests across the day’s approved entries — the figure a day’s cap is checked against. Scope: guestlist.read Path parameters Response data: a number.
This is a sum of party sizes (numberOfGuests), not a row count — twelve approved entries of two guests each answer 24. It is not derivable from a paged List guest list response, which is why it has its own endpoint. null means no approved entries.

Configure a day’s guest list

Sets the day’s guest cap, lock state, request cut-off and per-pass-type allocation caps. Scope: guestlist.write — requires the user to be a tour admin. Path parameters Body — at least one field is required. PassConfig object
totalGuest and enforceTotal are written as one change and must be sent together — one without the other is rejected with 400 rather than being silently dropped.An empty body is also a 400: name at least one thing to change.Setting a day-level guestlist_cutoff resolves the time against the time zone of a venue on that day, so a day with no venue yet returns 400 — add a venue, or set the cut-off per venue by passing venue_id.
Response data: none.

List pass types

Returns the tour’s pass types — the source of the passId values used in the Pass object. Scope: guestlist.read Path parameters Query parameters — optional. Response data — array of pass types, each with its name, abbreviation, material, days, venues and visibility.
A pass type restricted away from the authenticated user is not returned at all.

Create a pass type

Scope: guestlist.write — requires the user to be a tour admin. Body
Note the singular isAdminOnly here. Schedule items, venues and stays spell the same flag isAdminsOnly; pass types do not.
Response data: { "id": 9 }.

Update a pass type

Scope: guestlist.write — requires the user to be a tour admin. Path parameters Body — a full record, not a delta.
name, abbv, tour_id and day_ids are required on update, and day_ids replaces the day set rather than adding to it. Read the current values from List pass types and resend them with your changes, or the pass type will silently stop applying to days you omitted.
Response data: { "id": 9 }.

Delete a pass type

Scope: guestlist.write — requires the user to be a tour admin. Query parameters
Without force, this is a safe check that deletes nothing. If any guest still holds the pass, the response is 200 with status: false, the message This Pass is being used in guests requests, and the blocking entries in data.guestListscheck status, not just the HTTP code.With force=true those pass allocations are deleted too, and any guest left holding no pass at all is soft-deleted with them.
Response data when the delete was blocked:
On a successful delete: status: true and no data. Reversible with Restore a pass type.

Restore a pass type

Restores a soft-deleted pass type, along with the guest allocations and guest list entries that were removed with it. Scope: guestlist.write — requires the user to be a tour admin. Response data: none. A pass type that is not deleted returns 400.

List requesters

Returns the tour users who can be set as an entry’s requesterId. Scope: guestlist.read Response data: array of tour users.
See also: Tours, Bulletins, Reference Data.