Get site by ID

GET /api/configuration/sites/{all}

Success: 200 OK

Overview

Returns a single site — one physical venue or location in the operator's estate — by its site ID. A site is the unit almost every other Configuration and Booking call is scoped to, so this is usually the call you make first when you need the venue's name, address, coordinates, contact details and public-facing URLs.

Two behaviours are worth knowing before you build against it:

Site IDs are matched case-insensitively, so MAIN and main resolve to the same record.

Endpoint

GET {base_url}/api/configuration/sites/{all}

{base_url} is the environment URL issued to your integration. See Authenticating with Gladstone APIs.

Path parameters

NameTypeRequiredDescription
siteIdstringYesThe site to return, matched case-insensitively against id. Site IDs are operator-assigned short codes of maximum 15 characters, not sequential numbers — take the value from the id of a site returned by the list-sites call rather than constructing one. An ID that matches no site returns 404.

Query parameters

NameTypeRequiredDescription
includeFacilitiesAndAmenitiesbooleanNoSwitches the response to the richer shape. Omitted or false returns the object below with organisations, images and socialMedia left unpopulated. Set to true to have those three collections filled and to receive two extra arrays not listed below — amenities and facilities, each carrying id, a key, name, description and translations. Only the literal value true switches shape; any other value is treated as off.

Sample request

cURL
curl -X GET '{base_url}/api/configuration/sites/{all}' \
  -H 'Authorization: Bearer {accessToken}' \
  -H 'X-Use-SSO: true'

Response fields

FieldTypeDescription
idstringThe site's operator-assigned code, maximum 15 characters. This is the value you pass as siteId to site-scoped calls elsewhere in the API.
namestringThe site's short display name — the label an operator would recognise, such as the branch name. Distinct from legalName and from description.
legalNamestringThe registered legal entity name for the site, used where a trading name is not appropriate — invoices, contracts and statutory documents. Maximum 255 characters. Frequently unset, in which case fall back to name.
vatIdstringThe site's VAT registration number, maximum 20 characters, for tax documentation. Held as free text — no format validation is applied, so do not assume a country-specific pattern.
descriptionstringA longer prose description of the site, maximum 255 characters, intended for display to end users. Not the same as name, which is the short label.
addressobjectThe site's postal address, always present as an object even when every line inside it is null.
address.addressLine1stringFirst line of the postal address, maximum 100 characters.
address.addressLine2stringSecond line of the postal address, maximum 100 characters. Null when unused.
address.addressLine3stringThird line of the postal address, maximum 100 characters. Null when unused.
address.townCitystringTown or city, maximum 100 characters.
address.regionstringCounty, state or region, maximum 100 characters.
address.postalCodestringPostcode or ZIP code, maximum 25 characters. Returned as entered, so formatting and spacing vary between sites.
address.countrystringCountry name, maximum 100 characters. Free text rather than an ISO country code.
locationobjectThe site's geographic coordinates, for map display and distance sorting. Always present as an object; both members are null when the operator has not geocoded the site.
location.latitudestringLatitude, carried as a string of maximum 40 characters rather than a number. Parse it before doing arithmetic, and handle null.
location.longitudestringLongitude, carried as a string of maximum 40 characters rather than a number. Parse it before doing arithmetic, and handle null.
contactobjectPublic contact details for the site. Always present as an object even when both members are null.
contact.telephonestringPublic telephone number, maximum 100 characters. Free text — extensions and international prefixes appear inconsistently.
contact.emailstringPublic enquiries email address, maximum 255 characters. No format validation is applied on read.
websiteUrlstringThe operator's public web page for this site. Null when the operator has not set one.
logoUrlstringAbsolute or relative URL of the site's logo image, for branding your own UI. Null when no logo has been uploaded.
termsConditionsUrlstringURL of the terms and conditions document that applies to this site. Sites in the same estate may point at different documents, so read it per site rather than caching one estate-wide value.
privacyPolicyUrlstringURL of the privacy policy that applies to this site. As with termsConditionsUrl, this is per site rather than per operator.
openActiveTaxModestringThe tax mode the site declares for the platform's OpenActive integration — the open-data feed through which sessions and facilities are published and harvested. Maximum 100 characters, free text with no validation.
isActivebooleanWhether the site is currently in service. Derived by inverting the site's inactive flag, so a site whose flag has never been set reports true. Inactive sites are still returned by this endpoint — filter on this field yourself if you only want live venues.
isWebVisiblebooleanWhether the operator intends this site to appear in consumer-facing web channels. Reports false when the value has never been set. This is a display hint only — the endpoint does not hide sites on the strength of it, so honour it in your own UI.
openingDatestring (date-time)The date the site opens or opened to the public. Returned with the time component truncated to midnight, so treat it as a date and ignore the time. Null for established sites where no opening date was recorded.
organisationsarray of objectThe organisations this site belongs to, for group-level reporting and ownership. Returned as null, not [], unless you send includeFacilitiesAndAmenities=true — the default response never populates it, so null here means "not asked for", not "none configured".
organisations[].idinteger (int32)The organisation's numeric identifier.
organisations[].typestringThe organisation's classification.
organisations[].namestringThe organisation's display name.
imagesarray of objectPhotographs and other imagery for the site, in no guaranteed order. Returned as null, not [], unless you send includeFacilitiesAndAmenities=true — null means "not asked for", not "none uploaded".
images[].idinteger (int32)The image's numeric identifier, and the key its translations entries are held against.
images[].urlstringURL of the image asset.
images[].descriptionstringCaption or alt text for the image, maximum 255 characters, in the site's default language. Use images[].translations for other languages.
images[].translationsarray of objectLocalised alternatives to this image's text, keyed on images[].id. Empty when no translations have been captured.
images[].translations[].typestringThe object type the translation belongs to — SiteImage for entries under images.
images[].translations[].culturestringThe culture the text is written in.
images[].translations[].textstringThe translated text for that culture, replacing images[].description when you are rendering in that culture.
socialMediaarray of objectThe site's social media presences. Returned as null, not [], unless you send includeFacilitiesAndAmenities=true — null means "not asked for", not "none configured".
socialMedia[].idinteger (int32)The social media link's numeric identifier, and the key its translations entries are held against.
socialMedia[].urlstringLink to the site's profile or page on that network.
socialMedia[].descriptionstringLabel for the link, maximum 255 characters, in the site's default language.
socialMedia[].logoUrlstringURL of the network's icon, for rendering the link.
socialMedia[].translationsarray of objectLocalised alternatives to this link's text, keyed on socialMedia[].id. Empty when no translations have been captured.
socialMedia[].translations[].typestringThe object type the translation belongs to — SiteSocialMedia for entries under socialMedia.
socialMedia[].translations[].culturestringThe culture the text is written in.
socialMedia[].translations[].textstringThe translated text for that culture, replacing socialMedia[].description when you are rendering in that culture.
translationsarray of objectLocalised alternatives to the site's own text fields, keyed on id. Always populated in both response shapes, and empty when no translations have been captured.
translations[].typestringThe object type the translation belongs to — Site for entries in this top-level collection.
translations[].culturestringThe culture the text is written in.
translations[].textstringThe translated text for that culture.

