All In DMS API (0.192.14)

Download OpenAPI specification:

All In DMS API

Introduction

With the All In DMS REST API you can manage and change Account, Organisation and Event resources programmatically, using HTTP. The API gives you simple access to the functionality. You can use this access to create and manage the resources.

API Error Response codes

Response Code Description
Authentication
10001 username and password combination is incorrect
10002 format of request body is invalid
10003 unexpected error from auth provider
10004 unexpected auth provider error or database connection error
10005 bearer token has been successfully invalidated
10006 refresh token body incorrect
10007 invalid token, user session cannot be renewed
10008 email address is already in use
10009 invalid email address
10010 invalid signup data
10011 password does not meet security requirements
10012 signup is currently disabled
10013 refresh token has been revoked
10014 session containing the refresh token not found
Files
11001 file not found error
11002 file upload error
User
12001 User not found
12002 user not confirmed
12003 user is banned
12004 user account has been disabled
12005 user member profile not found
12006 user member profile format incorrect
12007 user member profile already exists for user
12008 user member profile provision format incorrect
12009 user member profile evidence format incorrect
12010 user member provision not found
12011 user provision evidence not found
12012 shared profile not found
12013 wallet data exceeds QR code capacity
12014 user member provision already created for user and standard
Authorisation
13001 Invalid roles for action
13002 subscription expired
13003 subscription not found
13004 subscription max locations reached
13005 subscription tier has no access to feature
13006 subscription tier for pilot orgs only
13007 invoice creation failed
13008 subscription product not found
13009 location product not found
13010 invoice not found
13011 invoice does not belong to organisation
13012 Organisation VAT country not set
Standards
14001 Standard not found
14002 Standard not active
14003 Standard is not used in locations
14004 photo not found
14005 Standard with All In code already in use
Organisation
15001 organisation not found
15002 invalid organisation format
15003 invalid organisation user format
15004 organisation user not found
15005 user is in organisation
15006 user must be an organisation admin
15007 user cannot change another user's role
15008 organisation not found for user
15009 requested invite has been cancelled
15010 cultural organization not found
15011 location not found
15012 user has accepted invite
15013 requested invite is not for requested organisation
15014 requested invite is not for requested user
15015 requested invite has been rejected
15016 provider configuration for organisation not found
15017 provider configuration incorrect
15018 event format incorrect
15019 event instance format incorrect
15020 zone not found
15021 invalid zone format
15022 invalid location format
15023 mapping not found
15024 invalid cultural profile format
15025 invite not found
15026 support organization not found
15027 invalid support profile format
15028 organisation group not found for user
15029 invite for organisation group error
15030 proxy organization not found
15031 invalid proxy profile format.
15032 organisation data validation failed for approval
15033 organisation has not been approved
15034 analytics organization not found
15035 invalid analytics profile format
15036 failed to update Stripe customer information
15037 failed to update Stripe tax information
15038 failed to create Stripe customer
15039 cultural profile already exists for this organisation
15040 support profile already exists for this organisation
15041 proxy profile already exists for this organisation
15042 analytics profile already exists for this organisation
15043 user does not belong to any organisation
Events
16001 event not found
16002 event instance not found
16003 locationId cannot be set at the same time as locationUrl or locationName
General
99001 unspecific error
99002 parameter is the incorrect format
99003 paging parameters are incorrect
99004 request body has incorrect values or format
99005 query fields are incorrect or missing

Invited user status descriptions

Status Description
Invited User has been invited to join an organisation
Accepted User has accepted the invitation
Rejected User has rejected the invitation

Subscription tier descriptions

Value Description
Tier1 All in Taster account
Tier2 All in Essentials
Tier3 All in Plus

Language Codes

Code Language
en English
cy Welsh (Cymraeg)
ga Irish (Gaeilge)
gd Scottish Gaelic (Gàidhlig)

Member Profile Provision Categories

Value Description
NotUsedInMemberProfile Not used in Member Profile
MobilityAndWheelchairAccess Mobility and Wheelchair Access
ToiletsAndFacilities Toilets and Facilities
Parking Parking
AudioAssistance Audio Assistance
SignLanguageAndOtherSignSystems Sign language and other sign systems
VisualAssistance Visual Assistance
TactileAssistance Tactile Assistance
AssistanceAnimals Assistance Animals
InformationInAlternativeFormats Information in Alternative Formats
AdaptedPerformancesAndSensoryAccess Adapted Performances and Sensory Access
BookingFlexibilityAndCompanionTickets Booking Flexibility and Companion Tickets
SeatingAccess Seating Access

Emails

Emails will be stored in the system as lowercase, both for users and organisations.

JavaScript Examples

Creating a session

const sessionReq = new Request("https://base-url/v1/auth/login", {
  method: "POST",
  body: JSON.stringify({ email: "user@eg.net", password: "***" }),
  headers: { "Content-Type": "application/json" },
});
const createRes = await fetch(sessionReq);
const jsonResponse = createRes.json();
const jwt = res.access_token;

Cancelling a session

const sessionReq = new Request("https://base-url/v1/auth/logout", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorisation: "Bearer " + jwt,
  },
});

Requesting a resource

const sessionReq = new Request("https://base-url/v3/helloworld", {
  method: "GET",
  headers: {
    "Content-Type": "application/json",
    Authorisation: "Bearer " + jwt,
  },
});

const createRes = await fetch(sessionReq);
const jsonResponse = createRes.json();

Signing up a new account

const sessionReq = new Request("https://base-url/v1/auth/signup", {
  method: "POST",
  body: JSON.stringify({
    name: "full name",
    email: "user@eg.net",
    password: "***",
    confirmPassword: "***",
  }),
  headers: { "Content-Type": "application/json" },
});
const createRes = await fetch(sessionReq);
const userData = createRes.json();
// User awaits for an email to confirm account

Zones

Update a zone

This operation updates an existing zone inside a location of the organisation for the current authenticated user

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

locationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

location unique id

zoneId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

zone unique id

Request Body schema: application/json
required

Zone payload

name
string

name of zone

description
string

description of zone

zoneType
string
Enum: "Retail" "Gallery" "Auditorium" "MultiUse" "Outdoor" "FoodAndDrink" "Backstage" "Other"

zoneType of zone

videoUrl
string

videoUrl for zone

videoDescription
string

videoDescription for zone

visualStory
string

visual story for zone

photo1FileId
string or null

fileId for photo1 for zone - supply a file Id to set a new photo, or null to remove the existing photo

photo1AltText
string

AltText for photo 1 for zone

photo1Credit
string

Credit for photo 1 for zone

photo1Caption
string

Caption for photo 1 for zone

photo2FileId
string or null

fileId for photo2 for zone - supply a file Id to set a new photo, or null to remove the existing photo

photo2AltText
string

AltText for photo 2 for zone

photo2Credit
string

Credit for photo 2 for zone

photo2Caption
string

Caption for photo 2 for zone

photo3FileId
string or null

fileId for photo3 for zone - supply a file Id to set a new photo, or null to remove the existing photo

photo3AltText
string

AltText for photo 3 for zone

photo3Credit
string

Credit for photo 3 for zone

photo3Caption
string

Caption for photo 3 for zone

approvalStatus
string
Value: "AwaitingResponse"

approval status of zone, only valid value is 'AwaitingResponse' will change the status from the current value to 'Awaiting Approval' to indicate it is ready for review

publishedStatus
string
Enum: "Published" "Archived"

published status of zone

Responses

Request samples

Content type
application/json
{
  • "name": "Test Zone",
  • "description": "Some description",
  • "approvalStatus": "AwaitingResponse",
  • "publishedStatus": "Published"
}

Response samples

Content type
application/json
{
  • "id": "11111111-1111-1111-1111-111111111111",
  • "name": "API Theatre Group - Zone 1",
  • "description": "description of zone",
  • "zoneType": "Gallery",
  • "videoDescription": "video description of zone",
  • "visualStory": null,
  • "approvalStatus": "NewApplication",
  • "publishedStatus": "Published",
  • "declineMessage": null,
  • "draftInfo": "{\"name\":\"API Theatre Group - Zone 1\",\"description\":\"description of zone\",\"zoneType\":\"Gallery\",\"videoUrl\":\"https://www1.theatre.net.uk/video\",\"videoDescription\":\"video description of zone\"}",
  • "photo1": {
    },
  • "photo2": {
    },
  • "photo3": null
}

Get a zone by id inside a location in an organisation

This operation retrieves a zone

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

locationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

location unique id

zoneId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

zone unique id

Responses

Response samples

Content type
application/json
{
  • "id": "11111111-1111-1111-1111-111111111111",
  • "name": "API Theatre Group - Zone 1",
  • "description": "description of zone",
  • "zoneType": "Gallery",
  • "videoDescription": "video description of zone",
  • "visualStory": null,
  • "approvalStatus": "NewApplication",
  • "publishedStatus": "Published",
  • "declineMessage": null,
  • "draftInfo": "{\"name\":\"API Theatre Group - Zone 1\",\"description\":\"description of zone\",\"zoneType\":\"Gallery\",\"videoUrl\":\"https://www1.theatre.net.uk/video\",\"videoDescription\":\"video description of zone\"}",
  • "photo1": {
    },
  • "photo2": {
    },
  • "photo3": null
}

Set provisions for a zone

This operation set the provisions for a zone inside the organisation, adding or updating the provisions as needed

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

locationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

location unique id

zoneId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

zone unique id

Request Body schema: application/json
required

Provisions payload

Array
standardId
required
string

id of the relevant Provision Category, must be one of the standard ids in the system and active for the kind of provision being set (location, eventInstance or zone)

description
required
string

description of the provision

string or null

id of the photo for the provision, if a photo is provided it must be one of the photos in the system. You will normally use this when keeping the photo (image and alt text) of an existing provision

string or null

id of the file to uploaded for the provision, if a file has been uploaded to the system to be used in the provision the file id should be provided here

string or null

alt text for the photo, to be stored in the photo object when a file id is provided (new photo) or when an existing photoId is provided (updates the existing photo's alt text)

string or null

credit for the photo, to be stored in the photo object when a file id is provided (new photo) or when an existing photoId is provided (updates the existing photo's credit)

string or null

caption for the photo, to be stored in the photo object when a file id is provided (new photo) or when an existing photoId is provided (updates the existing photo's caption)

nonCompliant
boolean

whether the provision is partially compliant, if not provided it will default to false

Responses

Request samples

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

Response samples

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

Get provisions for a zone

This operation get the provisions for a zone inside the organisation.

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

locationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

location unique id

zoneId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

zone unique id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get zones for a location in the organisation

This operation retrieves an array of zones

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

locationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

location unique id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new zone

This operation creates a new zone inside a location of the current organisation for the current authenticated user

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

locationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

location unique id

Request Body schema: application/json
required

Zone payload

name
required
string

name of zone

description
required
string

description of zone

zoneType
required
string
Enum: "Retail" "Gallery" "Auditorium" "MultiUse" "Outdoor" "FoodAndDrink" "Backstage" "Other"

zoneType of zone

videoUrl
string

videoUrl for zone

videoDescription
string

videoDescription for zone

visualStory
string

visual story for zone

photo1FileId
string

logo1Id for zone

photo1AltText
string

AltText for photo 1 for zone

photo1Credit
string

Credit for photo 1 for zone

photo1Caption
string

Caption for photo 1 for zone

photo2FileId
string

logo2Id for zone

photo2AltText
string

AltText for photo 2 for zone

photo2Credit
string

Credit for photo 2 for zone

photo2Caption
string

Caption for photo 2 for zone

photo3FileId
string

logo3Id for zone

photo3AltText
string

AltText for photo 3 for zone

photo3Credit
string

Credit for photo 3 for zone

photo3Caption
string

Caption for photo 3 for zone

approvalStatus
string
Value: "AwaitingResponse"

approval status of zone, only valid value is 'AwaitingResponse' will change the status from the current value to 'Awaiting Approval' to indicate it is ready for review

publishedStatus
string
Enum: "Published" "Archived"

published status of zone

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "id": "11111111-1111-1111-1111-111111111111",
  • "name": "API Theatre Group - Zone 1",
  • "description": "description of zone",
  • "zoneType": "Gallery",
  • "videoDescription": "video description of zone",
  • "visualStory": null,
  • "approvalStatus": "NewApplication",
  • "publishedStatus": "Published",
  • "declineMessage": null,
  • "draftInfo": "{\"name\":\"API Theatre Group - Zone 1\",\"description\":\"description of zone\",\"zoneType\":\"Gallery\",\"videoUrl\":\"https://www1.theatre.net.uk/video\",\"videoDescription\":\"video description of zone\"}",
  • "photo1": {
    },
  • "photo2": {
    },
  • "photo3": null
}

Listings

Get a zone listing by id

This operation retrieves a zone listing

Authorizations:
apiKeyAuth
path Parameters
zoneListingId
required
string
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

zone unique id

Responses

Response samples

Content type
application/json
{
  • "id": "11111111-1111-1111-1111-111111111111",
  • "name": "API Theatre Group - Zone 1",
  • "description": "description of zone",
  • "zoneType": "Gallery",
  • "videoDescription": "video description of zone",
  • "visualStory": null,
  • "approvalStatus": "NewApplication",
  • "publishedStatus": "Published",
  • "declineMessage": null,
  • "photo1": {},
  • "photo2": {},
  • "photo3": null
}

Get support profiles by filters

This operation retrieves support profiles based on the given filters and paging information

Authorizations:
apiKeyAuth
query Parameters
pageNumber
number
Example: pageNumber=2

page number for data list

pageSize
number
Example: pageSize=5

number of records per page of data

orderSort
string
Enum: "asc" "desc"
Example: orderSort=asc

sort order for data

orderBy
string
Enum: "name" "description" "website" "phone" "email" "address1" "address2" "postcode" "city" "country"
Example: orderBy=name

data property to order by

name
string
Example: name=theatre
description
string
Example: description=support profile description

part of description

website
string
Example: website=profile.com

name or name part

phone
string
Example: phone=0330

phone or phone part

email
string
Example: email=info@profile.com

email or email part

language
string
Enum: "en" "cy" "ga" "gd"
Example: language=en

language/locale of the support profile

supportTypes
string
Enum: "AccessAuditing" "AudioDescription" "BritishSignLanguage" "Captioning" "Coaching" "Consultancy" "EasyRead" "IrishSignLanguage" "KnowledgeBase" "Makaton" "Mentoring" "SupportLine" "SignSupportedEnglish" "Software" "Streaming" "Training" "UsabilityTesting"
Example: supportTypes=Software,EasyRead

list of support types

artforms
string
Enum: "CombinedArts" "Craft" "Dance" "Festivals" "FilmOrScreen" "Libraries" "Literature" "Museums" "Music" "PerformingArts" "Theatre" "VisualArts"
Example: artforms=Literature,Craft,Libraries

list of art forms

operationIn
string
Enum: "England" "Scotland" "Wales" "NorthernIreland" "Ireland" "Online"
Example: operationIn=Scotland

list of operation places

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "page": 2,
  • "total": 20
}

Get support profile by id

This operation retrieves a single support profile based on the given profile id

path Parameters
profileId
required
string

id of support profile in uuid format

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "website": "string",
  • "email": "string",
  • "artforms": [
    ],
  • "description": "string",
  • "organisationId": "string",
  • "operationIn": [
    ],
  • "supportTypes": [
    ],
  • "phone": "string",
  • "language": "en",
  • "orgLogo": {
    }
}

