attractions.ninja API (0.2.0)

Download OpenAPI specification:Download

Documentation for the upcoming Beaver Trison attractions API

Notes

API authentication

The attractions.ninja API supports two forms of authentication:

  • SAML single sign-on
  • Token based authentication. (Recommended for server to server connections)

Creating foreign key relationships

Some of the collections in this API support foreign key relationships to collections, for instance, a show may be assigned a show type and venue, while a site may be assigned an opening schedule. Where this is the case relationships may be created by providing a nested ID object in a POST or PATCH request. For example, a show may be assigned a venue by sending the following request to the show resource:

PATCH /sites/{siteId}/shows/{showId} HTTP/1.1
{
  "venue": {
    "id": "{showVenueId}"
  }
}

Paginated queries

By default queries to resource indexes (for example GET /sites) will return a maximum of 100 record in per response. This limit may be adjusted using the limit query string parameter (See the endpoint descriptions below) and where applicable next and previous links will be included in the response.

Authentication

ApiKeyAuth

Security Scheme Type API Key
Header parameter name: X-API-KEY

Birthdays

Operations relating to birthdays

Get a list of birthdays

Requires permissions: read:birthday, or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

query Parameters
fields
Array of strings
Items Enum: "active" "firstName" "lastName" "age" "birthDate" "created" "modified"

List of fields to return.

ids
Array of strings (ResourceId)
Example: ids=1LfPrL9N33rG5gpYgyqU

Resource IDs to return

date
string <date>
Example: date=2021-01-01

Return birthdays for a specific date.

limit
integer [ 1 .. 500 ]
Default: 100

The number of results to return.

startAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: startAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, startAt indicates the first resource that should be returned.

endAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: endAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, endAt indicates the first record that should not be returned.

startDate
string <date>
Example: startDate=2021-01-01

Exclude birthdays before this date.

endDate
string <date>
Example: endDate=2021-01-01

Exclude birthdays after this date.

Responses

Response samples

Content type
application/json
{}

Create a new birthday

Requires permissions: write:birthday, or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

Request Body schema: application/json
firstName
required
string

The first name of the visitor

lastName
string

The second name of the visitor

age
required
integer

The visitor's age

birthDate
required
string <date>

The visitor's birthday in ISO 8601 format (yyyy-mm-dd). This will be rejected if it is in the past (as determined by the current site's time zone).

Responses

Request samples

Content type
application/json
{
  • "firstName": "Peter",
  • "lastName": "Smith",
  • "age": 10,
  • "birthDate": "2021-01-01"
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "firstName": "Peter",
  • "lastName": "Smith",
  • "age": 10,
  • "birthDate": "2021-01-01",
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z"
}

Bulk update birthdays

Requires permissions: write:birthday, or admin

Birthdays including an exisiting ID will be updated, while all other valid birthdays will be created

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

Request Body schema: application/json
Array ()
firstName
required
string

The first name of the visitor

lastName
string

The second name of the visitor

age
required
integer

The visitor's age

birthDate
required
string <date>

The visitor's birthday in ISO 8601 format (yyyy-mm-dd). This will be rejected if it is in the past (as determined by the current site's time zone).

Responses

Request samples

Content type
application/json
Example
[
  • {
    },
  • {
    }
]

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Bulk delete birthdays

Requires permissions: delete:birthday, or admin

This endpoint allows the client to delete multiple birthday records in a single request. This endpoint will still return a 204 response if some, or all of the IDs don't exist.

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

query Parameters
ids
required
Array of strings (ResourceId)
Example: ids=1LfPrL9N33rG5gpYgyqU,EJFAlc6YWgK0jFV1jUVk

List of birthday IDs to delete.

Responses

Response samples

Content type
application/json
{
  • "code": 400,
  • "message": "name property is required"
}

Get a birthday by ID

Requires permissions: read:birthday, or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

birthdayId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested birthday ID.

query Parameters
fields
Array of strings
Items Enum: "active" "firstName" "lastName" "age" "birthDate" "created" "modified"

List of fields to return.

Responses

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "firstName": "Peter",
  • "lastName": "Smith",
  • "age": 10,
  • "birthDate": "2021-01-01",
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z"
}

Update an existing birthday

Requires permissions: write:birthday, or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

birthdayId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested birthday ID.

Request Body schema: application/json
firstName
string

The first name of the visitor.

lastName
string

The second name of the visitor.

age
integer

The visitor's age.

birthDate
string <date>

The visitor's birthday in ISO 8601 format (yyyy-mm-dd). This will be rejected if it is in the past (as determined by the current site's time zone).

Responses

Request samples

Content type
application/json
{
  • "firstName": "Peter",
  • "lastName": "Smith",
  • "age": 10,
  • "birthDate": "2021-01-01"
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "firstName": "Peter",
  • "lastName": "Smith",
  • "age": 10,
  • "birthDate": "2021-01-01",
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z"
}

Delete an existing birthday

Requires permissions: delete:birthday, or admin.

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

birthdayId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested birthday ID.

Responses

Response samples

Content type
application/json
{
  • "code": 400,
  • "message": "name property is required"
}

