---
title: "Update a Site"
method: PUT
path: "/sites/{siteId}"
tags: ["Sites"]
---

# Update a Site

`PUT /sites/{siteId}`

Use this endpoint to update an existing `Site`.

## Request body

- UpdateSite — The fields to update on a `Site`.
  - `name` string — Display name of the site. Shown to customers in the storefront, in the admin UI, on receipts, and on communications. Trimmed; 1-120 characters, must not contain HTML.
  - `locale` string — The locale of the site. See [Supported Locales](/endpoints/Meta#listMetaSupportedLocales) for a list of supported locales.
  - `currency` string — The currency of the site. See [Supported Currencies](/endpoints/Meta#listMetaSupportedCurrencies) for a list of supported currencies.
  - `timezone` string, nullable — The site's local timezone as an IANA zone identifier (e.g. `Europe/London`, `America/New_York`). All schedule, opening hours and reporting figures are interpreted in this zone, and the value is used to convert UTC timestamps in API responses into local times for display.
  - `property_type` 'Spa & Leisure Hotel' | 'Spa Hotel' | 'Spa Hotel & Golf' | 'Standalone Leisure' | 'Standalone Spa' | 'Other' — The type of property the site is.
  - `logo_media_id` string, uuid, nullable — The media ID of the Site's logo. To obtain a Media ID, use the [`createMedia`](/endpoints/Media/#createMedia) endpoint to upload your media.
  - `external_id` string, nullable — An external ID for the site This can be used to link the site to an external system.
  - `country_code` string, nullable — The country code of the site

## Response `200`

The Site was successfully updated

- object
  - `data` Site — A physical or virtual venue under a `Brand` — typically a single spa, club, or location. Sites own their own offerings, sessions, pricing and staff, and are the unit at which API keys are scoped. A user must be granted access to a site individually before they can act on its data.
    - `id` string, uuid, required — The ID of the site
    - `billing_customer_id` string, required
    - `brand_id` string, uuid, required — The ID of the `Brand` the `Site` belongs to.
    - `brand_name` string, required — The name of the `Brand` the `Site` belongs to.
    - `country_code` string, nullable, required — The country code of the site
    - `created_at` string, date-time, required — The date and time that the site was created
    - `onboarding_completed_at` string, date-time, nullable, required — The date and time that the site's onboarding was completed
    - `currency` string, required — The currency of the site. See [Supported Currencies](/endpoints/Meta#listMetaSupportedCurrencies) for a list of supported currencies.
    - `external_id` string, nullable, required — An external ID for the site This can be used to link the site to an external system.
    - `frontend_subdomain` string, required — The subdomain of the site's frontend
    - `is_read_only` boolean, required — Are billing details read-only.
    - `locale` string, required — The locale of the site. See [Supported Locales](/endpoints/Meta#listMetaSupportedLocales) for a list of supported locales.
    - `name` string, required — Display name of the site. Shown to customers in the storefront, in the admin UI, on receipts, and on communications. Trimmed; 1-120 characters, must not contain HTML.
    - `organisation_id` string, uuid, required — The ID of the organisation that the site belongs to
    - `organisation_name` string, required — The name of the organisation that the site belongs to
    - `property_type` 'Spa & Leisure Hotel' | 'Spa Hotel' | 'Spa Hotel & Golf' | 'Standalone Leisure' | 'Standalone Spa' | 'Other', required — The type of property the site is.
    - `timezone` string, nullable, required — The site's local timezone as an IANA zone identifier (e.g. `Europe/London`, `America/New_York`). All schedule, opening hours and reporting figures are interpreted in this zone, and the value is used to convert UTC timestamps in API responses into local times for display.

## Other responses

- `401` — The user is unauthenticated
- `403` — The authenticated user does not have permission.
- `404` — The resource couldn't be found
- `422` — The request didn't pass validation

---

[API](https://skmtc.dev/try/apis/trybe-api.md) · [All operations](https://skmtc.dev/try/apis/trybe-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/try/trybe-api/revisions/f37f92702da5/schema)
