REST API

Venues

Create and manage the venues that events take place at. Required prerequisite for event creation.

A venue is the physical location where events take place. Every event references a venue via venue_id — you must create venues (or look up their IDs) before creating events.

Default response fields

id, name, description, slug, created_at, updated_at, time_zone, tzinfo.

tzinfo is a convenience object with the venue’s timezone in multiple representations:

{
  "name": "Central Time (US & Canada)",
  "identifier": "America/Chicago",
  "offset": -21600,
  "formatted_offset": "-06:00"
}

The address relationship is returned only when listed in ?include=.

List venues

GET /venues

List venues

curl -X GET \
  'https://app.guestmanager.com/api/public/v2/venues?page[cursor]=&include=address' \
  -H 'Authorization: Token abcdefg' \
  -H 'Content-Type: application/json'

Request parameters

Parameter Type Description
page[cursor] string Opaque cursor token. Send empty for first page. See Pagination.
page[size] integer Records per page. Default 10, maximum 1000 for venues.
sort[{field}] string Sort by id, created_at, updated_at, name. Value is asc or desc.
include string address (with country and state).
filter[id] string Comma separated venue IDs.
filter[archived] boolean true includes archived venues; false excludes them.

Get venue

GET /venues/{id}

curl -X GET \
  'https://app.guestmanager.com/api/public/v2/venues/2847?include=address' \
  -H 'Authorization: Token abcdefg' \
  -H 'Content-Type: application/json'

Create venue

POST /venues

curl -X POST \
  https://app.guestmanager.com/api/public/v2/venues \
  -H 'Authorization: Token abcdefg' \
  -H 'Content-Type: application/json' \
  -d '{
    "venue": {
      "name": "Texas Motor Speedway",
      "description": "Outdoor stadium",
      "time_zone": "Central Time (US & Canada)",
      "address": {
        "address1": "3545 Lone Star Cir",
        "city": "Fort Worth",
        "zipcode": "76177",
        "country_code": "US",
        "state_code": "TX"
      }
    }
  }'

Request parameters

Parameter Type Required Description
venue[name] string yes Venue name.
venue[time_zone] string yes IANA identifier (e.g., America/Chicago) or Rails friendly name (e.g., Central Time (US & Canada)). When the IANA identifier has a Rails alias, the friendly form is what’s persisted and returned on read.
venue[description] string no Description.
venue[address] object no Address fields (see below).

Address fields

Pass nested under venue[address]. Either send country_code + state_code (ISO codes) or country_id + state_id.

Field Type Description
address1 string Street address.
city string City.
zipcode string Postal/ZIP code.
country_code string ISO 3166-1 alpha-2 country code (e.g., US).
state_code string State/province code (e.g., TX).
country_id integer Country ID. Alternative to country_code.
state_id integer State ID. Alternative to state_code.
state string Free-text state name when no code applies.

Update venue

PATCH /venues/{id}

Same parameter shape as create. Pass only the fields you want to change.

Changing the time zone

A PATCH that changes venue[time_zone] returns 409 with type uneditable in two cases:

  • The venue’s time zone is already being updated. When a merchant changes it in the Event Ticketing app, the app moves the venue’s events so they keep their local times. Retry once that finishes.
  • The new zone would move a recurring event’s upcoming sessions. This applies when a recurring event at the venue uses time slots, operating hours, or set days of the week or month, or when the two zones change to daylight saving time on different dates. Change the zone from one of those events in the Event Ticketing app instead, which keeps their local times.

The whole request is refused, including any other fields in it. A PATCH that leaves out venue[time_zone], or sends the venue’s current zone, saves as usual.

HTTP/1.1 409 Conflict
{
  "type": "uneditable",
  "message": "This venue's time zone is being updated. Try again in a minute.",
  "error": true
}

The second case returns the same type with this message: “This venue has recurring events whose times or days would shift in the new time zone. To change its time zone and keep their times, open one of those events in the Event Ticketing app and change it from the venue’s settings.”