A venue is a location associated with a tour day — the room, hall, or site for an event. Venue IDs are integers.
All endpoints require the standard authentication headers.
List venues
Returns the venues for a tour.
Scope: venues.read
Example
Path parameters
Response data — array of venues:
Get one venue
Returns a single venue in full — including its custom fields, contact details, age restriction and visibility flags. List venues returns a leaner projection, so use this when you need the whole record.
Scope: venues.read
Path parameters
Response data — the list-venue fields, plus:
venueCustomFields, venueEmails, venuePhoneNumbers and venueUrls are read-only here — manage them through Custom Fields and Contacts.
Create a venue
Scope: venues.write
Body
A valid venueCategoryId (see Field Reference) is required in practice — creating a venue without one, or with an unknown value, fails.
The image field does not host your image. When you pass image, the API stores a generated S3 path derived from the venue title (e.g. …/venue/<title>_<timestamp>.jpeg) instead of your URL, and it does not upload any image bytes — so the path points to an object that doesn’t exist and the image renders blank. To attach an image (or any file) to a venue, upload it with POST /v1/attachments and pass the returned link in attachments instead. The dedicated image field itself remains app-only — omit it. (Known gap for the image field — flagged to the Daysync team.)
Response data: { "id": 512 }.
Update a venue
Scope: venues.write
Path parameters
Body — all create fields except tour_id and day_id (which are set at creation time only). All fields are optional on update; send only the fields you want to change.
The venueId is taken from the URL path — do not send it in the request body.
Response data: { "id": 512 }.
Visibility
Venues use the same visibility model as schedule items, with one naming difference: the per-user list is visibility_list (snake_case) on venues, not visibilityList.
Restricting a venue’s audience adds every tour admin unless you send explicitVisibility: true.When you name a restricted audience via visibility_list and/or invitesVisibilityList, Daysync assumes an older client that treats admin access as implicit and merges the tour’s current admin list into the audience you sent. Send explicitVisibility: true in the same request to mean the list literally:This applies to create and update alike, including an update that only narrows an existing venue’s audience. Do not send it with isAdminsOnly: true — that flag is implemented by the same merge, so opting out would store an empty audience. Full explanation in Schedule → Visibility.
Delete a venue
Scope: venues.write
Path parameters
Response data: none.
See also: Tours, Accommodation.