Get proxy profiles by filters

This operation retrieves proxy profiles based on the given filters and paging information

Authorizations:
apiKeyAuth
query Parameters
pageNumber
number
Example: pageNumber=2

page number for data list

pageSize
number
Example: pageSize=5

number of records per page of data

orderSort
string
Enum: "asc" "desc"
Example: orderSort=asc

sort order for data

orderBy
string
Enum: "name" "description" "website" "phone" "email" "address1" "address2" "postcode" "city" "country"
Example: orderBy=name

data property to order by

name
string
Example: name=theatre
description
string
Example: description=proxy profile description

part of description

website
string
Example: website=profile.com

name or name part

phone
string
Example: phone=0330

phone or phone part

email
string
Example: email=info@profile.com

email or email part

addressPart
string
Example: addressPart=road

address part to search in city, country, postcode

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "page": 2,
  • "total": 20
}

Get proxy profile by id

This operation retrieves a single proxy profile based on the given profile id

path Parameters
profileId
required
string

id of proxy profile in uuid format

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "website": "string",
  • "email": "string",
  • "description": "string",
  • "organisationId": "string",
  • "address1": "string",
  • "address2": "string",
  • "city": "string",
  • "country": "string",
  • "postcode": "string",
  • "phone": "string"
}

Get locations by filters

This operation retrieves locations based on the given filters and paging information

Authorizations:
apiKeyAuth
query Parameters
pageNumber
number
Example: pageNumber=2

page number for data list

pageSize
number
Example: pageSize=5

number of records per page of data

orderSort
string
Enum: "asc" "desc"
Example: orderSort=asc

sort order for data

orderBy
string
Enum: "name" "acceptCeaCard" "acceptCompanionCard" "acceptNimbusCard" "acceptSunflowerLanyard" "address1" "address2" "city" "postcode" "country" "allInScheme" "email" "requiresProofOfEligibility" "website"
Example: orderBy=name

data property to order by

filterCategories
Array of enum (LocationFilterSchema)
Items Enum: "AccessibleBabyFacilities" "AccessibleParking" "AccessibleToilets" "AdaptedInformation" "AssistanceAnimals" "AudioDescription" "Captioning" "ChangingPlacesToilet" "ChilledOpening" "DementiaFriendly" "HearingLoopsAndHeadsets" "QuietSpaces" "RelaxedOpening" "StepFreeLevelAccess" "WheelchairAccessible"
Example: filterCategories=RelaxedOpening,StepFreeLevelAccess

comma-separated provision categories; locations must match all selected categories (AND)

type
Array of strings (LocationType)
Items Enum: "Circus" "CombinedArts" "Comedy" "CommunitySpace" "Craft" "Dance" "Festival" "Educational" "FilmCinema" "Gallery" "ImmersiveAndVR" "Library" "Museum" "Music" "Theatre" "VisualArt" "VisitorAttraction" "FamilyFriendly" "LiteraturePoetry"
Example: type=Comedy,Library

location type

name
string
Examples:
  • name=The Town Theatre - A venue name for example
  • name=Manchester City Council - An organisation name for example

name of location or the location's organisation name

addressPart
string
Example: addressPart=Manchester

addressPart of the query, search through city, postcode, country

email
string
Example: email=location@example.com

contact email of location

website
string
Example: website=https://www.locationwebsite.com

website URL of location

acceptCeaCard
boolean
Example: acceptCeaCard=true

whether the location accepts CEA card

acceptCompanionCard
boolean
Example: acceptCompanionCard=true

whether the location accepts Companion card

acceptNimbusCard
boolean
Example: acceptNimbusCard=true

whether the location accepts Nimbus card

acceptSunflowerLanyard
boolean
Example: acceptSunflowerLanyard=true

whether the location accepts Sunflower lanyard

requiresProofOfEligibility
boolean
Example: requiresProofOfEligibility=true

whether the location requires proof of eligibility

standardId
string
Example: standardId=0b9c0ca5-bd11-403b-b456-ac5a3586b021

standard unique id

language
string
Enum: "en" "cy" "ga" "gd"
Example: language=en

language/locale of the location

Responses

Response samples

Content type
application/json
{
  • "page": 3,
  • "total": 12,
  • "data": [
    ]
}

Get a location listing by id

This operation retrieves a location listing by its unique identifier.

Authorizations:
apiKeyAuth
path Parameters
locationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

location unique id

Responses

Response samples

Content type
application/json
{
  • "id": "11111111-1111-1111-1111-111111111111",
  • "name": "API Theatre Group",
  • "description": "A location description",
  • "email": "api@theatre.net.uk",
  • "accessInformation": "access information of location",
  • "accessAble": "access able of location",
  • "euansGuide": "euans guide of location",
  • "videoDescription": "video description of location",
  • "acceptCeaCard": true,
  • "language": "en",
  • "acceptCompanionCard": true,
  • "acceptNimbusCard": true,
  • "requiresProofOfEligibility": true,
  • "allInScheme": true,
  • "acceptSunflowerLanyard": true,
  • "address1": "address1 of location",
  • "address2": "address2 of location",
  • "postcode": "postcode of location",
  • "city": "city of location",
  • "country": "country of location",
  • "phone": "+44 1234 567890",
  • "type": [
    ],
  • "photo1": {},
  • "photo2": {},
  • "photo3": null,
  • "zones": [
    ],
  • "provisions": [
    ],
  • "organisation": {
    },
  • "culturalProfile": {
    }
}

Get events for a location by filters

This operation retrieves events based on the given filters and paging information for the given location

Authorizations:
apiKeyAuth
query Parameters
pageNumber
number
Example: pageNumber=2

page number for data list

pageSize
number
Example: pageSize=5

number of records per page of data

from
date
Example: from=2024-4-4

from date

to
date
Example: to=2026-12-3

to date

orderSort
string
Enum: "asc" "desc"
Example: orderSort=asc

sort order for data

orderBy
string
Enum: "name" "from" "location" "status"
Example: orderBy=name

data property to order by: name (title), from (date), location, or status

price
enum
Enum: "Free" "Paid" "All"
Example: price=Free

price of the event, defaults to All if not specified, results will be based in priceRangeLow and PriceRangeHigh, if one of them is set to 0 then it means free, if one of them is set to bigger than 0 it means paid

filterCategories
Array of enum (EventFilterSchema)
Items Enum: "AccessibleBabyFacilities" "AccessibleParking" "AccessibleToilets" "AdaptedInformation" "AssistanceAnimals" "AudioDescription" "Captioning" "ChangingPlacesToilet" "ChilledPerformance" "DementiaFriendly" "HearingLoopsAndHeadsets" "NoStrobeLightingHazeEffects" "QuietSpaces" "RelaxedPerformance" "SignLanguage" "StepFreeLevelAccess" "WheelchairAccessible"
Example: filterCategories=DementiaFriendly,HearingLoopsAndHeadsets

comma-separated event accessibility categories; events must match all selected categories (AND)

name
string
Example: name=Music Concert

name of event (also matches description)

type
Array of enum (schemas-EventFilterSchema)
Items Enum: "ArtAndExhibitions" "Cabaret" "Circus" "Comedy" "CoursesAndWorkshops" "Craft" "Dance" "FamiliarisationTours" "FamilyFriendly" "FilmCinema" "Festival" "ImmersiveAndVR" "LiteratureAndPoetry" "Music" "Musical" "Opera" "Pantomime" "TalksAndDebates" "Theatre" "TouchTours"
Example: type=Music,Comedy

type of event

format
Array of enum (EventFormatFilterSchema)
Items Enum: "InPerson" "Online" "Hybrid"
Example: format=Hybrid,Online

format of event

language
string
Enum: "en" "cy" "ga" "gd"
Example: language=en

language/locale of the event

addressPart
string
Example: addressPart=Manchester

part of the address, we will search in city, postcode and country

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "total": 37,
  • "data": [
    ]
}

Get events by filters

This operation retrieves events based on the given filters and paging information

Authorizations:
apiKeyAuth
query Parameters
pageNumber
number
Example: pageNumber=2

page number for data list

pageSize
number
Example: pageSize=5

number of records per page of data

from
date
Example: from=2024-4-4

from date

to
date
Example: to=2026-12-3

to date

orderSort
string
Enum: "asc" "desc"
Example: orderSort=asc

sort order for data

orderBy
string
Enum: "name" "from" "location" "status"
Example: orderBy=name

data property to order by: name (title), from (date), location, or status

price
enum
Enum: "Free" "Paid" "All"
Example: price=Free

price of the event, defaults to All if not specified, results will be based in priceRangeLow and PriceRangeHigh, if one of them is set to 0 then it means free, if one of them is set to bigger than 0 it means paid

filterCategories
Array of enum (EventFilterSchema)
Items Enum: "AccessibleBabyFacilities" "AccessibleParking" "AccessibleToilets" "AdaptedInformation" "AssistanceAnimals" "AudioDescription" "Captioning" "ChangingPlacesToilet" "ChilledPerformance" "DementiaFriendly" "HearingLoopsAndHeadsets" "NoStrobeLightingHazeEffects" "QuietSpaces" "RelaxedPerformance" "SignLanguage" "StepFreeLevelAccess" "WheelchairAccessible"
Example: filterCategories=DementiaFriendly,HearingLoopsAndHeadsets

comma-separated event accessibility categories; events must match all selected categories (AND)

name
string
Example: name=Music Concert

name of event (also matches description)

type
Array of enum (schemas-EventFilterSchema)
Items Enum: "ArtAndExhibitions" "Cabaret" "Circus" "Comedy" "CoursesAndWorkshops" "Craft" "Dance" "FamiliarisationTours" "FamilyFriendly" "FilmCinema" "Festival" "ImmersiveAndVR" "LiteratureAndPoetry" "Music" "Musical" "Opera" "Pantomime" "TalksAndDebates" "Theatre" "TouchTours"
Example: type=Music,Comedy

type of event

format
Array of enum (EventFormatFilterSchema)
Items Enum: "InPerson" "Online" "Hybrid"
Example: format=Hybrid,Online

format of event

language
string
Enum: "en" "cy" "ga" "gd"
Example: language=en

language/locale of the event

addressPart
string
Example: addressPart=Manchester

part of the address, we will search in city, postcode and country

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "total": 37,
  • "data": [
    ]
}

Get event by id

This operation retrieves an event listing by its unique identifier.

path Parameters
eventId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

event unique id

Responses

Response samples

Content type
application/json
{
  • "id": "335b7229-c912-48f3-956a-4c7d650a5907",
  • "name": "An Amazing Show",
  • "description": "Lorem ipsum dolor sit amet consectetur adipiscing elit. Maecenas cursus fermentum pulvinar.Curabitur sollicitudin eu orci at egestas. Nullam ultrices id nunc ac scelerisque.Aliquam erat volutpat. Nullam sem odio finibus nec lacus non gravida commodo velit.",
  • "priceRangeLow": 10,
  • "priceRangeHigh": 20,
  • "defaultBookingLink": "https://example.com/book",
  • "firstInstance": "2025-05-09T14:26:45.508Z",
  • "lastInstance": "2025-05-09T14:26:45.508Z",
  • "type": [
    ],
  • "format": "InPerson",
  • "language": "en",
  • "instances": [
    ],
  • "location": {
    }
}

Wallet

Get user wallet data for QR code

Returns authenticated user's basic information and verified provisions for wallet/QR code display

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "firstName": "string",
  • "lastName": "string",
  • "provisions": [
    ]
}

Member Profile

Validate member profile with Hynt data

Validates a user member profile against Hynt member database by matching member ID and postcode. If validation succeeds, the profile's isHyntVerified flag is set to true.

Authorizations:
bearerAuth
path Parameters
memberProfileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

member profile unique id

Request Body schema: application/json
required
memberId
required
string

Hynt member ID to validate

postcode
required
string

Postcode associated with the Hynt member (case-insensitive, spaces ignored)

Responses

Request samples

Content type
application/json
{
  • "memberId": "12345678",
  • "postcode": "AB12 3CD"
}

Response samples

Content type
application/json
{
  • "id": "19d6739e-f353-4932-a23d-455d376c4c86",
  • "userId": "20d6739e-e334-4932-a23d-455d376c4c86",
  • "isIdentityVerified": true,
  • "isHyntVerified": true,
  • "firstName": "John",
  • "lastName": "Smith",
  • "attendingEvents": [
    ],
  • "organisationShares": [
    ],
  • "provisions": [
    ]
}

Update provision evidence

Updates supporting evidence document metadata for an accessibility provision

Authorizations:
bearerAuth
path Parameters
memberProfileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

member profile unique id

provisionId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

provision unique id

evidenceId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

evidence unique id

Request Body schema: application/json
documentName
required
string

evidence document name

Responses

Request samples

Content type
application/json
{
  • "documentName": "title"
}

Response samples