Food and Beverage

Operations relating to food and beverage vendors

Get a list of F&B vendors

Requires permissions: read:fandb or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

query Parameters
fields
Array of strings
Items Enum: "active" "created" "lat" "lng" "modified" "name"

List of fields to return

include
Array of strings
Items Value: "status"
Example: include=status

Related resources to include in the response

ids
Array of strings (ResourceId)
Example: ids=1LfPrL9N33rG5gpYgyqU

Resource IDs to return

active
boolean
Example: active=true

Filter results by active status.

startAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: startAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, startAt indicates the first resource that should be returned.

endAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: endAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, endAt indicates the first record that should not be returned.

limit
integer [ 1 .. 500 ]
Default: 100

The number of results to return.

Responses

Response samples

Content type
application/json
{}

Create a new F&B vendor

Requires permissions: write:fandb or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

Request Body schema: application/json
name
required
string
active
boolean
Default: true

Indicates if this vendor is active

lat
number [ -90 .. 90 ]

The vendor's latitude

lng
number [ -180 .. 180 ]

The vendor's longitude

Responses

Request samples

Content type
application/json
{
  • "name": "Just Chicken",
  • "active": true,
  • "lat": 51.3487204,
  • "lng": -0.3188455
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Just Chicken",
  • "active": true,
  • "lat": 51.3487204,
  • "lng": -0.3188455,
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z"
}

Get an F&B vendor by ID

Requires permissions: read:fandb or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

vendorId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested F&B vendor ID

query Parameters
fields
Array of strings
Items Enum: "active" "created" "lat" "lng" "modified" "name"

List of fields to return

include
Array of strings
Items Value: "status"
Example: include=status

Related resources to include in the response

Responses

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Just Chicken",
  • "active": true,
  • "lat": 51.3487204,
  • "lng": -0.3188455,
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z"
}

Update an existing F&B vendor

Requires permissions: write:fandb or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

vendorId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested F&B vendor ID

Request Body schema: application/json
name
string
active
boolean
Default: true

Indicates if this vendor is active

lat
number [ -90 .. 90 ]

The vendor's latitude

lng
number [ -180 .. 180 ]

The vendor's longitude

Responses

Request samples

Content type
application/json
{
  • "name": "Just Chicken",
  • "active": true,
  • "lat": 51.3487204,
  • "lng": -0.3188455
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Just Chicken",
  • "active": true,
  • "lat": 51.3487204,
  • "lng": -0.3188455,
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z"
}

Delete an existing F&B vendor

Requires permissions: delete:fandb or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

vendorId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested F&B vendor ID

Responses

Response samples

Content type
application/json
{
  • "code": 400,
  • "message": "name property is required"
}

Get an F&B vendor status

Requires permissions: read:fandb, read:fandb_status or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

vendorId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested F&B vendor ID

query Parameters
fields
Array of strings
Items Enum: "modified" "operational" "statusMessage" "openingTimes" "useCustomOpeningTimes"

List of fields to return

Responses

Response samples

Content type
application/json
{
  • "created": "2021-01-01T12:00:00.000Z",
  • "open": true,
  • "scheduledOpen": true,
  • "openingTime": "2021-01-01T10:00:00.000+00:00",
  • "closingTime": "2021-01-01T17:05:00.000+00:00",
  • "localTime": "2021-01-01T17:05:00.000+00:00",
  • "operational": true,
  • "statusMessage": "Closed all day",
  • "customOpeningTimes": {
    },
  • "useCustomOpeningTimes": true
}

Update an F&B vendor status

Requires permissions: write:fandb, write:fandb_status or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

vendorId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested F&B vendor ID

Request Body schema: application/json
operational
required
boolean

Indicates if the vendor is currently open

statusMessage
string
object (OpeningTimes)

Object representing a pair of opening and closing times

useCustomOpeningTimes
boolean
Default: true

Use the customOpeningTimes property to define this food vendor's opening times. If this is false, or customOpeningTimes is undefined the site opening times will be used.

Responses

Request samples

Content type
application/json
{
  • "operational": true,
  • "statusMessage": "Closed all day",
  • "customOpeningTimes": {
    },
  • "useCustomOpeningTimes": true
}

Response samples

Content type
application/json
{
  • "created": "2021-01-01T12:00:00.000Z",
  • "open": true,
  • "scheduledOpen": true,
  • "openingTime": "2021-01-01T10:00:00.000+00:00",
  • "closingTime": "2021-01-01T17:05:00.000+00:00",
  • "localTime": "2021-01-01T17:05:00.000+00:00",
  • "operational": true,
  • "statusMessage": "Closed all day",
  • "customOpeningTimes": {
    },
  • "useCustomOpeningTimes": true
}

Rides

Operations relating to client sites

Get a list of rides

Requires permissions: read:ride or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

query Parameters
fields
Array of strings
Items Enum: "active" "created" "lat" "lng" "modified" "name"

List of fields to return

include
Array of strings
Items Value: "status"
Example: include=status

Related resources to include in the response

ids
Array of strings (ResourceId)
Example: ids=1LfPrL9N33rG5gpYgyqU

