Basket

Baskets represent the items that a session is about to buy. This API only allows one basket per session.

APIDescription
GET api/Basket

Get the basket for the logged in user

PUT api/Basket

Makes a request to add items to the basket.

Cache

Data returned by the API is cached; call "Get" on the Cache endpoint to clear the cache and fetch data fresh from the database.

APIDescription
GET api/Cache

Clear the cache

CustomForms

Folder Show, Performance, Venue, Space and Genre data objects have a custom form attached

APIDescription
GET api/Shows/{showId}/CustomForm

No documentation available.

GET api/Performances/{performanceId}/CustomForm

No documentation available.

GET api/Venues/{venueId}/CustomForm

No documentation available.

GET api/Spaces/{spaceId}/CustomForm

No documentation available.

GET api/Genres/{genreId}/CustomForm

No documentation available.

GET api/CustomForms?formDataId={formDataId}

Get a custom form by custom form id

EcwidToken

This endpoint returns an ecwid SSO token for a given session id, signed using a pre-shared secret

APIDescription
GET api/EcwidToken

Folders

Folders are the fundamental organising principle of the Monad system. Genres, Venues, Spaces, Shows and Performances are all Folders.

APIDescription
GET api/Folders

Get children of the root folder

GET api/Folders?page={page}&pageSize={pageSize}

Get paged children of the root folder

GET api/Folders?parentId={parentId}

Get children of the parent folder

GET api/Folders?parentId={parentId}&page={page}&pageSize={pageSize}

Get paged children of the parent folder

GET api/Folders/{id}

Get a folder

Genres

Some folders can be tagged as "Genres" to help organise the content.

APIDescription
GET api/Genres?folderId={folderId}

Get genres. If the folderId parameter is supply, return all Genre folders that are a descendant of that folder.

GET api/Genres/{id}

Get a specific genre by Id

Packages

APIDescription
GET api/Packages/{id}

Get a specific package by Id

Performances

Some folders can be tagged as "Performances" to help organise the content.

APIDescription
GET api/Performances?folderId={folderId}&showId={showId}&genreId={genreId}&spaceId={spaceId}&venueId={venueId}&fromDate={fromDate}&toDate={toDate}&page={page}&pageSize={pageSize}

Get performances optionally paged and filtered by folder, show, genre, space, venue and dates

GET api/Performances/{id}

Get a specific performance by Id

Prices

APIDescription
GET api/Prices?productId={productId}

Get prices for a product

Products

Products are

APIDescription
GET api/Products?folderId={folderId}&performanceId={performanceId}&showId={showId}&genreId={genreId}&spaceId={spaceId}&venueId={venueId}&fromDate={fromDate}&toDate={toDate}&page={page}&pageSize={pageSize}

Get products optionally paged and filtered by folder, performnace, show, genre, space, venue and dates

GET api/Products/{id}

Get a specific product by Id

Quantities

APIDescription
GET api/Quantities?productId={productId}

Get quantities for a product

Seatplan

APIDescription
GET api/Seatplan?productId={productId}

Get seating plan for a product

Session

All API operations involving baskets require a session Id. Getting data about performances, shows, etc should not require a session Id.

APIDescription
PUT api/Session

If called without a sessionRequest object this will create a new placeholder session which is not logged in. Items can be added to the basket for this session, and then the user can log in later. If called with a sessionRequest and a SessionId in the headers, it will log in an existing session.

DELETE api/Session

Ends the current session

Shows

Some folders can be tagged as "Shows" to help organise the content.

APIDescription
GET api/Shows?folderId={folderId}&genreId={genreId}&spaceId={spaceId}&venueId={venueId}&fromDate={fromDate}&toDate={toDate}&page={page}&pageSize={pageSize}&searchText={searchText}

Get shows optionally paged and filtered by folder, genre, space, venue and dates.

GET api/Shows/{id}

Get a specific show by Id

Spaces

Some folders can be tagged as "Spaces" to help organise the content.

APIDescription
GET api/Spaces?folderId={folderId}&venueId={venueId}

Get spaces optionally filtered by folder and venue

GET api/Spaces/{id}

Get a specific space by Id

User

The user should be the customer interacting with the site.

APIDescription
GET api/User?userId={userId}

Get the User details for the currently logged in session. If the UserId does not match the request session id, throws an error.

PUT api/User

Creates a new user

UserStatuses

Get the user statuses for the currently logged in session. If the UserId does not match the request session id, throws an error.

APIDescription
GET api/UserStatuses?userId={userId}

No documentation available.

Venues

Some folders can be tagged as "Venues" to help organise the content.

APIDescription
GET api/Venues?folderId={folderId}

Get venues optionally filtered by folder

GET api/Venues/{id}

Get a specific venue by Id