Sample response

200 OK
{
  "id": "string",
  "name": "string",
  "legalName": "string",
  "vatId": "string",
  "description": "string",
  "address": {
    "addressLine1": "string",
    "addressLine2": "string",
    "addressLine3": "string",
    "townCity": "string",
    "region": "string",
    "postalCode": "string",
    "country": "string"
  },
  "location": {
    "latitude": "string",
    "longitude": "string"
  },
  "contact": {
    "telephone": "string",
    "email": "member@example.com"
  },
  "websiteUrl": "string",
  "logoUrl": "string",
  "termsConditionsUrl": "string",
  "privacyPolicyUrl": "string",
  "openActiveTaxMode": "string",
  "isActive": true,
  "isWebVisible": true,
  "openingDate": "2026-08-14T19:00:00Z",
  "organisations": [
    {
      "id": 12345,
      "type": "string",
      "name": "string"
    }
  ],
  "images": [
    {
      "id": 12345,
      "url": "string",
      "description": "string",
      "translations": [
        {
          "type": "string",
          "culture": "string",
          "text": "string"
        }
      ]
    }
  ],
  "socialMedia": [
    {
      "id": 12345,
      "url": "string",
      "description": "string",
      "logoUrl": "string",
      "translations": [
        {
          "type": "string",
          "culture": "string",
          "text": "string"
        }
      ]
    }
  ],
  "translations": [
    {
      "type": "string",
      "culture": "string",
      "text": "string"
    }
  ]
}

Errors

StatusMeaningWhen
400Bad requestNot returned in practice: siteId is a plain string, so any value is accepted. Do not write handling for it. A site that does not exist returns 404, not 400 — worth noting if you have generalised from other Configuration lookups, several of which do the opposite.
404Not foundNo site has that ID. The body is the plain-text string Site ID '{siteId}' does not exist. You also get this when includeFacilitiesAndAmenities=true and the site is missing.
500Internal server errorAn unexpected server-side failure in the lookup. The response has an empty body — the detail is not returned to you, so retry once and then raise a support ticket quoting the site ID and approximate time.

This page as markdown · All pages · llms.txt