Resource IDs to return

active
boolean
Example: active=true

Filter results by active status.

startAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: startAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, startAt indicates the first resource that should be returned.

endAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: endAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, endAt indicates the first record that should not be returned.

limit
integer [ 1 .. 500 ]
Default: 100

The number of results to return.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create a new ride

Requires permissions: write:ride or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

Request Body schema: application/json
name
required
string

The name of the ride

lat
number [ -90 .. 90 ]

The ride's latitude

lng
number [ -180 .. 180 ]

The ride's longitude

active
boolean
Default: true

Indicates if this ride is active

blipId
string

This ride's Blip ID

attractionsIoId
string

This ride's Attractions.io ID

Responses

Request samples

Content type
application/json
{
  • "name": "Spinball Whizzer",
  • "lat": 51.3487204,
  • "lng": -0.3188455,
  • "active": true,
  • "blipId": "dragonsfury",
  • "attractionsIoId": "100"
}

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get a ride by ID

Requires permissions: read:ride or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

rideId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested ride ID

query Parameters
include
Array of strings
Items Value: "status"
Example: include=status

Related resources to include in the response

fields
Array of strings
Items Enum: "active" "created" "lat" "lng" "modified" "name"

List of fields to return

Responses

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Spinball Whizzer",
  • "lat": 51.3487204,
  • "lng": -0.3188455,
  • "active": true,
  • "blipId": "dragonsfury",
  • "attractionsIoId": "100",
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "status": {
    }
}

Update an existing ride

Requires permissions: write:ride or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

rideId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested ride ID

Request Body schema: application/json
name
required
string

The name of the ride

lat
number [ -90 .. 90 ]

The ride's latitude

lng
number [ -180 .. 180 ]

The ride's longitude

active
boolean

Indicates if this ride is active

blipId
string

This ride's Blip ID

attractionsIoId
string

This ride's Attractions.io ID

Responses

Request samples

Content type
application/json
{
  • "name": "Spinball Whizzer",
  • "lat": 51.3487204,
  • "lng": -0.3188455,
  • "active": true,
  • "blipId": "dragonsfury",
  • "attractionsIoId": "100"
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Spinball Whizzer",
  • "lat": 51.3487204,
  • "lng": -0.3188455,
  • "active": true,
  • "blipId": "dragonsfury",
  • "attractionsIoId": "100",
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "status": {
    }
}

Delete an existing ride

Requires permissions: delete:ride or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

rideId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested ride ID

Responses

Response samples

Content type
application/json
{
  • "code": 400,
  • "message": "name property is required"
}

Get a ride status

Requires permissions: read:ride, read:ride_status or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

rideId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested ride ID

query Parameters
fields
Array of strings
Items Enum: "modified" "operational" "statusMessage" "openingTimes" "useCustomOpeningTimes"

List of fields to return

Responses

Response samples

Content type
application/json
{
  • "created": "2021-01-01T12:00:00.000Z",
  • "open": true,
  • "scheduledOpen": true,
  • "openingTime": "2021-01-01T10:00:00.000+00:00",
  • "closingTime": "2021-01-01T17:05:00.000+00:00",
  • "localTime": "2021-01-01T17:05:00.000+00:00",
  • "operational": true,
  • "statusMessage": "Closed all day",
  • "customOpeningTimes": {
    },
  • "useCustomOpeningTimes": true,
  • "queueTime": 300,
  • "useBlip": true,
  • "blipQueueTime": 300,
  • "blipOpeningTimes": {
    }
}

Update a ride status

Requires permissions: write:ride, write:ride_status or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

rideId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested ride ID

Request Body schema: application/json
operational
required
boolean

Indicates if the ride is open.

statusMessage
string
object (OpeningTimes)

Object representing a pair of opening and closing times

useCustomOpeningTimes
boolean
Default: false

Use the customOpeningTimes property to define this ride's opening times. If this is false, or customOpeningTimes is undefined the site opening times will be used.

queueTime
integer
Default: 0

Current queue time in seconds

useBlip
boolean
Default: false

Uses queue time from Blip

Responses

Request samples

Content type
application/json
{
  • "operational": true,
  • "statusMessage": "Closed all day",
  • "customOpeningTimes": {
    },
  • "useCustomOpeningTimes": true,
  • "queueTime": 300,
  • "useBlip": true
}

Response samples

Content type
application/json
{
  • "created": "2021-01-01T12:00:00.000Z",
  • "open": true,
  • "scheduledOpen": true,
  • "openingTime": "2021-01-01T10:00:00.000+00:00",
  • "closingTime": "2021-01-01T17:05:00.000+00:00",
  • "localTime": "2021-01-01T17:05:00.000+00:00",
  • "operational": true,
  • "statusMessage": "Closed all day",
  • "customOpeningTimes": {
    },
  • "useCustomOpeningTimes": true,
  • "queueTime": 300,
  • "useBlip": true,
  • "blipQueueTime": 300,
  • "blipOpeningTimes": {
    }
}

Schedules

Operations relating to opening/closing schedules

Get a list of schedules.

Requires permissions: read:schedule, or admin.

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