Content type
application/json
{
  • "id": "19d6739e-f353-4932-a23d-455d376c4c86",
  • "userId": "20d6739e-e334-4932-a23d-455d376c4c86",
  • "isIdentityVerified": true,
  • "isHyntVerified": true,
  • "firstName": "John",
  • "lastName": "Smith",
  • "attendingEvents": [
    ],
  • "organisationShares": [
    ],
  • "provisions": [
    ]
}

Delete provision evidence

Removes a supporting evidence document from an accessibility provision

Authorizations:
bearerAuth
path Parameters
memberProfileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

member profile unique id

provisionId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

provision unique id

evidenceId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

evidence unique id

Responses

Response samples

Content type
application/json
{
  • "id": "19d6739e-f353-4932-a23d-455d376c4c86",
  • "userId": "20d6739e-e334-4932-a23d-455d376c4c86",
  • "isIdentityVerified": true,
  • "isHyntVerified": true,
  • "firstName": "John",
  • "lastName": "Smith",
  • "attendingEvents": [
    ],
  • "organisationShares": [
    ],
  • "provisions": [
    ]
}

Record event attendance

Updates whether the user is planning to attend a specific event instance, used for accessibility provision planning by organisations

Authorizations:
bearerAuth
path Parameters
memberProfileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

member profile unique id

eventInstanceId
required
string <uuid>
Example: b2ef9762-5a37-4560-8b81-fb02eff1d66e

event instance unique id

Request Body schema: application/json
required
isAttending
required
boolean

whether the user is attending the event instance

Responses

Request samples

Content type
application/json
{
  • "isAttending": true
}

Response samples

Content type
application/json
{
  • "id": "19d6739e-f353-4932-a23d-455d376c4c86",
  • "userId": "20d6739e-e334-4932-a23d-455d376c4c86",
  • "isIdentityVerified": true,
  • "isHyntVerified": true,
  • "firstName": "John",
  • "lastName": "Smith",
  • "attendingEvents": [
    ],
  • "organisationShares": [
    ],
  • "provisions": [
    ]
}

Share member profile with an organisation's provider

Shares the user's member profile with an organisation's ticketing provider, allowing them to view accessibility provisions and book accessible tickets. The profile must already be shared with the organisation. When the provider uses action links, the response returns a URL that the client must use to complete the sharing flow; otherwise, the profile is shared directly with the provider.

Authorizations:
bearerAuth
Request Body schema: application/json
required
organisationId
required
string <uuid>

ID of the organisation to share the profile with

Responses

Request samples

Content type
application/json
{
  • "organisationId": "d7a91838-f255-44c8-836c-7b3c8dd83e7a"
}

Response samples

Content type
application/json
Example
{}

Unshare profile from organisation

Removes profile sharing with an organisation, revoking their access to view the user's accessibility provisions

Authorizations:
bearerAuth
path Parameters
memberProfileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

member profile unique id

sharedProfileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

shared profile unique id

Responses

Response samples

Content type
application/json
{
  • "id": "19d6739e-f353-4932-a23d-455d376c4c86",
  • "userId": "20d6739e-e334-4932-a23d-455d376c4c86",
  • "isIdentityVerified": true,
  • "isHyntVerified": true,
  • "firstName": "John",
  • "lastName": "Smith",
  • "attendingEvents": [
    ],
  • "organisationShares": [
    ],
  • "provisions": [
    ]
}

Remove provision from member profile

Deletes a specific provision and all its associated evidence from the user's member profile

Authorizations:
bearerAuth
path Parameters
memberProfileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

member profile unique id

provisionId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

provision unique id

Responses

Response samples

Content type
application/json
{
  • "id": "19d6739e-f353-4932-a23d-455d376c4c86",
  • "userId": "20d6739e-e334-4932-a23d-455d376c4c86",
  • "isIdentityVerified": true,
  • "isHyntVerified": true,
  • "firstName": "John",
  • "lastName": "Smith",
  • "attendingEvents": [
    ],
  • "organisationShares": [
    ],
  • "provisions": [
    ]
}

Get shared profile organisations

Retrieves a list of organisations the profile has been shared with

Authorizations:
bearerAuth
path Parameters
memberProfileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

member profile unique id

sharedProfileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

shared profile unique id

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "organisationId": "c9b3f279-e3b5-4204-ad99-646257417f98",
  • "orgName": "string",
  • "createdAt": "2019-08-24T14:15:22Z"
}

Get authenticated user's member profile

Retrieves the member profile for the authenticated user, including their provisions, evidence, shared organisations, and event attendance

Authorizations:
bearerAuth
path Parameters
memberProfileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

member profile unique id

Responses

Response samples

Content type
application/json
{
  • "id": "19d6739e-f353-4932-a23d-455d376c4c86",
  • "userId": "20d6739e-e334-4932-a23d-455d376c4c86",
  • "isIdentityVerified": true,
  • "isHyntVerified": true,
  • "firstName": "John",
  • "lastName": "Smith",
  • "attendingEvents": [
    ],
  • "organisationShares": [
    ],
  • "provisions": [
    ]
}

Get a member profile by allInMemberNumber and last name

Retrieves a member profile using its member-facing allInMemberNumber (an 8-character code of uppercase letters and digits, distinct from the internal id) together with the last name of the profile's associated user. This endpoint requires an authenticated caller who belongs to at least one organisation, but does not check profile ownership or proxy delegation for the profile being looked up - it is a lookup keyed on the allInMemberNumber/last-name pair. A mismatched last name is treated the same as a missing profile (404) to avoid leaking whether a given allInMemberNumber exists.

Authorizations:
bearerAuth
query Parameters
allInMemberNumber
required
string^[A-Z0-9]{8}$
Example: allInMemberNumber=A3467B9Y

member-facing profile identifier (8-character code: uppercase letters and digits)

lastName
required
string
Example: lastName=Smith

last name of the profile's associated user (case-insensitive)

Responses

Response samples

Content type
application/json
{
  • "id": "19d6739e-f353-4932-a23d-455d376c4c86",
  • "userId": "20d6739e-e334-4932-a23d-455d376c4c86",
  • "isIdentityVerified": true,
  • "isHyntVerified": true,
  • "firstName": "John",
  • "lastName": "Smith",
  • "attendingEvents": [
    ],
  • "organisationShares": [
    ],
  • "provisions": [
    ]
}

Create a member profile

Creates a new member profile for the authenticated user with unverified identity status. Profile is empty initially, provisions, evidence, and shared organisations can be added with the relevant endpoints. Identity verification can be completed by the user or by Hynt for additional credibility. The member profile can be updated with provisions and evidence, and shared with organisations.

Authorizations:
bearerAuth
Request Body schema: application/json
object or null

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "id": "19d6739e-f353-4932-a23d-455d376c4c86",
  • "userId": "20d6739e-e334-4932-a23d-455d376c4c86",
  • "isIdentityVerified": true,
  • "isHyntVerified": true,
  • "firstName": "John",
  • "lastName": "Smith",
  • "attendingEvents": [
    ],
  • "organisationShares": [
    ],
  • "provisions": [
    ]
}

Share profile with organisation

Shares the user's member profile with an organisation, allowing them to view accessibility provisions and book accessible tickets

Authorizations:
bearerAuth
path Parameters
memberProfileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

member profile unique id

Request Body schema: application/json
organisationId
string

organisation unique id

Responses

Request samples

Content type
application/json
{
  • "organisationId": "20d6739e-e334-4932-a23d-455d376c4c86"
}

Response samples

Content type
application/json
{
  • "id": "19d6739e-f353-4932-a23d-455d376c4c86",
  • "userId": "20d6739e-e334-4932-a23d-455d376c4c86",
  • "isIdentityVerified": true,
  • "isHyntVerified": true,
  • "firstName": "John",
  • "lastName": "Smith",
  • "attendingEvents": [
    ],
  • "organisationShares": [
    ],
  • "provisions": [
    ]
}

Add provision to member profile

Adds a new accessibility provision (required or preferred) to the user's member profile based on a standard

Authorizations:
bearerAuth
path Parameters
memberProfileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

member profile unique id

Request Body schema: application/json
level
string
Enum: "Required" "Preferred"

level of the provision

standardId
string

standard unique id

Responses

Request samples

Content type
application/json
{
  • "level": "Required",
  • "standardId": "45a6739e-f353-4932-aecd-455d376c4c86"
}

Response samples

Content type
application/json
{
  • "id": "19d6739e-f353-4932-a23d-455d376c4c86",
  • "userId": "20d6739e-e334-4932-a23d-455d376c4c86",
  • "isIdentityVerified": true,
  • "isHyntVerified": true,
  • "firstName": "John",
  • "lastName": "Smith",
  • "attendingEvents": [
    ],
  • "organisationShares": [
    ],
  • "provisions": [
    ]
}

Add evidence for provision

Uploads supporting evidence (document file) for an accessibility provision on the user's member profile

Authorizations:
bearerAuth
path Parameters
memberProfileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

member profile unique id

provisionId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

provision unique id

Request Body schema: application/json
documentName
string

evidence document name

fileId
string <uuid>

evidence file id

Responses

Request samples

Content type
application/json
{
  • "documentName": "title",
  • "fileId": "20d6739e-e334-4932-a23d-455d376c4c86"
}

Response samples

Content type
application/json
{
  • "id": "19d6739e-f353-4932-a23d-455d376c4c86",
  • "userId": "20d6739e-e334-4932-a23d-455d376c4c86",
  • "isIdentityVerified": true,
  • "isHyntVerified": true,
  • "firstName": "John",
  • "lastName": "Smith",
  • "attendingEvents": [
    ],
  • "organisationShares": [
    ],
  • "provisions": [
    ]
}

Create a user member profile access token

Creates a cryptographically signed access token that enables secure, time-limited access to a user's member profile via Action Links without requiring authentication.

Token Construction

The token is a colon-separated string with four components: {actionLinksUrl}:{organisationId}:{rawToken}:{signature}

Components:

  1. actionLinksUrl (base64-encoded): The provider's Action Links URL obtained from the organisation's provider configuration, encoded in base64 format
  2. organisationId (UUID): The unique identifier of the organisation requesting access to the member profile
  3. rawToken (UUID): A randomly generated UUID stored in the database, used as the primary lookup key
  4. signature (HMAC-SHA256): A cryptographic signature created by hashing the first three components using the ACTION_LINKS_SECRET environment variable, encoded in base64url format

Security Features:

  • HMAC Signature Validation: Uses timing-safe comparison to prevent tampering with token data
  • Database Storage: The raw token UUID is stored in the MemberProfileAccessToken table with an expiry timestamp
  • Time-Limited: Tokens expire after the configured duration (default: 15 minutes, controlled by MEMBER_PROFILE_TOKEN_EXPIRY_MINUTES)
  • Scope Validation: Tokens are validated against specific member profile and organisation combinations
  • Soft Security: Token provides obfuscated access but can be used by anyone who possesses it; signature ensures data integrity

Prerequisites:

  • The organisation must be configured with usesActionLinks: true in its provider configuration
  • The organisation must have an actionLinksUrl configured
  • The user's member profile must be shared with the specified organisation
  • The ACTION_LINKS_SECRET environment variable must be configured

Usage:

Once created, the signed token is appended as a query parameter to the action links URL (parameter name configured via ACTION_LINKS_QUERYSTRING_TOKEN_PARAM_NAME). The resulting URL can be used to access the member profile data without authentication until the token expires.

Token Lifecycle:

  • Tokens are created with an expiry time based on MEMBER_PROFILE_TOKEN_EXPIRY_MINUTES
  • Expired tokens are automatically rejected during validation
  • Tokens can be manually revoked by deleting them from the database
Authorizations:
bearerAuth
path Parameters
memberProfileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

member profile unique id

Request Body schema: application/json
organisationId
string

organisation unique id

Responses

Request samples

Content type
application/json
{
  • "organisationId": "string"
}

Response samples

Content type
application/json
{
  • "actionLinksURL": "string",
  • "token": "aHR0cHM6Ly9hY3Rpb25saW5rcy5leGFtcGxlLmNvbQ==:d7a91838-f255-44c8-836c-7b3c8dd83e7a:f8b3c456-1234-5678-9abc-def012345678:a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}

User Profile

Get current user profile

Get the current user profile information from the database

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "id": "19d6739e-f353-4932-a23d-455d376c4c86",
  • "email": "user@www1.theatre.net.uk",
  • "firstName": "First Name",
  • "lastName": "Last Name",
  • "marketingCommunications": true,
  • "trainingCommunications": true,
  • "memberProfileId": "8fa3b410-f353-4932-aecd-455d376c4c86",
  • "createdAt": "2024-12-02T15:50:04.120Z",
  • "lastLoginAt": "2026-10-08T08:09:41.277Z",
  • "locale": "en",
  • "invites": [
    ],
  • "organisationGroupInvites": [
    ],
  • "actions": [
    ],
  • "proxyInvites": [
    ]
}

Change current user profile

Change the current user profile information in the database

Authorizations:
bearerAuth
Request Body schema: application/json
required

name object

firstName
string

new first name for the user

lastName
string

new last name for the user

marketingCommunications
boolean

opt-in to marketing emails

trainingCommunications
boolean

opt-in to training emails

locale
string
Enum: "en" "cy" "ga" "gd"

Language/locale code (e.g., 'en','cy','ga','gd').

Responses

Request samples

Content type
application/json
{
  • "firstName": "New First Name",
  • "trainingCommunications": true
}

Response samples

Content type
application/json
{
  • "id": "19d6739e-f353-4932-a23d-455d376c4c86",
  • "email": "user@www1.theatre.net.uk",
  • "firstName": "First Name",
  • "lastName": "Last Name",
  • "marketingCommunications": true,
  • "trainingCommunications": true,
  • "memberProfileId": "8fa3b410-f353-4932-aecd-455d376c4c86",
  • "createdAt": "2024-12-02T15:50:04.120Z",
  • "lastLoginAt": "2026-10-08T08:09:41.277Z",
  • "locale": "en",
  • "invites": [
    ],
  • "organisationGroupInvites": [
    ],
  • "actions": [
    ],
  • "proxyInvites": [
    ]
}

Update a user's password

Update the password of a signed-in user

