1. Full tour setup
Stand up a complete tour from scratch.- Find the organization —
GET /v1/organizationsto get theorg_idthe tour will belong to. - Create the tour with its days —
POST /v1/tourswithname,org_id,start_date,end_date,timeZone, and a non-emptydays[]array. The response returns the new tourid. - Get the day IDs —
GET /v1/tours?org_id=...and readtour.tourDays[].id; these are thedayIdvalues used by schedule, venue, and guest-list routes. - Add schedule items —
POST /v1/schedule/itemswithtour_id+day_id. - Add a venue —
POST /v1/venueswithtour_id+day_id. - Add accommodation —
POST /v1/accommodationwithtourId+dayId(note the camelCase).
2. Sync a tour
Keep a local copy in step with Daysync.- Read the tour list —
GET /v1/tours?org_id=...and read each tour’supdated_at/is_deleted. - Read each resource — for each day,
GETschedule, venues, accommodation, guest list, and bulletins. - Diff against local state — compare IDs and
updated_attimestamps; treatis_deleted: trueas a removal. - Apply changes —
PUTchanged items,POSTnew ones,DELETEremoved ones.
There are no webhooks yet — syncing is poll-based. See pagination and rate limits before choosing a polling interval.
3. Guest list management
- Discover pass types — pass type IDs are configured per tour in the Daysync app; see Pass object.
- Add guests with passes —
POST /v1/guestlistwithtour_id,day_id, guest details, and apassesarray. - Update status —
PUT /v1/guestlist/{guestListId}to changestatusIdas guests are approved.

