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

GET /v1/tours/{tourId}/venues
Returns the venues for a tour. Scope: venues.read Example
curl "$BASE/v1/tours/2f1c…/venues" \
  -H "x-api-key: $KEY" -H "x-api-secret: $SECRET" -H "Authorization: Bearer $TOKEN"
Path parameters
NameTypeDescription
tourIdstring (UUID)The tour.
Response data — array of venues:
{
  "id": 512,
  "title": "Main Hall",
  "status": true,
  "notes": "Capacity confirmed",
  "image": "https://…",
  "capacity": 1200,
  "formatted_address": "123 Main St",
  "city": "Sydney",
  "zip_code": "2000",
  "country": "Australia",
  "state": "NSW",
  "timezone": "Australia/Sydney",
  "coordinates": { "lat": -33.85, "lng": 151.21 },
  "venue_type": { "id": 32, "type": "Theatre" },
  "venue_category": { "id": 1, "type": "commercial" },
  "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,
  "updated_at": "2026-05-20T08:00:00Z",
  "is_everyone": true,
  "is_admin_only": false
}

Create a venue

POST /v1/venues
Scope: venues.write Body
FieldTypeRequiredDescription
titlestringYesVenue name.
tour_idstring (UUID)YesTour the venue belongs to.
day_idnumberYesDay the venue is on.
statusbooleanNoStatus flag.
statusTypeIdnumberNoStatus type — valid values (same table as schedule items).
capacitynumberNoVenue capacity.
venueTypeIdnumberNoVenue type — valid values.
venueCategoryIdnumberYes*Venue category — valid values. *Optional at the schema level but enforced downstream — creates fail without a valid value (see note below).
ageRestrictionIdnumberNoAge restriction — valid values.
locationLocationNoAddress object — see Accommodation: Location structure for the full schema. geometry.location and geometry.viewport are required.
notesstringNoFree-text notes.
imagestringNoImage URL.
attachmentsarray<Attachment>No{ link, fileSize, … }. Get link from POST /v1/attachments.
isEveryone / isAdminsOnlybooleanNoVisibility shortcuts.
visibility_listarray<string>NoExplicit user visibility.
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

PUT /v1/venues/{venueId}
Scope: venues.write Path parameters
NameTypeDescription
venueIdintegerThe venue to update.
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 }.

Delete a venue

DELETE /v1/venues/{venueId}
Scope: venues.write Path parameters
NameTypeDescription
venueIdintegerThe venue to delete.
Response data: none.
See also: Tours, Accommodation.