Authorizations:
bearerAuth
Request Body schema: application/json
required

credentials object

password
required
string

password for user

confirmPassword
required
string

confirmed matching password for user

Responses

Request samples

Content type
application/json
{
  • "password": "***",
  • "confirmPassword": "***"
}

Response samples

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

Organisation Profiles

Update a new organisation support profile

This operation updates draftInfo property for support profiles and set the approval status to Awaiting Approval

The user should be admin, manager or support manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

profileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

profile unique id

Request Body schema: application/json
required

Organisation support profile

approvalStatus
string
Enum: "NewApplication" "AwaitingResponse" "ChangesRequested" "Approved" "Rejected"

approvalStatus of support profile

name
string

name of support profile

website
string

website of support profile

email
string

email of support profile

artforms
string
Enum: "CombinedArts" "Craft" "Dance" "Festivals" "FilmOrScreen" "Libraries" "Literature" "Museums" "Music" "PerformingArts" "Theatre" "VisualArts"

artforms of support profile

description
string <= 1500 characters

Description of the support profile. Supports Markdown formatting (bold, italic, lists). Links are not supported. Maximum 1500 characters.

operationIn
string
Enum: "England" "Scotland" "Wales" "NorthernIreland" "Ireland" "Online"

operation place of support profile

supportTypes
string
Enum: "AccessAuditing" "AudioDescription" "BritishSignLanguage" "Captioning" "Coaching" "Consultancy" "EasyRead" "IrishSignLanguage" "KnowledgeBase" "Makaton" "Mentoring" "SupportLine" "SignSupportedEnglish" "Software" "Streaming" "Training" "UsabilityTesting"

support types of support profile

phone
string

phone of support profile

language
string
Enum: "en" "cy" "ga" "gd"

Language/locale code (e.g., 'en','cy','ga','gd'). Changes may be stored in draftInfo until approved.

Responses

Request samples

Content type
application/json
{
  • "email": "ace.dms.cultural@example.com",
  • "description": "ACE DMS Cultural is a cultural organisation that is dedicated to the preservation of cultural heritage",
  • "phone": "0330 4567"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "approvalStatus": "NewApplication",
  • "name": "string",
  • "website": "string",
  • "email": "string",
  • "artforms": "CombinedArts",
  • "description": "string",
  • "draftInfo": "string",
  • "declineMessage": "string",
  • "organisationId": "string",
  • "operationIn": "England",
  • "supportTypes": "AccessAuditing",
  • "phone": "string",
  • "language": "en"
}

Create a new organisation support profile

This operation creates a new support profile for the current authenticated user.

The user should be the admin of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Request Body schema: application/json
required

Organisation support profile

approvalStatus
string
Enum: "NewApplication" "AwaitingResponse" "ChangesRequested" "Approved" "Rejected"

approvalStatus of support profile

name
required
string

name of support profile

website
string

website of support profile

email
string

email of support profile

artforms
string
Enum: "CombinedArts" "Craft" "Dance" "Festivals" "FilmOrScreen" "Libraries" "Literature" "Museums" "Music" "PerformingArts" "Theatre" "VisualArts"

artforms of support profile

description
required
string <= 1500 characters

Description of the support profile. Supports Markdown formatting (bold, italic, lists). Links are not supported. Maximum 1500 characters.

operationIn
string
Enum: "England" "Scotland" "Wales" "NorthernIreland" "Ireland" "Online"

operation place of support profile

supportTypes
string
Enum: "AccessAuditing" "AudioDescription" "BritishSignLanguage" "Captioning" "Coaching" "Consultancy" "EasyRead" "IrishSignLanguage" "KnowledgeBase" "Makaton" "Mentoring" "SupportLine" "SignSupportedEnglish" "Software" "Streaming" "Training" "UsabilityTesting"

support types of support profile

phone
string

phone of support profile

language
string
Enum: "en" "cy" "ga" "gd"

Language/locale code (e.g., 'en','cy','ga','gd'). Changes may be stored in draftInfo until approved.

Responses

Request samples

Content type
application/json
{
  • "name": "ACE DMS",
  • "email": "ace.dms.cultural@example.com",
  • "description": "ACE DMS Cultural is a cultural organisation that is dedicated to the preservation of cultural heritage",
  • "artforms": [
    ],
  • "operationIn": [
    ],
  • "supportTypes": [
    ],
  • "phone": "0330 4567"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "approvalStatus": "NewApplication",
  • "name": "string",
  • "website": "string",
  • "email": "string",
  • "artforms": "CombinedArts",
  • "description": "string",
  • "draftInfo": "string",
  • "declineMessage": "string",
  • "organisationId": "string",
  • "operationIn": "England",
  • "supportTypes": "AccessAuditing",
  • "phone": "string",
  • "language": "en"
}

Update a new organisation proxy profile

This operation updates draftInfo property for proxy profiles and set the approval status to Awaiting Approval

The user should be admin, manager or proxy manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

profileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

profile unique id

Request Body schema: application/json
required

Organisation proxy profile

approvalStatus
string
Value: "AwaitingResponse"

approvalStatus of proxy profile

name
string

name of proxy profile

website
string

website of proxy profile

email
string

email of proxy profile

description
string

description for proxy profile

address1
string

organisation id of proxy profile

address2
string

address of proxy profile

city
string

address of proxy profile

country
string

country of proxy profile

postcode
string

postcode of proxy profile

phone
string

phone of proxy profile

Responses

Request samples

Content type
application/json
{
  • "approvalStatus": "AwaitingResponse",
  • "name": "Updated Proxy Profile Name"
}

Response samples

Content type
application/json
{
  • "id": "d785a591-5535-48be-bdb6-5bb612eceb0e",
  • "approvalStatus": "AwaitingResponse",
  • "name": "Proxy Profile Name",
  • "email": "test@example.com",
  • "description": "This is a description for the proxy profile.",
  • "draftInfo": "{\"name\":\"Updated Proxy Profile Name\"}",
  • "declineMessage": "Change something about the profile",
  • "address1": "123 Main St",
  • "address2": "Suite 456",
  • "city": "Sample City",
  • "country": "Sample Country",
  • "postcode": "12345",
  • "phone": "+1234567890"
}

Create a new organisation proxy profile

This operation creates a new proxy profile for the current authenticated user.

The user should be the admin of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Request Body schema: application/json
required

Organisation proxy profile

approvalStatus
string
Value: "AwaitingResponse"

approvalStatus of proxy profile

name
required
string

name of proxy profile

website
required
string

website of proxy profile

email
string

email of proxy profile

description
required
string

description for proxy profile

address1
required
string

organisation id of proxy profile

address2
string

address of proxy profile

city
required
string

address of proxy profile

country
required
string

country of proxy profile

postcode
required
string

postcode of proxy profile

phone
required
string

phone of proxy profile

Responses

Request samples

Content type
application/json
{
  • "name": "Proxy Profile Name",
  • "email": "test@example.com",
  • "description": "This is a description for the proxy profile.",
  • "address1": "123 Main St",
  • "address2": "Suite 456",
  • "city": "Sample City",
  • "country": "Sample Country",
  • "postcode": "12345",
  • "phone": "+1234567890"
}

Response samples

Content type
application/json
{
  • "id": "d785a591-5535-48be-bdb6-5bb612eceb0e",
  • "approvalStatus": "AwaitingResponse",
  • "name": "Proxy Profile Name",
  • "email": "test@example.com",
  • "description": "This is a description for the proxy profile.",
  • "draftInfo": "{\"name\":\"Updated Proxy Profile Name\"}",
  • "declineMessage": "Change something about the profile",
  • "address1": "123 Main St",
  • "address2": "Suite 456",
  • "city": "Sample City",
  • "country": "Sample Country",
  • "postcode": "12345",
  • "phone": "+1234567890"
}

Get profiles by organisation id

This operation retrieves an organisation's profiles

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Responses

Response samples

Content type
application/json
{
  • "cultural": {
    },
  • "support": {
    },
  • "proxy": {
    }
}

Update a new organisation cultural profile

This operation updates draftInfo property for cultural profiles and set the approval status to Awaiting Approval

The user should be admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

profileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

profile unique id

Request Body schema: application/json
required

Organisation cultural profile

name
string

name of organisation cultural profile

website
string

website of organisation cultural profile

email
string

email address of organisation cultural profile

category
string
Enum: "Circus" "CombinedArts" "Comedy" "CommunitySpace" "Craft" "Dance" "Festival" "Educational" "FilmCinema" "Gallery" "ImmersiveAndVR" "Library" "Museum" "Music" "Theatre" "VisualArt" "VisitorAttraction" "FamilyFriendly" "LiteraturePoetry"

category for organisation cultural profile

description
number

description of organisation cultural profile

ticketingSystem
string
Enum: "Spektrix" "Tessitura" "TicketsolveXML" "TicketsolveJSON" "LineUp" "Other" "None"

ticketing system used by the organisation

ticketingSystemOther
string

other ticketing system if 'Other' is selected

analysisTool
string
Enum: "AudienceFinder" "Illuminate" "LookerStudio" "PowerBI" "Tableau" "None" "Other"

analysis tool used by the organisation

analysisToolOther
string

other analysis tool if 'Other' is selected

approvalStatus
string
Value: "AwaitingResponse"

approval status of organisation cultural profile, only valid value is 'AwaitingResponse' will change the status from the current value to 'Awaiting Approval' to indicate it is ready for review

Responses

Request samples

Content type
application/json
{
  • "name": "API Theatre Group",
  • "description": "description goes here....",
  • "email": "api@theatre.net.uk",
  • "ticketingSystem": "Spektrix"
}

Response samples

Content type
application/json
{
  • "id": "a90ee7d0-981d-41c7-b7aa-a0d1286dd8e2",
  • "approvalStatus": "ChangesRequested",
  • "name": "ACE DMS",
  • "email": "ace.dms.cultural@example.com",
  • "category": "Museum",
  • "description": "ACE DMS Cultural is a cultural organisation that is dedicated to the preservation of cultural heritage",
  • "draftInfo": "{\"name\":\"ACE DMS Profile\",\"website\":\"https://www.theatre.net.uk\"}",
  • "declineMessage": "The application was rejected due to missing information",
  • "analysisTool": "PowerBI",
  • "analysisToolOther": null,
  • "ticketingSystem": "Spektrix",
  • "ticketingSystemOther": null
}

Create a new organisation cultural profile

This operation creates a new cultural profile for the current authenticated user.

The user should be the admin of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Request Body schema: application/json
required

Organisation cultural profile

name
required
string

name of organisation cultural profile

website
required
string

website of organisation cultural profile

email
string

email address of organisation cultural profile, if not supplied will be set to empty string

category
required
string
Enum: "Circus" "CombinedArts" "Comedy" "CommunitySpace" "Craft" "Dance" "Festival" "Educational" "FilmCinema" "Gallery" "ImmersiveAndVR" "Library" "Museum" "Music" "Theatre" "VisualArt" "VisitorAttraction" "FamilyFriendly" "LiteraturePoetry"

category for organisation cultural profile

description
required
number

description of organisation cultural profile

ticketingSystem
required
string
Enum: "Spektrix" "Tessitura" "TicketsolveXML" "TicketsolveJSON" "LineUp" "Other" "None"

ticketing system used by the organisation

ticketingSystemOther
string

other ticketing system if 'Other' is selected

analysisTool
required
string
Enum: "AudienceFinder" "Illuminate" "LookerStudio" "PowerBI" "Tableau" "None" "Other"

analysis tool used by the organisation

analysisToolOther
string

other analysis tool if 'Other' is selected

approvalStatus
string
Value: "AwaitingResponse"

approval status of organisation cultural profile, only valid value is 'AwaitingResponse' will change the status from the current value to 'Awaiting Approval' to indicate it is ready for review

Responses

Request samples

Content type
application/json
{
  • "name": "API Theatre Group",
  • "email": "api@theatre.net.uk",
  • "category": "Theatre",
  • "description": "description goes here....",
  • "ticketingSystem": "Spektrix",
  • "ticketingSystemOther": null,
  • "analysisTool": "PowerBI",
  • "analysisToolOther": null
}

Response samples

Content type
application/json
{
  • "id": "a90ee7d0-981d-41c7-b7aa-a0d1286dd8e2",
  • "approvalStatus": "ChangesRequested",
  • "name": "ACE DMS",
  • "email": "ace.dms.cultural@example.com",
  • "category": "Museum",
  • "description": "ACE DMS Cultural is a cultural organisation that is dedicated to the preservation of cultural heritage",
  • "draftInfo": "{\"name\":\"ACE DMS Profile\",\"website\":\"https://www.theatre.net.uk\"}",
  • "declineMessage": "The application was rejected due to missing information",
  • "analysisTool": "PowerBI",
  • "analysisToolOther": null,
  • "ticketingSystem": "Spektrix",
  • "ticketingSystemOther": null
}

Update a new organisation analytics profile

This operation updates draftInfo property for analytics profiles and set the approval status to Awaiting Approval

The user should be admin, manager or analytics manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

profileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

profile unique id

Request Body schema: application/json
required

Organisation analytics profile

approvalStatus
string
Value: "AwaitingResponse"

approvalStatus of analytics profile

name
string

name of analytics profile

website
string

website of analytics profile

email
string

email of analytics profile

description
string

description for analytics profile

address1
string

organisation id of analytics profile

address2
string

address of analytics profile

city
string

address of analytics profile

country
string

country of analytics profile

postcode
string

postcode of analytics profile

phone
string

phone of analytics profile

Responses

Request samples

Content type
application/json
{
  • "approvalStatus": "AwaitingResponse",
  • "name": "Updated Analytics Profile Name"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "approvalStatus": "NewApplication",
  • "name": "string",
  • "website": "string",
  • "email": "string",
  • "description": "string",
  • "draftInfo": "string",
  • "declineMessage": "string",
  • "address1": "string",
  • "address2": "string",
  • "city": "string",
  • "country": "string",
  • "postcode": "string",
  • "phone": "string"
}

Create a new organisation analytics profile

This operation creates a new analytics profile for the current authenticated user.

The user should be the admin of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Request Body schema: application/json
required

Organisation analytics profile