query Parameters
fields
Array of strings
Items Enum: "name" "active" "created" "modified" "days"

List of fields to return

ids
Array of strings (ResourceId)
Example: ids=1LfPrL9N33rG5gpYgyqU

Resource IDs to return

active
boolean
Example: active=true

Filter results by active status.

startAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: startAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, startAt indicates the first resource that should be returned.

endAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: endAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, endAt indicates the first record that should not be returned.

limit
integer [ 1 .. 500 ]
Default: 100

The number of results to return.

Responses

Response samples

Content type
application/json
{}

Create a new schedule.

Requires permissions: write:schedule, or admin.

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

Request Body schema: application/json
name
required
string
active
boolean
Default: true

Indicates if this schedule is active.

required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "name": "off-peak",
  • "active": true,
  • "days": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "off-peak",
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "active": true,
  • "days": [
    ]
}

Get a schedule by ID

Requires permissions: read:schedule, or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

scheduleId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested schedule ID

query Parameters
fields
Array of strings
Items Enum: "name" "active" "created" "modified" "days"

List of fields to return

Responses

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "off-peak",
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "active": true,
  • "days": [
    ]
}

Update an existing schedule

Requires permissions: write:schedule, or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

scheduleId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested schedule ID

Request Body schema: application/json
name
string
active
boolean
Default: true

Indicates if this schedule is active

Array of objects

Responses

Request samples

Content type
application/json
{
  • "name": "off-peak",
  • "active": true,
  • "days": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "off-peak",
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "active": true,
  • "days": [
    ]
}

Delete an existing schedule

Requires permissions: delete:schedule, or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

scheduleId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested schedule ID

Responses

Response samples

Content type
application/json
{
  • "code": 400,
  • "message": "name property is required"
}

Shows

Operations relating to shows

Get a list of shows

Requires permissions: read:show or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

query Parameters
fields
Array of strings
Items Enum: "name" "active" "created" "modified" "legalText" "order" "image" "times"

List of fields to return

include
Array of strings
Items Enum: "status" "type" "venue"
Example: include=status,type,venue

Related resources to include in the response

ids
Array of strings (ResourceId)
Example: ids=1LfPrL9N33rG5gpYgyqU

Resource IDs to return

active
boolean
Example: active=true

Filter results by active status.

startAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: startAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, startAt indicates the first resource that should be returned.

endAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: endAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, endAt indicates the first record that should not be returned.

limit
integer [ 1 .. 500 ]
Default: 100

The number of results to return.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create a new show

Requires permissions: write:show or admin If the request includes an image use content type multipart/form-data as outlined below.

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

Request Body schema:
name
required
string

The name of the show

active
boolean
Default: true

Indicates if this show is active

legalText
string

Any legal text that should appear alongside the show listing

order
number

Controls the order in which shows appear

object (NestedResourceId)

A resource ID nested inside an object

object (NestedResourceId)

A resource ID nested inside an object

times
required
Array of strings (Time)

Responses

Request samples

Content type
{
  • "name": "Gruffalo Meet and Greet",
  • "active": true,
  • "legalText": "(C) 2021",
  • "order": 1,
  • "type": {
    },
  • "venue": {
    },
  • "times": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Gruffalo Meet and Greet",
  • "active": true,
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "legalText": "(C) 2021",
  • "order": 1,
  • "type": {
    },
  • "venue": {
    },
  • "status": {
    },
  • "times": [
    ]
}

Get a show by ID

Requires permissions: read:show or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

showId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested show ID

query Parameters
fields
Array of strings
Items Enum: "name" "active" "created" "modified" "legalText" "order" "image" "times"

List of fields to return

include
Array of strings
Items Enum: "status" "type" "venue"
Example: include=status,type,venue

Related resources to include in the response

Responses

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Gruffalo Meet and Greet",
  • "active": true,
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "legalText": "(C) 2021",
  • "order": 1,
  • "type": {
    },
  • "venue": {
    },
  • "status": {
    },
  • "times": [
    ]
}

Update an existing show

Requires permissions: write:show or admin If the request includes an image use content type multipart/form-data as outlined below.

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

showId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested show ID

Request Body schema:
name
string

The name of the show

active
boolean
Default: true

Indicates if this show is active

legalText
string

Any legal text that should appear alongside the show listing

order
number

Controls the order in which shows appear

object (NestedResourceId)

A resource ID nested inside an object

object (NestedResourceId)

A resource ID nested inside an object

times
Array of strings (Time)

Responses

Request samples

Content type
{
  • "name": "Gruffalo Meet and Greet",
  • "active": true,
  • "legalText": "(C) 2021",
  • "order": 1,
  • "type": {
    },
  • "venue": {
    },
  • "times": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Gruffalo Meet and Greet",
  • "active": true,
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "legalText": "(C) 2021",
  • "order": 1,
  • "type": {
    },
  • "venue": {
    },
  • "status": {
    },
  • "times": [
    ]
}

Delete an existing show

Requires permissions: delete:show or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

showId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested show ID

Responses

Response samples

Content type
application/json
{
  • "code": 400,
  • "message": "name property is required"
}