approvalStatus
string
Value: "AwaitingResponse"

approvalStatus of analytics profile

name
required
string

name of analytics profile

website
required
string

website of analytics profile

email
string

email of analytics profile

description
required
string

description for analytics profile

address1
required
string

organisation id of analytics profile

address2
string

address of analytics profile

city
required
string

address of analytics profile

country
required
string

country of analytics profile

postcode
required
string

postcode of analytics profile

phone
required
string

phone of analytics profile

Responses

Request samples

Content type
application/json
{
  • "name": "Analytics Profile Name",
  • "email": "test@example.com",
  • "description": "This is a description for the analytics profile.",
  • "address1": "123 Main St",
  • "address2": "Suite 456",
  • "city": "Sample City",
  • "country": "Sample Country",
  • "postcode": "12345",
  • "phone": "+1234567890"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "approvalStatus": "NewApplication",
  • "name": "string",
  • "website": "string",
  • "email": "string",
  • "description": "string",
  • "draftInfo": "string",
  • "declineMessage": "string",
  • "address1": "string",
  • "address2": "string",
  • "city": "string",
  • "country": "string",
  • "postcode": "string",
  • "phone": "string"
}

Standards

Get a standard by id

This operation retrieves a standard by id

path Parameters
standardId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

standard unique id

Responses

Response samples

Content type
application/json
{
  • "id": "11111111-1111-1111-1111-111111111111",
  • "name": "An example provision",
  • "description": "This is the description of the example provision",
  • "category": "category of provision",
  • "active": true,
  • "usedInLocation": true,
  • "usedInEventInstance": false,
  • "usedInZone": false,
  • "allInCode": "AllInEventExampleCode",
  • "locationFilterCategory": "QuietSpaces",
  • "eventFilterCategory": "QuietSpaces",
  • "memberProfileCategory": "MobilityAndWheelchairAccess"
}

Get list of standards in the system

This operation retrieves an array of all standards

Responses

Response samples

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

Files

Generate a temporary upload URL

Generates a signed URL and a unique file ID for temporary file uploads to a specified S3 bucket.

Authorizations:
bearerAuth
Request Body schema: application/json
required

Details of the file for which the upload URL is requested.

name
required
string

The name of the file, including its extension. Must match the regex pattern for valid file names.

Responses

Request samples

Content type
application/json
{
  • "name": "example-file.txt"
}

Response samples

Content type
application/json

Get signed file URL

Retrieve the signed URL of a file.

Authorizations:
bearerAuth
path Parameters
organisationId
required
string
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

Unique identifier of the file.

Responses

Response samples

Content type
application/json
{
  • "url": "string"
}

Reports

Generate organisation report manually

This operation triggers the organisation-specific report generation job manually.

The report includes all locations, events, and members for the specified organisation and is uploaded to S3 in both a latest version and a timestamped version. A signed download URL is returned for immediate access.

Note: Only users that are members of the organisation can request this report.

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>

The ID of the organisation

Responses

Response samples

Content type
application/json

Generate global report manually

This operation triggers the global report generation job manually.

The report includes all organisations and is uploaded to S3 in both a latest version and a timestamped version. A signed download URL is returned for immediate access.

Note: Only users that are part of an Analytics organisation or admins can request this report.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json

Proxy user

Respond to proxy invite

Accepts or rejects a proxy relationship invitation, establishing or declining the ability to manage another user's accessibility provisions

Authorizations:
bearerAuth
path Parameters
inviteId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

invite unique id

Request Body schema: application/json
required

invite reply

inviteStatus
string
Enum: "Accepted" "Rejected" "Cancelled"

status

Responses

Request samples

Content type
application/json
{
  • "inviteStatus": "Accepted"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "inviter": "string",
  • "inviteStatus": "string",
  • "principalUser": {
    },
  • "proxyUser": {
    }
}

Create proxy relationship invite

Sends an invitation to another user to establish a proxy relationship, allowing one user to manage accessibility provisions on behalf of another

Authorizations:
bearerAuth
Request Body schema: application/json
required

invite object

principalUserId
string

id of the principal user

proxyUserId
string

id of the proxy user

inviter
string
Enum: "Principal" "Proxy"

inviter type

Responses

Request samples

Content type
application/json
{
  • "inviter": "Principal",
  • "principalUserId": "1cf4b5f0-4bb9-458b-94d7-5a220978c986",
  • "proxyUserId": "154e9342-abfe-4cff-b89d-34f1208f08e1"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "inviter": "string",
  • "inviteStatus": "string",
  • "principalUser": {
    },
  • "proxyUser": {
    }
}

Organisation Users

Update a user in an organisation

This operation updates a user on an organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

userId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

user unique id

Request Body schema: application/json
required

Organisation User

role
string
Enum: "ADMIN" "BILLING" "TEAM_MEMBER" "MANAGER" "CULTURAL MANAGER"

user role

jobTitle
string

user job title

Responses

Request samples

Content type
application/json
{
  • "role": "ADMIN",
  • "jobTitle": "string"
}

Response samples

Content type
application/json
{
  • "jobTitle": "editor",
  • "role": "TEAM_MEMBER"
}

Delete a user from an organisation

This operation removes a user from an organisation

The user should be the admin or manager of the organisation

A manager can not remove an admin of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

userId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

user unique id

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "description": "string"
}

invite a user to join an organisation

This operation will send an email to the specified address with an 'invite'.

The email received has a link with the following shape: SERVER_URL/accept-invite?orgId=&email=&invite=&user=

The userId is only present in the link if the user is already in the system. The email and inviteId is always present.

Example url: https://allinstaging-3tc9g.projectbeta.co.uk/accept-invite?orgId=22222222-2222-2222-2222-222222222222&email=test%2Btest%40example.com&invite=33333333-3333-3333-3333-333333333333&user=11111111-1111-1111-1111-111111111111"

The user should be the admin, manager or cultural manager of the organisation The user can only invite up to the same level of privilege as themselves

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Request Body schema: application/json
required

Updated user object

email
string

invitee email address

role
string
Enum: "ADMIN" "BILLING" "TEAM_MEMBER" "MANAGER" "CULTURAL_MANAGER" "ANALYTICS_MANAGER" "PROXY_MANAGER" "SUPPORT_MANAGER"

role of user

Responses

Request samples

Content type
application/json
{
  • "email": "test@api.user",
  • "role": "ADMIN"
}

Response samples

Content type
application/json
{
  • "id": "string"
}

user to join an organisation invite reply

This operation updates the status for an invite and adds them as an organisation user if accepted. Does nothing if the user is already in the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Request Body schema: application/json
required

Updated user object

inviteId
string

invite id

jobTitle
string

user job title

status
Accepted | Rejected

invite reply status

Responses

Request samples

Content type
application/json
{
  • "status": "Accepted",
  • "jobTitle": "Manager",
  • "inviteId": "d7a91838-f255-44c8-836c-7b3c8dd83e7a"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "description": "string"
}

Get users for an organisation

This operation retrieves users and invited users for an organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Responses

Response samples

Content type
application/json
{
  • "users": [
    ],
  • "invitedUsers": [
    ]
}

Cancel an invitation to join an organisation

Cancel an invitation to join an organisation. Only administrators can cancel invitations. Only invitations with 'Invited' status can be deleted - accepted, rejected, or cancelled invitations cannot be cancelled.

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>

The ID of the organisation

inviteId
required
string <uuid>

The ID of the invitation to delete

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "description": "string"
}

Provider

Update or create an organisation's ticket provider config

This operation updates or creates an organisation's provider. Use the DMS option if the organisation is only using Action Links, otherwise select the relevant provider and include the necessary configuration. If the provider is being updated to use action links, an actionLinksUrl must be provided.

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Request Body schema: application/json
required

Updated user object

provider
string
Enum: "SpektrixV3" "TicketsolveXML" "TicketsolveJSON" "TessituraV15" "DMS"

provider name

Spektrix V3 configuration (object) or Ticketsolve XML configuration (object) or Ticketsolve JSON configuration (object) or Tessitura V15 configuration (object)

object based on the provider

actionLinksUrl
string | null

URL to the action links endpoint for this provider

usesActionLinks
boolean

Whether this provider uses action links or not. If this is true, actionLinksUrl must be provided and valid.

Responses

Request samples

Content type
application/json
Example
{}

Response samples

Content type
application/json
Example
{}

Get ticketing provider configuration

This operation retrieves an organisation's provider if it exists

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Responses

Response samples

Content type
application/json
Example
{}

Get event listings from provider with configured attributes and location data

This operation retrieves an organisation's provider data configured with location data

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Request Body schema: application/json
object

provider unique attribute names with DMS standard ids

object

provider unique location ids with DMS location id

object

provider unique zone ids with DMS zone ids

Responses

Request samples

Content type
application/json
{
  • "providerAttributes": {
    },
  • "providerLocations": {
    },
  • "providerZones": {
    }
}

Response samples

Content type
application/json
{
  • "id": "214801AMHNJGSJHDBNHPDQLVCMBPCGSGD",
  • "name": "A Christmas Carol",
  • "description": "",
  • "firstInstance": "2025-11-20T19:00:00.000Z",
  • "lastInstance": "2026-01-17T19:00:00.000Z",
  • "instances": [
    ]
}

Get provider event information

This operation retrieves an organisation's provider event data

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Responses

Response samples

Content type
application/json
{
  • "events": {
    },
  • "attributes": [
    ],
  • "tags": [
    ]
}

Get ticketing provider mapping configuration

This operation retrieves an organisation's custom provider mappings

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Responses

Response samples

Content type
application/json
{
  • "providerAttributes": [
    ],
  • "providerLocations": [
    ],
  • "providerZones": [
    ]
}

Create ticketing provider mapping configuration

This operation creates a mapping configuration for an organisation's provider to match with the provider's custom attributes/data

If a mapping configuration already exists, it will be replaced with the new one. Otherwise the configuration will be created.

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Responses

Response samples

Content type
application/json
{
  • "providerAttributes": {
    },
  • "providerLocations": {
    },
  • "providerZones": {
    }
}

Delete a ticketing provider configuration for a profile

This operation deletes an organisation's provider configuration for an entity.

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

mappingType
required
string
Enum: "attribute" "location" "zone"

The type of provider mapping to delete. Must be one of: attribute (provider attribute mappings), location (location mappings), or zone (zone mappings).

mappingId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

mapping id

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "description": "string"
}

Event

Start import events job

This operation starts the import events job for the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Responses

Response samples

Content type
application/json
{
  • "jobId": "b2ef9762-5a37-4560-8b81-fb02eff1d66e"
}

Update an event

This operation updates an event for the organisation cultural profile

- The user should be the admin, manager or cultural manager of the organisation
- The organisation should be on subscription tier 2 or 3

To delete a photo from an event set the photo[1|2|3]FileId to null. e.g. { "photo1FileId": null }

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

eventId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

event unique id

Request Body schema: application/json
required

Event

name
string

event name

description
string

event description

string or null

a location of the event. Empty strings are coerced to null.

locationName
string

name of the event location, can be set only if locationId is null. Empty strings are coerced to null.

locationUrl
string or null <uri>

URL for the event location, can be set only if locationId is null. Empty strings are coerced to null.

priceRangeLow
number or null

Lowest ticket price

priceRangeHigh
number or null

Highest ticket price

defaultBookingLink
string or null <uri>

Default booking URL

language
string
Enum: "en" "cy" "ga" "gd"

Language/locale code (e.g., 'en','cy','ga','gd').

photo1FileId
string or null

fileId for photo1 for event - supply a file Id to set a new photo, or null to remove the existing photo

photo1AltText
string

AltText for photo 1 for event - only used if the corresponding file is used

photo1Credit
string

Credit for photo 1 for event - only used if the corresponding file is used

photo1Caption
string

Caption for photo 1 for event - only used if the corresponding file is used

photo2FileId
string or null

fileId for photo 2 for event - supply a file Id to set a new photo, or null to remove the existing photo

photo2AltText
string

AltText for photo 2 for event - only used if the corresponding file is used

photo2Credit
string

Credit for photo 2 for event - only used if the corresponding file is used

photo2Caption
string

Caption for photo 2 for event - only used if the corresponding file is used

photo3FileId
string or null

fileId for photo3 for event - supply a file Id to set a new photo, or null to remove the existing photo

photo3AltText
string

AltText for photo 3 for event - only used if the corresponding file is used

photo3Credit
string

Credit for photo 3 for event - only used if the corresponding file is used

photo3Caption
string

Caption for photo 3 for event - only used if the corresponding file is used

status
enum
Enum: "Draft" "Published" "Archived"

event status

type
Array of enum (EventType)
Items Enum: "ArtAndExhibitions" "Cabaret" "Circus" "Comedy" "CoursesAndWorkshops" "Craft" "Dance" "FamiliarisationTours" "FamilyFriendly" "FilmCinema" "Festival" "ImmersiveAndVR" "LiteratureAndPoetry" "Music" "Musical" "Opera" "Pantomime" "TalksAndDebates" "Theatre" "TouchTours"

type of the event

format
enum (EventFormat)
Enum: "InPerson" "Online" "Hybrid"

format of the event

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "id": "b2ef9762-5a37-4560-8b81-fb02eff1d66e",
  • "name": "Event Name",
  • "description": "",
  • "culturalOrganisationProfileId": "9adbd1a3-dbcf-4e13-bdef-d5faa9a8cc64",
  • "provider": "Spektrix",
  • "providerId": "119401AKGDPTGQQQSKKRQ",
  • "attributes": {
    },
  • "firstInstance": "2020-12-03T00:00:00.000Z",
  • "lastInstance": "2021-01-09T00:00:00.000Z",
  • "instances": [
    ],
  • "instancesCount": 28,
  • "priceRangeLow": 10,
  • "priceRangeHigh": 20,
  • "defaultBookingLink": "https://example.com/book",
  • "location": null,
  • "locationName": "Event Location",
  • "type": [
    ],
  • "photo1": {
    },
  • "photo2": {
    },
  • "photo3": null,
  • "status": "Published",
  • "format": "InPerson",
  • "updatedByName": "Jane Doe",
  • "createdByName": "John Smith",
  • "language": "en"
}

Get event by id

This operation retrieves an event

- The user should be the admin, manager or cultural manager of the organisation
- The organisation should be on subscription tier 2 or 3

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

eventId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

event unique id

Responses

Response samples

Content type
application/json
{
  • "id": "b2ef9762-5a37-4560-8b81-fb02eff1d66e",
  • "name": "Event Name",
  • "description": "",
  • "culturalOrganisationProfileId": "9adbd1a3-dbcf-4e13-bdef-d5faa9a8cc64",
  • "provider": "Spektrix",
  • "providerId": "119401AKGDPTGQQQSKKRQ",
  • "attributes": {
    },
  • "firstInstance": "2020-12-03T00:00:00.000Z",
  • "lastInstance": "2021-01-09T00:00:00.000Z",
  • "instances": [
    ],
  • "instancesCount": 28,
  • "priceRangeLow": 10,
  • "priceRangeHigh": 20,
  • "defaultBookingLink": "https://example.com/book",
  • "location": null,
  • "locationName": "Event Location",
  • "type": [
    ],
  • "photo1": {
    },
  • "photo2": {
    },
  • "photo3": null,
  • "status": "Published",
  • "format": "InPerson",
  • "updatedByName": "Jane Doe",
  • "createdByName": "John Smith",
  • "language": "en"
}

Update an event instance

This operation updates an event instance for the organisation cultural profile event

- The user should be the admin, manager or cultural manager of the organisation
- The organisation should be on subscription tier 2 or 3

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

eventId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

event unique id

eventInstanceId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

event instance unique id

Request Body schema: application/json
required

Event

start
date

date and time when the event instance starts

end
date

date and time when the event instance ends

zoneId
string

uuid of the zone for the event instance, should be inside the location of the event

bookingLink
string

external booking link for the event instance

Responses

Request samples

Content type
application/json
{
  • "start": "2025-12-12T15:30:00.000Z"
}

Response samples

Content type
application/json
{
  • "id": "a90ee7d0-981d-41c7-b7aa-a0d1286dd8e2",
  • "start": "2025-12-12T00:00:00.000Z",
  • "end": "2025-12-12T02:00:00.000Z",
  • "eventId": "efg45g66-1212-4545-94e8-5455678fdaab",
  • "providerId": "18449a84-7344-4225-94e8-f82160dc560e",
  • "zone": null,
  • "provisions": [
    ],
  • "attributes": {
    }
}

Get event instance by id

This operation retrieves an event instance inside the organisation cultural profile

- The user should be the admin, manager or cultural manager of the organisation
- The organisation should be on subscription tier 2 or 3

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

eventId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

event unique id

eventInstanceId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

event instance unique id

Responses

Response samples

Content type
application/json
{
  • "id": "a90ee7d0-981d-41c7-b7aa-a0d1286dd8e2",
  • "start": "2025-12-12T00:00:00.000Z",
  • "end": "2025-12-12T02:00:00.000Z",
  • "eventId": "efg45g66-1212-4545-94e8-5455678fdaab",
  • "providerId": "18449a84-7344-4225-94e8-f82160dc560e",
  • "zone": null,
  • "provisions": [
    ],
  • "attributes": {
    }
}

Set provisions for an event instance

This operation set the provisions for an event instance inside the organisation, adding or updating the provisions as needed

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

eventId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

event unique id

eventInstanceId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

event instance unique id

Request Body schema: application/json
required

Provisions payload

Array
standardId
required
string

id of the relevant Provision Category, must be one of the standard ids in the system and active for the kind of provision being set (location, eventInstance or zone)

description
required
string

description of the provision

string or null

id of the photo for the provision, if a photo is provided it must be one of the photos in the system. You will normally use this when keeping the photo (image and alt text) of an existing provision

string or null

id of the file to uploaded for the provision, if a file has been uploaded to the system to be used in the provision the file id should be provided here

string or null

alt text for the photo, to be stored in the photo object when a file id is provided (new photo) or when an existing photoId is provided (updates the existing photo's alt text)

string or null

credit for the photo, to be stored in the photo object when a file id is provided (new photo) or when an existing photoId is provided (updates the existing photo's credit)

string or null

caption for the photo, to be stored in the photo object when a file id is provided (new photo) or when an existing photoId is provided (updates the existing photo's caption)

nonCompliant
boolean

whether the provision is partially compliant, if not provided it will default to false

Responses

Request samples

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

Response samples

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

Get provisions for an event instance

This operation get the provisions for an event instance inside the organisation.

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

eventId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

event unique id

eventInstanceId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

event instance unique id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get event instances by event id

This operation retrieves instances of an event

- The user should be the admin, manager or cultural manager of the organisation
- The organisation should be on subscription tier 2 or 3

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

eventId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

event unique id

query Parameters
pageNumber
number
Example: pageNumber=2

page number for data list

pageSize
number
Example: pageSize=5

number of records per page of data

from
date
Example: from=2024-4-4

from data

to
date
Example: to=2026-12-3

to date

orderSort
string
Enum: "asc" "desc"
Example: orderSort=asc

sort order for data

orderBy
string
Value: "start"
Example: orderBy=name

data property to order by

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "page": 1,
  • "total": 37
}

Get events for an organisation

This operation retrieves an events for the organisation

- The user should be the admin, manager or cultural manager of the organisation
- The organisation should be on subscription tier 2 or 3

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

event unique id

query Parameters
status
string
Enum: "Draft" "Published" "Archived"
Example: status=Published

Filter by event status

pageNumber
number
Example: pageNumber=2

page number for data list

pageSize
number
Example: pageSize=5

number of records per page of data

from
date
Example: from=2024-4-4

from date

to
date
Example: to=2026-12-3

to date

orderSort
string
Enum: "asc" "desc"
Example: orderSort=asc

sort order for data

orderBy
string
Enum: "name" "from" "location" "status"
Example: orderBy=name

data property to order by: name (title), from (date), location, or status

sort
string
Deprecated
Example: sort=nextInstance

Deprecated legacy alias, only applied when orderBy is not provided: nextInstance maps to orderBy=from&orderSort=asc

name
string
Example: name=Music Concert

name of event (also matches description)

search
string
Deprecated
Example: search=Music Concert

Deprecated legacy alias for name, only applied when name is not provided

addressPart
string
Example: addressPart=Manchester

part of the address, we will search in city, postcode and country

price
enum
Enum: "Free" "Paid" "All"
Example: price=Free

price of the event, defaults to All if not specified, results will be based in priceRangeLow and PriceRangeHigh, if one of them is set to 0 then it means free, if one of them is set to bigger than 0 it means paid

type
Array of enum (EventType)
Items Enum: "ArtAndExhibitions" "Cabaret" "Circus" "Comedy" "CoursesAndWorkshops" "Craft" "Dance" "FamiliarisationTours" "FamilyFriendly" "FilmCinema" "Festival" "ImmersiveAndVR" "LiteratureAndPoetry" "Music" "Musical" "Opera" "Pantomime" "TalksAndDebates" "Theatre" "TouchTours"
Example: type=Music,Comedy

type of event

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "page": 0,
  • "total": 0,
  • "example": null
}

Create a new event

This operation creates a new event for the organisation cultural profile

- The user should be the admin, manager or cultural manager of the organisation
- The organisation should be on subscription tier 2 or 3

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Request Body schema: application/json
required

Event

name
required
string

event name

description
required
string

event description

locationId
string or null

a location of the event. Empty strings are coerced to null.

locationName
string

name of the event location, can be set only if locationId is not set. Empty strings are coerced to null.

locationUrl
string or null <uri>
Default: null

URL for the event location, can be set only if locationId is not set. Empty strings are coerced to null.

priceRangeLow
number or null

Lowest ticket price

priceRangeHigh
number or null

Highest ticket price

defaultBookingLink
string or null <uri>

Default booking URL

language
string
Enum: "en" "cy" "ga" "gd"

Language/locale code (e.g., 'en','cy','ga','gd').

photo1FileId
string

fileId for photo1 for location - supply the file Id to create a new Photo

photo1AltText
string

AltText for photo 1 for location - only used if the corresponding file is used

photo1Credit
string

Credit for photo 1 for location - only used if the corresponding file is used

photo1Caption
string

Caption for photo 1 for location - only used if the corresponding file is used

photo2FileId
string

fileId for photo 2 for location - supply the file Id to create a new Photo

photo2AltText
string

AltText for photo 2 for location - only used if the corresponding file is used

photo2Credit
string

Credit for photo 2 for location - only used if the corresponding file is used

photo2Caption
string

Caption for photo 2 for location - only used if the corresponding file is used

photo3FileId
string

fileId for photo3 for location - supply the file Id to create a new Photo

photo3AltText
string

AltText for photo 3 for location - only used if the corresponding file is used

photo3Credit
string

Credit for photo 3 for location - only used if the corresponding file is used

photo3Caption
string

Caption for photo 3 for location - only used if the corresponding file is used

status
enum
Enum: "Draft" "Published" "Archived"

event status, if not supplied defaults to Draft

type
Array of enum (EventType)
Items Enum: "ArtAndExhibitions" "Cabaret" "Circus" "Comedy" "CoursesAndWorkshops" "Craft" "Dance" "FamiliarisationTours" "FamilyFriendly" "FilmCinema" "Festival" "ImmersiveAndVR" "LiteratureAndPoetry" "Music" "Musical" "Opera" "Pantomime" "TalksAndDebates" "Theatre" "TouchTours"

type of the event

format
enum (EventFormat)
Enum: "InPerson" "Online" "Hybrid"

format of the event, defaults to inPerson if not supplied

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "id": "b2ef9762-5a37-4560-8b81-fb02eff1d66e",
  • "name": "Event Name",
  • "description": "",
  • "culturalOrganisationProfileId": "9adbd1a3-dbcf-4e13-bdef-d5faa9a8cc64",
  • "provider": "Spektrix",
  • "providerId": "119401AKGDPTGQQQSKKRQ",
  • "attributes": {
    },
  • "firstInstance": "2020-12-03T00:00:00.000Z",
  • "lastInstance": "2021-01-09T00:00:00.000Z",
  • "instances": [
    ],
  • "instancesCount": 28,
  • "priceRangeLow": 10,
  • "priceRangeHigh": 20,
  • "defaultBookingLink": "https://example.com/book",
  • "location": null,
  • "locationName": "Event Location",
  • "type": [
    ],
  • "photo1": {
    },
  • "photo2": {
    },
  • "photo3": null,
  • "status": "Published",
  • "format": "InPerson",
  • "updatedByName": "Jane Doe",
  • "createdByName": "John Smith",
  • "language": "en"
}

Create a new event instance

This operation creates a new event instance for the organisation cultural profile event

- The user should be the admin, manager or cultural manager of the organisation
- The organisation should be on subscription tier 2 or 3

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

eventId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

event unique id

Request Body schema: application/json
required

Event

start
required
date

date and time when the event instance starts

end
date

date and time when the event instance ends

zoneId
string

uuid of the zone for the event instance, should be inside the location of the event

bookingLink
string

external booking link for the event instance

Responses

Request samples

Content type
application/json
{
  • "start": "2025-12-12T15:30:00.000Z",
  • "zoneId": "d7a91838-f255-44c8-836c-7b3c8dd83e7a"
}

Response samples

Content type
application/json
{
  • "id": "a90ee7d0-981d-41c7-b7aa-a0d1286dd8e2",
  • "start": "2025-12-12T00:00:00.000Z",
  • "end": "2025-12-12T02:00:00.000Z",
  • "eventId": "efg45g66-1212-4545-94e8-5455678fdaab",
  • "providerId": "18449a84-7344-4225-94e8-f82160dc560e",
  • "zone": null,
  • "provisions": [
    ],
  • "attributes": {
    }
}

Invoices

List invoices for an organisation

Retrieves all invoices associated with an organisation from Stripe

Authorizations:
bearerAuth
path Parameters
organisationId
required
string
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

The ID of the organisation

query Parameters
status
string
Enum: "draft" "open" "paid" "void" "uncollectible"

Filter invoices by status

limit
integer [ 1 .. 100 ]
Default: 10

Number of invoices to return (1-100)

startingAfter
string

Cursor for pagination (invoice ID to start after)

endingBefore
string

Cursor for pagination (invoice ID to end before)

Responses

Response samples

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

Create an invoice for an organisation subscription

Creates a Stripe invoice for an organisation with subscription and location items based on the specified tier and duration.
NOTE: The organisation must have set a valid vatCountry to create an invoice.

Authorizations:
bearerAuth
path Parameters
organisationId
required
string
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

The ID of the organisation

Request Body schema: application/json
required

Invoice parameters

tier
required
string
Enum: "Tier1" "Tier2" "Tier3"

Subscription tier for the organisation

duration
required
string
Enum: "OneYear" "TwoYears" "ThreeYears"

Subscription duration

locationCount
required
integer >= 0

Number of locations for this organisation (optional). If not specified, current location count will be used. Cannot be less than current location count.

poNumber
string

Purchase Order number (optional)

Responses

Request samples

Content type
application/json
{
  • "tier": "Tier2",
  • "duration": "OneYear",
  • "locationCount": 5,
  • "poNumber": "PO-2024-001"
}

Response samples

Content type
application/json
{
  • "invoiceId": "string",
  • "url": "string"
}

Create an invoice for an organisation group

Creates a Stripe invoice for a group of organisations led by the specified organisation.
The leading organisation must be part of an organisation group with accepted associated organisations.
All organisations in the group will have the same subscription tier and duration.
Requires leading organisation to authorise.
NOTE: The leading organisation must have set a valid vatCountry to create a group invoice.

Authorizations:
bearerAuth
path Parameters
organisationId
required
string
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

The ID of the leading organisation

Request Body schema: application/json
required

Group invoice parameters

tier
required
string
Enum: "Tier1" "Tier2" "Tier3"

Subscription tier for all organisations in the group

duration
required
string
Enum: "OneYear" "TwoYears" "ThreeYears"

Subscription duration for all organisations in the group

Array of objects

Array of location counts per organisation in the group. If not specified for an organisation, its current location count will be used. Cannot specify fewer locations than currently exist for any organisation.

poNumber
string