Get a show status

Requires permissions: read:show, read:show_status or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

showId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested show ID

query Parameters
fields
Array of strings
Items Enum: "modified" "operational" "statusMessage"

List of fields to return

Responses

Response samples

Content type
application/json
{
  • "created": "2021-01-01T12:00:00.000Z",
  • "operational": true,
  • "statusMessage": "Closed all day",
  • "localTime": "2021-01-01T17:05:00.000+00:00",
  • "showsToday": [
    ]
}

Update a show status

Requires permissions: write:show, write:show_status or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

showId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested show ID

Request Body schema: application/json
operational
required
boolean

Indicates if the show is currently running

statusMessage
string

Responses

Request samples

Content type
application/json
{
  • "operational": true,
  • "statusMessage": "Closed all day"
}

Response samples

Content type
application/json
{
  • "created": "2021-01-01T12:00:00.000Z",
  • "operational": true,
  • "statusMessage": "Closed all day",
  • "localTime": "2021-01-01T17:05:00.000+00:00",
  • "showsToday": [
    ]
}

Show Types

Operations relating to show types

Get a list of show types

Requires permissions: read:show_type or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

query Parameters
fields
Array of strings
Items Enum: "name" "active" "created" "modified"

List of fields to return

ids
Array of strings (ResourceId)
Example: ids=1LfPrL9N33rG5gpYgyqU

Resource IDs to return

active
boolean
Example: active=true

Filter results by active status.

startAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: startAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, startAt indicates the first resource that should be returned.

endAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: endAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, endAt indicates the first record that should not be returned.

limit
integer [ 1 .. 500 ]
Default: 100

The number of results to return.

Responses

Response samples

Content type
application/json
{}

Create a new show type

Requires permissions: write:show_type or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

Request Body schema: application/json
name
required
string
active
boolean
Default: true

Indicates if this show type is active

Responses

Request samples

Content type
application/json
{
  • "name": "Roarsome Entertainment",
  • "active": true
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Roarsome Entertainment",
  • "active": true,
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z"
}

Get a show type by ID

Requires permissions: read:show_type or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

showTypeId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested show type ID

query Parameters
fields
Array of strings
Items Enum: "name" "active" "created" "modified"

List of fields to return

Responses

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Roarsome Entertainment",
  • "active": true,
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z"
}

Update an existing show type

Requires permissions: write:show_type or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

showTypeId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested show type ID

Request Body schema: application/json
name
required
string
active
boolean
Default: true

Indicates if this show type is active

Responses

Request samples

Content type
application/json
{
  • "name": "Roarsome Entertainment",
  • "active": true
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Roarsome Entertainment",
  • "active": true,
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z"
}

Delete an existing show type

Requires permissions: delete:show_type or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

showTypeId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested show type ID

Responses

Response samples

Content type
application/json
{
  • "code": 400,
  • "message": "name property is required"
}

Show Venues

Operations relating to show venues

Get a list of show venues

Requires permissions: read:show_venue or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

query Parameters
fields
Array of strings
Items Enum: "name" "active" "created" "modified"

List of fields to return

ids
Array of strings (ResourceId)
Example: ids=1LfPrL9N33rG5gpYgyqU

Resource IDs to return

active
boolean
Example: active=true

Filter results by active status.

startAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: startAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, startAt indicates the first resource that should be returned.

endAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: endAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, endAt indicates the first record that should not be returned.

limit
integer [ 1 .. 500 ]
Default: 100

The number of results to return.

Responses

Response samples

Content type
application/json
{}

Create a new show venue

Requires permissions: write:show_venue or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

Request Body schema: application/json
name
required
string
active
boolean
Default: true

Indicates if this show venue is active

lat
number [ -90 .. 90 ]

The venue's latitude

lng
number [ -180 .. 180 ]

The venues's longitude

Responses

Request samples

Content type
application/json
{
  • "name": "The Mane Stage",
  • "active": true,
  • "lat": 51.3487204,
  • "lng": -0.3188455
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "The Mane Stage",
  • "active": true,
  • "lat": 51.3487204,
  • "lng": -0.3188455,
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z"
}

Get a show venue by ID

Requires permissions: read:show_venue or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

showVenueId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested show venue ID

query Parameters
fields
Array of strings
Items Enum: "name" "active" "created" "modified"

List of fields to return

Responses

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "The Mane Stage",
  • "active": true,
  • "lat": 51.3487204,
  • "lng": -0.3188455,
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z"
}

Update an existing show venue

Requires permissions: write:show_venue or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

showVenueId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested show venue ID

Request Body schema: application/json
name
string
active
boolean
Default: true

Indicates if this show venue is active

lat
number [ -90 .. 90 ]

The venue's latitude

lng
number [ -180 .. 180 ]

The venue's longitude

Responses

Request samples

Content type
application/json
{
  • "name": "The Mane Stage",
  • "active": true,
  • "lat": 51.3487204,
  • "lng": -0.3188455
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Gruffalo Meet and Greet",
  • "active": true,
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "legalText": "(C) 2021",
  • "order": 1,
  • "type": {
    },
  • "venue": {
    },
  • "status": {
    },
  • "times": [
    ]
}