Purchase Order number (optional)

Responses

Request samples

Content type
application/json
{
  • "tier": "Tier2",
  • "duration": "OneYear",
  • "organisationLocations": [
    ],
  • "poNumber": "PO-2024-001"
}

Response samples

Content type
application/json
{
  • "invoiceId": "string",
  • "url": "string"
}

Shared Member Profile

Get shared member profile

Retrieves a member profile that has been shared with the organisation, including accessibility provisions, evidence, and event attendance

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

memberProfileId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

member profile unique id

Responses

Response samples

Content type
application/json
{
  • "id": "19d6739e-f353-4932-a23d-455d376c4c86",
  • "email": "john.smith@example.com",
  • "isIdentityVerified": true,
  • "isHyntVerified": true,
  • "firstName": "John",
  • "lastName": "Smith",
  • "attendingEvents": [
    ],
  • "organisationShares": [
    ],
  • "provisions": [
    ]
}

Search shared member profiles

Search and retrieve paginated member profiles shared with the organisation, filtered by email or name for accessibility ticket booking and event planning

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

query Parameters
email
string
Example: email=user@example.com

member profile email

name
string
Example: name=John

member profile first or last name

pageNumber
number
Example: pageNumber=2

page number for data list

pageSize
number
Example: pageSize=5

number of records per page of data

orderSort
string
Enum: "asc" "desc"
Example: orderSort=asc

sort order for data

orderBy
string
Enum: "name" "email"
Example: orderBy=name

data property to order by

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "page": 1,
  • "total": 10
}

Organisation Groups

organisation to join a group invite reply

This operation updates the status for an 'invite'

The user should be the admin of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Request Body schema: application/json
required
inviteId
string

invite id, this id can be obtained from the user's profile action section for organisation group invites

status
Accepted | Rejected

invite reply status

Responses

Request samples

Content type
application/json
{
  • "status": "Accepted",
  • "inviteId": "d7a91838-f255-44c8-836c-7b3c8dd83e7a"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "description": "string"
}

invite an organisation to join a group

This operation will email the specified address in the associated organisation with an 'invite'.

The user should be the admin of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

lead organisation unique id

Request Body schema: application/json
required

Updated user object

associatedOrganisationId
string

id of invited organisation

Responses

Request samples

Content type
application/json
{
  • "associatedOrganisationId": "8fd14455-2b0f-4551-3e2a-00cc68b3f720"
}

Response samples

Content type
application/json
{
  • "id": "string"
}

Get organisation by filtering by name

This operation retrieves organisations by name for adding to a group.

The user should be the admin of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

lead organisation unique id

query Parameters
name
required
string >= 3 characters
Example: name=theatre

part or whole of the organisation name to filter by. Minimum 3 characters.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get group organisations by organisation id

This operation retrieves an organisation group for the given id. If the organisation is a lead organisation, it will return the group details including all associated organisations. If the organisation is an associate organisation, it will return the lead organisation with itself as the only associated organisation."

The user should be the admin of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Responses

Response samples

Content type
application/json
{
  • "id": "d7a91838-f255-44c8-836c-7b3c8dd83e7a",
  • "name": "ACE DMS",
  • "locationCount": 2,
  • "subscriptionEndDate": "2024-12-31T23:59:59.999Z",
  • "subscriptionTotalLocations": 2,
  • "associatedOrganisations": [
    ]
}

Remove an associated organisation from a group

For the given organisation id that is an associated organisation (i.e. part of a group and not the lead organisation) it will remove the organisation from the group

The user should be the admin of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>

The ID of the organisation

organisationGroupId
required
string <uuid>

The ID of the organisation group entry to delete. This id is available in the organisation group get response property associatedOrganisations[n].organisationGroupId.

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "description": "string"
}

Organisations

Update organisation

This operation updates draftInfo property for orgs and set the approval status to Awaiting Approval

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Request Body schema: application/json
required

Updated user object

name
string

name of organisation

address1
string

registered address line 1 of organisation

address2
string

registered address line 2 of organisation

city
string

registered address city of organisation

postcode
string

registered address postcode of organisation

country
string

registered address country of organisation

email
string

email of organisation

phone
string

phone number of organisation

website
string

website of organisation

ticketingSystem
any
ticketingSystemOther
string

ticketing system of organisation if value is other

analysisTool
any
analysisToolOther
string

analytics tool of organisation if value is other

locationCount
number

number of different locations for an organisation

logoFileId
string or null

file id of the organisation logo - supply a file Id to set a new logo, or null to remove the existing logo

logoAltText
string

alt text for the organisation logo

turnover
string (TurnoverType)
Enum: "NoTurnover" "UpTo500k" "Between500kAnd1m" "Between1mAnd2m" "Between2mAnd5m" "Between5mAnd10m" "Over10m"

annual turnover of organisation

contactPreference
string (ContactPreferenceType)
Enum: "Email" "Phone" "Any"

contact preference of organisation

approvalStatus
string
Value: "AwaitingResponse"

approval status of organisation, only valid value is 'AwaitingResponse' will change the status from the current value to 'Awaiting Approval' to indicate current changes in draft info are ready for review

homeCountry
string (HomeCountryType)
Enum: "England" "Scotland" "Wales" "NorthernIreland" "Ireland"

home country of organisation

Responses

Request samples

Content type
application/json
{
  • "address1": "New Office Name, 123 Name Street",
  • "address2": "Office 456",
  • "city": "London",
  • "postcode": "SW1A 1AA",
  • "country": "United Kingdom",
  • "homeCountry": "Wales"
}

Response samples

Content type
application/json
{
  • "id": "11111111-1111-1111-1111-111111111111",
  • "name": "API Theatre Group",
  • "address1": "address1 of organisation",
  • "address2": "address2 of organisation",
  • "postcode": "postcode of organisation",
  • "city": "city of organisation",
  • "country": "country of organisation",
  • "email": "api@theatre.net.uk",
  • "phone": "+44 (0) 123 456 7890",
  • "locationCount": 2,
  • "hasAgreedDSA": true,
  • "turnover": "Between1mAnd2m",
  • "draftInfo": "{\"name\":\"ACE DMS\",\"website\":\"https://www.theatre.net.uk\"}",
  • "approvalStatus": "NewApplication",
  • "contactPreference": "Phone",
  • "declineMessage": "",
  • "pilot": false,
  • "logo": null,
  • "subscriptionTier": "Tier2",
  • "subscriptionEndDate": "2025-09-29T23:00:00.000Z",
  • "subscriptionTotalLocations": 2,
  • "vatCountry": "GB",
  • "vatNumber": "123456789",
  • "homeCountry": "England"
}

Get organisation by id

This operation retrieves an org

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Responses

Response samples

Content type
application/json
{
  • "id": "11111111-1111-1111-1111-111111111111",
  • "name": "API Theatre Group",
  • "address1": "address1 of organisation",
  • "address2": "address2 of organisation",
  • "postcode": "postcode of organisation",
  • "city": "city of organisation",
  • "country": "country of organisation",
  • "email": "api@theatre.net.uk",
  • "phone": "+44 (0) 123 456 7890",
  • "locationCount": 2,
  • "hasAgreedDSA": true,
  • "turnover": "Between1mAnd2m",
  • "draftInfo": "{\"name\":\"ACE DMS\",\"website\":\"https://www.theatre.net.uk\"}",
  • "approvalStatus": "NewApplication",
  • "contactPreference": "Phone",
  • "declineMessage": "",
  • "pilot": false,
  • "logo": null,
  • "subscriptionTier": "Tier2",
  • "subscriptionEndDate": "2025-09-29T23:00:00.000Z",
  • "subscriptionTotalLocations": 2,
  • "vatCountry": "GB",
  • "vatNumber": "123456789",
  • "homeCountry": "England"
}

Update organisation's VAT details

This operation updates vatCountry and vatNumber for organisations.
NOTE: you need a valid vatCountry to create an invoice.

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Request Body schema: application/json
required

Updated vat details

vatNumber
string (VatNumberType)

VAT registration number of the organisation

vatCountry
required
string (VatCountryType)
Enum: "GB" "IE"

VAT country of the organisation

Responses

Request samples

Content type
application/json
{
  • "vatCountry": "GB",
  • "vatNumber": "123456789"
}

Response samples

Content type
application/json
{
  • "id": "11111111-1111-1111-1111-111111111111",
  • "name": "API Theatre Group",
  • "address1": "address1 of organisation",
  • "address2": "address2 of organisation",
  • "postcode": "postcode of organisation",
  • "city": "city of organisation",
  • "country": "country of organisation",
  • "email": "api@theatre.net.uk",
  • "phone": "+44 (0) 123 456 7890",
  • "locationCount": 2,
  • "hasAgreedDSA": true,
  • "turnover": "Between1mAnd2m",
  • "draftInfo": "{\"name\":\"ACE DMS\",\"website\":\"https://www.theatre.net.uk\"}",
  • "approvalStatus": "NewApplication",
  • "contactPreference": "Phone",
  • "declineMessage": "",
  • "pilot": false,
  • "logo": null,
  • "subscriptionTier": "Tier2",
  • "subscriptionEndDate": "2025-09-29T23:00:00.000Z",
  • "subscriptionTotalLocations": 2,
  • "vatCountry": "GB",
  • "vatNumber": "123456789",
  • "homeCountry": "England"
}

Execute organisation maintenance tasks

This operation executes multiple maintenance tasks: sends subscription renewal notifications to organisations whose subscriptions are expiring soon (14, 7, 3, 1 days before expiration), processes expired subscriptions moving organisations to Tier1 if their subscription has expired, and archives events that have all instances in the past.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "renewalNotificationsSent": 0,
  • "expiredSubscriptionsProcessed": 0,
  • "eventsArchived": 0
}

Get organisation subscriptions

This operation retrieves all subscription configurations for an organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get audit logs for organisation

This operation retrieves the logs for actions performed on organisation data

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

query Parameters
userId
string <uuid>
isUserAdmin
boolean
action
string
Enum: "Create" "Update" "Delete"
adminAction
string
Enum: "NewApplication" "AwaitingResponse" "ChangesRequested" "Approved" "Rejected"
from
date
to
date
pageNumber
number
Default: 1

Responses

Response samples

Content type
application/json
{
  • "page": null,
  • "total": null,
  • "data": [
    ]
}

Get organisations for user

This operation retrieves an array of orgs

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new organisation

This operation creates a new org for the current authenticated user

Authorizations:
bearerAuth
Request Body schema: application/json
required

Organisation

name
required
string

name of organisation

address1
required
string

registered address line 1 of organisation

address2
string

registered address line 2 of organisation

city
string

registered address city of organisation

postcode
string

registered address postcode of organisation

country
string

registered address country of organisation

email
string

email of organisation, if not supplied will be set to empty string

phone
required
string

phone number of organisation

website
required
string

website of organisation

ticketingSystem
required
any
ticketingSystemOther
string

ticketing system of organisation if value is other

analysisTool
required
any
analysisToolOther
string

analytics tool of organisation if value is other

locationCount
required
number

number of different locations for an organisation

hasAgreedDSA
required
boolean

org has agreed to DSA terms

userJobTitle
required
string

job title of the user creating the organisation

logoFileId
string

file id of the organisation logo

logoAltText
string

alt text for the organisation logo

turnover
required
string (TurnoverType)
Enum: "NoTurnover" "UpTo500k" "Between500kAnd1m" "Between1mAnd2m" "Between2mAnd5m" "Between5mAnd10m" "Over10m"

annual turnover of organisation

contactPreference
string (ContactPreferenceType)
Enum: "Email" "Phone" "Any"

contact preference of organisation

approvalStatus
string
Value: "AwaitingResponse"

approval status of organisation, only valid value is 'AwaitingResponse' will change the status from the current value to 'Awaiting Approval' to indicate it is ready for review

homeCountry
string (HomeCountryType)
Enum: "England" "Scotland" "Wales" "NorthernIreland" "Ireland"

home country of organisation

Responses

Request samples

Content type
application/json
{
  • "name": "API Theatre Group",
  • "address1": "123 Name Street",
  • "address2": "Suite 456",
  • "city": "London",
  • "postcode": "SW1A 1AA",
  • "country": "United Kingdom",
  • "email": "api@theatre.net.uk",
  • "phone": "+44 (0) 123 456 7890",
  • "ticketingSystem": "LineUp",
  • "locationCount": 2,
  • "hasAgreedDSA": true,
  • "turnover": "Between1mAnd2m",
  • "userJobTitle": "Events Coordinator",
  • "contactPreference": "Phone",
  • "analysisTool": "Other",
  • "analysisToolOther": "Custom CSV Analysis Tool",
  • "homeCountry": "England",
  • "vatCountry": "GB",
  • "vatNumber": "123456789"
}

Response samples

Content type
application/json
{
  • "id": "11111111-1111-1111-1111-111111111111",
  • "name": "API Theatre Group",
  • "address1": "address1 of organisation",
  • "address2": "address2 of organisation",
  • "postcode": "postcode of organisation",
  • "city": "city of organisation",
  • "country": "country of organisation",
  • "email": "api@theatre.net.uk",
  • "phone": "+44 (0) 123 456 7890",
  • "locationCount": 2,
  • "hasAgreedDSA": true,
  • "turnover": "Between1mAnd2m",
  • "draftInfo": "{\"name\":\"ACE DMS\",\"website\":\"https://www.theatre.net.uk\"}",
  • "approvalStatus": "NewApplication",
  • "contactPreference": "Phone",
  • "declineMessage": "",
  • "pilot": false,
  • "logo": null,
  • "subscriptionTier": "Tier2",
  • "subscriptionEndDate": "2025-09-29T23:00:00.000Z",
  • "subscriptionTotalLocations": 2,
  • "vatCountry": "GB",
  • "vatNumber": "123456789",
  • "homeCountry": "England"
}

Locations

Update a location

This operation updates an existing location inside the organisation for the current authenticated user

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

locationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

location unique id

Request Body schema: application/json
required

Location payload

name
string

name of location

address
string

address of location

description
string

description of location

website
string

website of location

email
string

email address of location

phone
string

phone of location

euansGuide
string

euansGuide for location

accessAble
string