Delete an existing show venue

Requires permissions: delete:show_venue or admin

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

showVenueId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested show venue ID

Responses

Response samples

Content type
application/json
{
  • "code": 400,
  • "message": "name property is required"
}

Log

Operations relating to log entries

Get a list of log entries

Requires permissions: read:log_entry, or admin

By default this endpoint will provide log entries from the last 30 days unless the startDate and/or endDate query parameters are set.

Authorizations:
query Parameters
action
string
Enum: "create" "update" "delete"

Filter log entries by action type

collection
string
Enum: "birthdays" "foodVendors" "foodVendorStatus" "rides" "rideStatus" "schedules" "shows" "showStatus" "showTypes" "showVenues" "sites" "tokens" "users" "userTypes"

Filter log entries by collection

resourceId
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: resourceId=1LfPrL9N33rG5gpYgyqU

Filter log entries by resource ID

clientType
string
Enum: "token" "user"
Example: clientType=token

Filter log entries by client type

string or ResourceId (string)
Examples:
  • clientId=user@example.com - User email address
  • clientId=1LfPrL9N33rG5gpYgyqU - Authentication token ID

Filter log entries by client ID.

siteId
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: siteId=1LfPrL9N33rG5gpYgyqU

Filter log entries by site ID.

limit
integer [ 1 .. 500 ]
Default: 100

The number of results to return.

offset
integer >= 0
Default: 0

Number of results to skip.

fields
Array of strings
Items Enum: "action" "collection" "resourceId" "data" "time" "clientType" "clientName" "clientId" "siteId"

List of fields to return.

startTime
string <date-time>
Example: startTime=2021-01-01T12:00:00.000Z

Find log entries after this time.

endTime
string <date-time>
Example: endTime=2021-01-01T12:00:00.000Z

Find log entries before this time.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Sites

Operations relating to sites (e.g. resort parks)

Get a list of sites

Authorizations:
query Parameters
active
boolean
Example: active=true

Filter results by active status.

ids
Array of strings (ResourceId)
Example: ids=1LfPrL9N33rG5gpYgyqU

Resource IDs to return

fields
Array of strings
Items Enum: "name" "active" "created" "modified" "timeZone" "blipEnabled" "blipEndpoint" "claimValue" "siteFeatures"
Example: fields=name,active,created,modified,timeZone

List of fields to return

include
Array of strings
Items Value: "schedule"
Example: include=schedule

Related resources to include in the response

startAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: startAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, startAt indicates the first resource that should be returned.

endAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: endAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, endAt indicates the first record that should not be returned.

limit
integer [ 1 .. 500 ]
Default: 100

The number of results to return.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create a new site

Authorizations:
Request Body schema: application/json
name
required
string

The name of the site

active
boolean
Default: true

Indicates if this site is active

address1
string

The first line of the site's address

address2
string

The second line of the site's address

town
string

The town in which the site is located

county
string

The county in which the site is located

postcode
string

The site's postcode

country
string

A two-letter country code for the site's location.

blipEnabled
boolean
Default: false

Site uses Blip

blipEndpoint
string

Blip API endpoint

claimValue
required
string^site:\S+$

A string used to identify this user type within your SAML identity provider. This should start with 'site:' and should not contain any spaces

timeZone
string
Default: "Europe/London"

Site time zone in tz database format

object

An object indicating which features are enabled at this site

Responses

Request samples

Content type
application/json
{
  • "name": "Alton Towers Theme Park",
  • "active": true,
  • "address1": "Chessington World of Adventures Resort",
  • "address2": "Leatherhead Rd",
  • "town": "Chessington",
  • "county": "Surrey",
  • "postcode": "KT9 2NE",
  • "country": "GB",
  • "blipEnabled": true,
  • "claimValue": "string",
  • "timeZone": "Europe/London",
  • "siteFeatures": {
    }
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Alton Towers Theme Park",
  • "active": true,
  • "address1": "Chessington World of Adventures Resort",
  • "address2": "Leatherhead Rd",
  • "town": "Chessington",
  • "county": "Surrey",
  • "postcode": "KT9 2NE",
  • "country": "GB",
  • "blipEnabled": true,
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "claimValue": "string",
  • "timeZone": "Europe/London",
  • "siteFeatures": {
    },
  • "schedule": {
    }
}

Get a site by ID

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

query Parameters
fields
Array of strings
Items Enum: "name" "active" "created" "modified" "timeZone" "blipEnabled" "blipEndpoint" "claimValue" "siteFeatures"
Example: fields=name,active,created,modified,timeZone

List of fields to return

include
Array of strings
Items Value: "schedule"
Example: include=schedule

Related resources to include in the response

Responses

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Alton Towers Theme Park",
  • "active": true,
  • "address1": "Chessington World of Adventures Resort",
  • "address2": "Leatherhead Rd",
  • "town": "Chessington",
  • "county": "Surrey",
  • "postcode": "KT9 2NE",
  • "country": "GB",
  • "blipEnabled": true,
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "claimValue": "string",
  • "timeZone": "Europe/London",
  • "siteFeatures": {
    },
  • "schedule": {
    }
}

Update an existing site

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

Request Body schema: application/json

Send stuff

name
string

The name of the site

active
boolean

Indicates if this site is active

address1
string

The first line of the site's address

address2
string

The second line of the site's address

town
string

The town in which the site is located

county
string

The county in which the site is located

postcode
string

The site's postcode

country
string

A two-letter country code for the site's location.

blipEnabled
boolean
Default: false

Site uses Blip

blipEndpoint
string

Blip API endpoint

claimValue
string^site:\S+$

A string used to identify this user type within your SAML identity provider. This should start with 'site:' and should not contain any spaces

timeZone
string

Site time zone in tz database format

object

An object indicating which features are enabled at this site

NestedResourceId (object)

Responses

Request samples

Content type
application/json
{
  • "name": "Alton Towers Theme Park",
  • "active": true,
  • "address1": "Chessington World of Adventures Resort",
  • "address2": "Leatherhead Rd",
  • "town": "Chessington",
  • "county": "Surrey",
  • "postcode": "KT9 2NE",
  • "country": "GB",
  • "blipEnabled": true,
  • "claimValue": "string",
  • "timeZone": "Europe/London",
  • "siteFeatures": {
    },
  • "schedule": {
    }
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Alton Towers Theme Park",
  • "active": true,
  • "address1": "Chessington World of Adventures Resort",
  • "address2": "Leatherhead Rd",
  • "town": "Chessington",
  • "county": "Surrey",
  • "postcode": "KT9 2NE",
  • "country": "GB",
  • "blipEnabled": true,
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "claimValue": "string",
  • "timeZone": "Europe/London",
  • "siteFeatures": {
    },
  • "schedule": {
    }
}

Delete an existing site

Authorizations:
path Parameters
siteId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested site ID

Responses

Response samples

Content type
application/json
{
  • "code": 400,
  • "message": "name property is required"
}

Tokens

Operations relating to authentication tokens

Get a list of tokens.

Requires permissions: read:token, or admin.

Authorizations:
query Parameters
ids
Array of strings (ResourceId)
Example: ids=1LfPrL9N33rG5gpYgyqU

Resource IDs to return

field
Array of strings
Items Enum: "name" "created" "modified" "permissions" "sites"

List of fields to return

startAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: startAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, startAt indicates the first resource that should be returned.

endAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: endAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, endAt indicates the first record that should not be returned.

limit
integer [ 1 .. 500 ]
Default: 100

The number of results to return.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create a new token

Requires permissions: write:token, or admin. Users without admin may only assign permissions that they themselves already possess. Requests including other permissions will receive a 403 response.

Authorizations:
Request Body schema: application/json
name
string

Name indicating the inteded use of this token

permissions
required
Array of strings (Permissions)
Items Enum: "read:birthday" "write:birthday" "delete:birthday" "read:fandb" "write:fandb" "delete:fandb" "read:fandb_status" "write:fandb_status" "read:log_entry" "read:ride" "write:ride" "delete:ride" "read:ride_status" "write:ride_status" "read:schedule" "write:schedule" "delete:schedule" "read:site" "write:site" "delete:site" "read:show" "write:show" "delete:show" "read:show_status" "write:show_status" "read:show_type" "write:show_type" "delete:show_type" "read:show_venue" "write:show_venue" "delete:show_venue" "read:token" "write:token" "delete:token" "read:user" "write:user" "delete:user" "read:user_type" "write:user_type" "delete:user_type" "admin"

An array of permissions belonging to a user type or token

required
Array of objects (NestedResourceId)

Responses

Request samples

Content type
application/json
{
  • "name": "Third party integration",
  • "permissions": [
    ],
  • "sites": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Third party integration",
  • "value": "bHQ-VNGcn34azI0kglxYBJ1g6P0c1OgHfyZbJ4DQ4IOs9MC3BRaO2xGPQsBD9TnS",
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "permissions": [
    ],
  • "sites": [
    ]
}

Get a token by ID

Requires permissions: read:token, or admin

Authorizations:
path Parameters
tokenId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested token ID

query Parameters
field
Array of strings
Items Enum: "name" "created" "modified" "permissions" "sites"

List of fields to return

Responses

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Third party integration",
  • "value": "bHQ-VNGcn34azI0kglxYBJ1g6P0c1OgHfyZbJ4DQ4IOs9MC3BRaO2xGPQsBD9TnS",
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "permissions": [
    ],
  • "sites": [
    ]
}

Revoke an existing token

Requires permissions: delete:token, or admin

Authorizations:
path Parameters
tokenId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested token ID

Responses

Response samples

Content type
application/json
{
  • "code": 400,
  • "message": "name property is required"
}

User Types

Operations relating to user types

Get a list of user types

Requires permissions: read:user_type, or admin

Authorizations:
query Parameters
ids
Array of strings (ResourceId)
Example: ids=1LfPrL9N33rG5gpYgyqU

Resource IDs to return

fields
Array of strings
Items Enum: "active" "claimValue" "created" "modified" "name" "permissions"

List of fields to return

active
boolean
Example: active=true