accessAble for location

videoUrl
string

videoUrl for location

videoDescription
string

videoDescription for location

accessInformation
string

accessInformation for location

acceptNimbusCard
boolean

acceptNimbusCard for location

allInScheme
boolean

all in scheme accepted

acceptSunflowerLanyard
boolean

accept sunflower lanyard of location

acceptCeaCard
boolean

acceptCeaCard for location

acceptCompanionCard
boolean

acceptCompanionCard for location

requiresProofOfEligibility
boolean

requiresProofOfEligibility for location

language
string
Enum: "en" "cy" "ga" "gd"

Language/locale code (e.g., 'en','cy','ga','gd'). Changes may be stored in draftInfo until approved.

photo1FileId
string or null

fileId for photo1 for location - supply a file Id to set a new photo, or null to remove the existing photo

photo1AltText
string

AltText for photo 1 for location - only used if the corresponding file is used

photo1Credit
string

Credit for photo 1 for location - only used if the corresponding file is used

photo1Caption
string

Caption for photo 1 for location - only used if the corresponding file is used

photo2FileId
string or null

fileId for photo 2 for location - supply a file Id to set a new photo, or null to remove the existing photo

photo2AltText
string

AltText for photo 2 for location - only used if the corresponding file is used

photo2Credit
string

Credit for photo 2 for location - only used if the corresponding file is used

photo2Caption
string

Caption for photo 2 for location - only used if the corresponding file is used

photo3FileId
string or null

fileId for photo3 for location - supply a file Id to set a new photo, or null to remove the existing photo

photo3AltText
string

AltText for photo 3 for location - only used if the corresponding file is used

photo3Credit
string

Credit for photo 3 for location - only used if the corresponding file is used

photo3Caption
string

Caption for photo 3 for location - only used if the corresponding file is used

approvalStatus
string
Value: "AwaitingResponse"

approval status of location, only valid value is 'AwaitingResponse' will change the status from the current value to 'Awaiting Approval' to indicate it is ready for review

publishedStatus
string
Enum: "Published" "Archived"

published status of location

type
Array of strings (LocationType)
Items Enum: "Circus" "CombinedArts" "Comedy" "CommunitySpace" "Craft" "Dance" "Festival" "Educational" "FilmCinema" "Gallery" "ImmersiveAndVR" "Library" "Museum" "Music" "Theatre" "VisualArt" "VisitorAttraction" "FamilyFriendly" "LiteraturePoetry"

type of location, can be one or more of the following values

visualStory
string

visualStory for location as url to external resource

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "id": "11111111-1111-1111-1111-111111111111",
  • "name": "API Theatre Group",
  • "description": "A location description",
  • "email": "api@theatre.net.uk",
  • "accessInformation": "access information of location",
  • "accessAble": "access able of location",
  • "euansGuide": "euans guide of location",
  • "videoDescription": "video description of location",
  • "declineMessage": null,
  • "acceptCeaCard": true,
  • "acceptCompanionCard": true,
  • "acceptNimbusCard": true,
  • "requiresProofOfEligibility": true,
  • "allInScheme": true,
  • "language": "en",
  • "acceptSunflowerLanyard": true,
  • "draftInfo": "{\"address1\":\"address1 of location\",\"phone\":\"phone number of location\"}",
  • "approvalStatus": "NewApplication",
  • "publishedStatus": "Published",
  • "visualStory": null,
  • "address1": "address1 of location",
  • "address2": "address2 of location",
  • "postcode": "postcode of location",
  • "city": "city of location",
  • "country": "country of location",
  • "phone": "phone number of location",
  • "type": [
    ],
  • "photo1": {
    },
  • "photo2": {
    },
  • "photo3": null
}

Get a location by id inside an organisation

This operation retrieves a location

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

locationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

location unique id

Responses

Response samples

Content type
application/json
{
  • "id": "11111111-1111-1111-1111-111111111111",
  • "name": "API Theatre Group",
  • "description": "A location description",
  • "email": "api@theatre.net.uk",
  • "accessInformation": "access information of location",
  • "accessAble": "access able of location",
  • "euansGuide": "euans guide of location",
  • "videoDescription": "video description of location",
  • "declineMessage": null,
  • "acceptCeaCard": true,
  • "acceptCompanionCard": true,
  • "acceptNimbusCard": true,
  • "requiresProofOfEligibility": true,
  • "allInScheme": true,
  • "language": "en",
  • "acceptSunflowerLanyard": true,
  • "draftInfo": "{\"address1\":\"address1 of location\",\"phone\":\"phone number of location\"}",
  • "approvalStatus": "NewApplication",
  • "publishedStatus": "Published",
  • "visualStory": null,
  • "address1": "address1 of location",
  • "address2": "address2 of location",
  • "postcode": "postcode of location",
  • "city": "city of location",
  • "country": "country of location",
  • "phone": "phone number of location",
  • "type": [
    ],
  • "photo1": {
    },
  • "photo2": {
    },
  • "photo3": null
}

Set provisions for a location

This operation set the provisions for a location inside the organisation, adding or updating the provisions as needed

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

locationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

location unique id

Request Body schema: application/json
required

Provisions payload

Array
standardId
required
string

id of the relevant Provision Category, must be one of the standard ids in the system and active for the kind of provision being set (location, eventInstance or zone)

description
required
string

description of the provision

string or null

id of the photo for the provision, if a photo is provided it must be one of the photos in the system. You will normally use this when keeping the photo (image and alt text) of an existing provision

string or null

id of the file to uploaded for the provision, if a file has been uploaded to the system to be used in the provision the file id should be provided here

string or null

alt text for the photo, to be stored in the photo object when a file id is provided (new photo) or when an existing photoId is provided (updates the existing photo's alt text)

string or null

credit for the photo, to be stored in the photo object when a file id is provided (new photo) or when an existing photoId is provided (updates the existing photo's credit)

string or null

caption for the photo, to be stored in the photo object when a file id is provided (new photo) or when an existing photoId is provided (updates the existing photo's caption)

nonCompliant
boolean

whether the provision is partially compliant, if not provided it will default to false

Responses

Request samples

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

Response samples

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

Get provisions for a location

This operation get the provisions for a location inside the organisation.

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

locationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

location unique id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get locations for organisation

This operation retrieves an array of locations

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new location

This operation creates a new location inside the organisation for the current authenticated user

The user should be the admin, manager or cultural manager of the organisation

Authorizations:
bearerAuth
path Parameters
organisationId
required
string <uuid>
Example: d7a91838-f255-44c8-836c-7b3c8dd83e7a

organisation unique id

Request Body schema: application/json
required

Location payload

name
required
string

name of location

description
required
string

description of location

address
required
string

address of location

website
required
string

website of location

email
string

email address of location, if not supplied will be set to empty string

phone
required
string

phone of location

euansGuide
required
string

euansGuide for location

accessAble
required
string

accessAble for location

videoUrl
required
string

videoUrl for location

videoDescription
required
string

videoDescription for location

accessInformation
required
string

accessInformation for location

acceptNimbusCard
required
boolean

acceptNimbusCard for location

allInScheme
required
boolean

all in scheme accepted

acceptSunflowerLanyard
required
boolean

accept sunflower lanyard of location

acceptCeaCard
required
boolean

acceptCeaCard for location

acceptCompanionCard
required
boolean

acceptCompanionCard for location

requiresProofOfEligibility
required
boolean

requiresProofOfEligibility for location

language
string
Enum: "en" "cy" "ga" "gd"

Language/locale code (e.g., 'en','cy','ga','gd'). Changes may be stored in draftInfo until approved.

photo1FileId
string

fileId for photo1 for location - supply the file Id to create a new Photo

photo1AltText
string

AltText for photo 1 for location - only used if the corresponding file is used

photo1Credit
string

Credit for photo 1 for location - only used if the corresponding file is used

photo1Caption
string

Caption for photo 1 for location - only used if the corresponding file is used

photo2FileId
string

fileId for photo 2 for location - supply the file Id to create a new Photo

photo2AltText
string

AltText for photo 2 for location - only used if the corresponding file is used

photo2Credit
string

Credit for photo 2 for location - only used if the corresponding file is used

photo2Caption
string

Caption for photo 2 for location - only used if the corresponding file is used

photo3FileId
string

fileId for photo3 for location - supply the file Id to create a new Photo

photo3AltText
string

AltText for photo 3 for location - only used if the corresponding file is used

photo3Credit
string

Credit for photo 3 for location - only used if the corresponding file is used

photo3Caption
string

Caption for photo 3 for location - only used if the corresponding file is used

approvalStatus
string
Value: "AwaitingResponse"

approval status of location, only valid value is 'AwaitingResponse' will change the status from the current value to 'Awaiting Approval' to indicate it is ready for review

publishedStatus
string
Enum: "Published" "Archived"

published status of location

type
required
Array of strings (LocationType)
Items Enum: "Circus" "CombinedArts" "Comedy" "CommunitySpace" "Craft" "Dance" "Festival" "Educational" "FilmCinema" "Gallery" "ImmersiveAndVR" "Library" "Museum" "Music" "Theatre" "VisualArt" "VisitorAttraction" "FamilyFriendly" "LiteraturePoetry"

type of location, can be one or more of the following values

visualStory
string

visualStory for location as url to external resource

Responses

Request samples

Content type
application/json
{
  • "name": "Test Location",
  • "description": "A location description",
  • "address": "Some address",
  • "email": "test.location@example.com",
  • "phone": "0123456789",
  • "videoDescription": "A video description",
  • "accessInformation": "Some access information",
  • "euansGuide": "Some euans guide information",
  • "accessAble": "Some access able information",
  • "acceptNimbusCard": true,
  • "allInScheme": true,
  • "acceptCeaCard": true,
  • "acceptSunflowerLanyard": true,
  • "acceptCompanionCard": true,
  • "requiresProofOfEligibility": true,
  • "publishedStatus": "Published",
  • "type": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "11111111-1111-1111-1111-111111111111",
  • "name": "API Theatre Group",
  • "description": "A location description",
  • "email": "api@theatre.net.uk",
  • "accessInformation": "access information of location",
  • "accessAble": "access able of location",
  • "euansGuide": "euans guide of location",
  • "videoDescription": "video description of location",
  • "declineMessage": null,
  • "acceptCeaCard": true,
  • "acceptCompanionCard": true,
  • "acceptNimbusCard": true,
  • "requiresProofOfEligibility": true,
  • "allInScheme": true,
  • "language": "en",
  • "acceptSunflowerLanyard": true,
  • "draftInfo": "{\"address1\":\"address1 of location\",\"phone\":\"phone number of location\"}",
  • "approvalStatus": "NewApplication",
  • "publishedStatus": "Published",
  • "visualStory": null,
  • "address1": "address1 of location",
  • "address2": "address2 of location",
  • "postcode": "postcode of location",
  • "city": "city of location",
  • "country": "country of location",
  • "phone": "phone number of location",
  • "type": [
    ],
  • "photo1": {
    },
  • "photo2": {
    },
  • "photo3": null
}

Yoti

Create and configure a complete Yoti sandbox session for testing (DEV ONLY)

Creates a new Yoti sandbox session, configures it with a predetermined test scenario, and simulates UI completion to trigger the webhook immediately. This is an all-in-one endpoint for testing the complete IDV flow.

Authorizations:
None
Request Body schema: application/json
required

Sandbox configuration parameters

scenario
required
string
Enum: "all-approved" "document-rejected" "liveness-failed" "face-match-failed"

Test scenario to configure

Responses

Request samples

Content type
application/json
{
  • "scenario": "all-approved"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Create a new Yoti identity verification session

Initiates a new identity verification session with Yoti for the authenticated user's member profile

Authorizations:
None
Request Body schema: application/json
optional

Session creation parameters

locale
string
Default: "en-GB"

Locale for the verification UI (e.g., 'en-GB', 'es-ES')

Responses

Request samples

Content type
application/json
{
  • "locale": "en-GB"
}

Response samples

Content type
application/json
{
  • "sessionUrl": "string"
}

Authentication

Verify user magic link token

Use this endpoint to verify a user in the system and get a session token. Or to get a new session token from a reset password link.

Request Body schema: application/json
required

credentials object

token_hash
required
string

token hash from the magic link or reset password link

type
required
string
Enum: "email" "recovery"

type of token, either 'email' or 'recovery'

Responses

Request samples

Content type
application/json
{}

Response samples

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

Renew user session

Use the refresh token to renew the current session

Request Body schema: application/json
required

credentials object

refresh_token
required
string

refresh token associated with the session

Responses

Request samples

Content type
application/json
{
  • "refresh_token": "***"
}

Response samples

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

Provision a user

Use email and password to create a new user. The new user will receive an email to confirm details.

Request Body schema: application/json
required

credentials object

firstName
required
string

First name for user

lastName
required
string

Last name for user

email
required
string

email address for user

password
required
string

password for user

confirmPassword
required
string

confirmed matching password for user

marketingCommunications
required
boolean

opt-in to marketing emails

trainingCommunications
required
boolean

opt-in to training emails

Responses

Request samples

Content type
application/json
{
  • "firstName": "First Name",
  • "lastName": "Last Name",
  • "email": "user@theatre.net.uk",
  • "password": "***",
  • "confirmPassword": "***",
  • "marketingCommunications": true,
  • "trainingCommunications": true
}

Response samples

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

Resend sign up email

Use email to resend an email to confirm details.

Request Body schema: application/json
required

credentials object

email
required
string

email address for user

Responses

Request samples

Content type
application/json
{
  • "email": "user@theatre.net.uk"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "description": "string"
}

Log out user and invalidate session

Use session bearer token to invalidate a user session

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "description": "string"
}

Authenticate user

Use credentials to request a session token

Request Body schema: application/json
required

credentials object

email
required
string

email address for user

password
required
string

password for user

Responses

Request samples

Content type
application/json
{
  • "email": "user@theatre.net.uk",
  • "password": "***"
}

Response samples

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

Forgot password

Send a request to reset password. The user will receive an email.

Request Body schema: application/json
required

credentials object

email
required
string

email address for user

Responses

Request samples

Content type
application/json
{
  • "email": "user@theatre.net.uk"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "description": "string"
}