Filter results by active status.

startAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: startAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, startAt indicates the first resource that should be returned.

endAt
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: endAt=4Armn7qZtvkmdWx8XbVi

Used in paginated queries, endAt indicates the first record that should not be returned.

limit
integer [ 1 .. 500 ]
Default: 100

The number of results to return.

Responses

Response samples

Content type
application/json
{}

Create a new user type

Requires permissions: write:user_type, or admin Users without admin may only assign permissions that they themselves already possess. Requests including other permissions will receive a 403 response.

Authorizations:
Request Body schema: application/json
name
required
string

The name of the user type

active
boolean
Default: true

Indicates if this user type is active

claimValue
required
string^role:\S+$

A string used to identify this user type within your SAML identity provider. This should start with 'role:' and should not contain any spaces

permissions
required
Array of strings (Permissions)
Items Enum: "read:birthday" "write:birthday" "delete:birthday" "read:fandb" "write:fandb" "delete:fandb" "read:fandb_status" "write:fandb_status" "read:log_entry" "read:ride" "write:ride" "delete:ride" "read:ride_status" "write:ride_status" "read:schedule" "write:schedule" "delete:schedule" "read:site" "write:site" "delete:site" "read:show" "write:show" "delete:show" "read:show_status" "write:show_status" "read:show_type" "write:show_type" "delete:show_type" "read:show_venue" "write:show_venue" "delete:show_venue" "read:token" "write:token" "delete:token" "read:user" "write:user" "delete:user" "read:user_type" "write:user_type" "delete:user_type" "admin"

An array of permissions belonging to a user type or token

Responses

Request samples

Content type
application/json
{
  • "name": "admin",
  • "active": true,
  • "claimValue": "string",
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "admin",
  • "active": true,
  • "claimValue": "role:admin",
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "permissions": [
    ]
}

Get a user type by ID

Requires permissions: read:user_type, or admin

Authorizations:
path Parameters
userTypeId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested user type ID

query Parameters
fields
Array of strings
Items Enum: "active" "claimValue" "created" "modified" "name" "permissions"

List of fields to return

Responses

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "admin",
  • "active": true,
  • "claimValue": "role:admin",
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "permissions": [
    ]
}

Update an existing user type

Requires permissions: read:write_type, or admin

Authorizations:
path Parameters
userTypeId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested user type ID

Request Body schema: application/json
name
string

The name of the user type

active
boolean
Default: true

Indicates if this user type is active

claimValue
string^role:\S+$

A string used to identify this user type within your SAML identity provider. This should start with 'role:' and should not contain any spaces

permissions
Array of strings (Permissions)
Items Enum: "read:birthday" "write:birthday" "delete:birthday" "read:fandb" "write:fandb" "delete:fandb" "read:fandb_status" "write:fandb_status" "read:log_entry" "read:ride" "write:ride" "delete:ride" "read:ride_status" "write:ride_status" "read:schedule" "write:schedule" "delete:schedule" "read:site" "write:site" "delete:site" "read:show" "write:show" "delete:show" "read:show_status" "write:show_status" "read:show_type" "write:show_type" "delete:show_type" "read:show_venue" "write:show_venue" "delete:show_venue" "read:token" "write:token" "delete:token" "read:user" "write:user" "delete:user" "read:user_type" "write:user_type" "delete:user_type" "admin"

An array of permissions belonging to a user type or token

Responses

Request samples

Content type
application/json
{
  • "name": "admin",
  • "active": true,
  • "claimValue": "string",
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "admin",
  • "active": true,
  • "claimValue": "role:admin",
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "permissions": [
    ]
}

Delete an existing user type

Requires permissions: delete:user_type, or admin

Authorizations:
path Parameters
userTypeId
required
string (ResourceId) ^[a-zA-z0-9]{20}$
Example: 1LfPrL9N33rG5gpYgyqU

Requested user type ID

Responses

Response samples

Content type
application/json
{
  • "code": 400,
  • "message": "name property is required"
}

Authentication

Get a description of the current client

Returns a description of the permissions associated with the token or user accessing this endpoint

Authorizations:

Responses

Response samples

Content type
application/json
Example
{
  • "id": "1LfPrL9N33rG5gpYgyqU",
  • "name": "Third party integration",
  • "value": "bHQ-VNGcn34azI0kglxYBJ1g6P0c1OgHfyZbJ4DQ4IOs9MC3BRaO2xGPQsBD9TnS",
  • "created": "2021-01-01T12:00:00.000Z",
  • "modified": "2021-01-01T12:00:00.000Z",
  • "permissions": [
    ],
  • "sites": [
    ]
}

Log a user login via SAML

Log a SAML login Intended for internal use only

Authorizations:
Request Body schema: application/json
email
string <email>

User's email address

firstName
string

User's first name

job
string

User's job title

lastName
string

User's last name

object (NestedResourceId)

A resource ID nested inside an object

Array of objects (NestedResourceId)

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "firstName": "Peter",
  • "job": "Developer",
  • "lastName": "Smith",
  • "userType": {
    },
  • "sites": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 400,
  • "message": "name property is required"
}