Sites

Update a ShopSite

Use this endpoint to update a ShopSite.

put/shop/sites/{siteId}

Request body

basket_confirmed_email_messagestring nullable

A message which is appended to the end of every Basket Confirmed email for this site.

HTML is supported, however only the following tags are allowed: h1, strong, a, p, br.

category_idsstring[]
custom_payment_type_idsstring[]

An array of custom payment type IDs for the site

email_from_addressstring nullable

The email address used as the From header on all customer- facing email this site sends (confirmations, reminders, receipts). Must be verified with the email provider before delivery succeeds — check email_from_address_verified_at.

intake_form_questionnaire_idstring nullable

ID of the intake-form questionnaire applied to bookings at this site. Null means no questionnaire is attached and the intake step is skipped.

namestring

Display name of the site, shown to customers in the storefront, on receipts, and in confirmation emails sent to guests. Trimmed; 1-120 characters and must not contain HTML.

privacy_policystring nullable

Customer-facing privacy policy shown during checkout and on receipts. Markdown is rendered; null means inherit from the organisation.

scheduling_week_intervalinteger nullable

Number of weeks between repeating scheduling rotations. Used to roll fortnightly or multi-week rotas. 2 means alternating weeks; null means no rotation (every week is identical).

scheduling_week_interval_startstring date-time nullable

Anchor datetime used to compute which week of a multi-week rotation any given date falls into. Paired with scheduling_week_interval; null disables the rotation.

termsstring nullable

Customer-facing terms and conditions shown at checkout and linked in confirmation emails. Markdown is rendered; null means inherit from the organisation.

default_commission_package_idstring mongo-id nullable

The default commission package for the site. This will be used as the default for any new practitioners, but can be overridden on a per-practitioner basis.

Example request

{
  "basket_confirmed_email_message": "<p>We look forward to seeing you. If anything changes,\n<a href=\"mailto:hello@example.com\">get in touch</a>.</p>\n",
  "custom_payment_type_ids": [
    "5f8d944e79c9f341846e807a"
  ],
  "email_from_address": "spa@example.com",
  "email_settings": {
    "follow_up_emails_time": "15:00",
    "reminder_emails_time": "15:00"
  },
  "intake_form_questionnaire_id": "5f1234567890abcdef123456",
  "name": "Palm Tree Spa",
  "privacy_policy": "We process your personal data in accordance with GDPR. See our full\nprivacy notice at https://example.com/privacy.\n",
  "scheduling_week_interval": 2,
  "scheduling_week_interval_start": "2026-01-05T00:00:00Z",
  "terms": "Bookings are subject to our cancellation policy. Full terms at\nhttps://example.com/terms.\n"
}

Response

The ShopSite was successfully updated.

Example response

{
  "data": {
    "basket_confirmed_email_message": "<p>We look forward to seeing you. If anything changes,\n<a href=\"mailto:hello@example.com\">get in touch</a>.</p>\n",
    "country_code": "GB",
    "currency": "GBP",
    "email_from_address": "spa@example.com",
    "email_settings": {
      "follow_up_emails_time": "15:00",
      "reminder_emails_time": "15:00"
    },
    "intake_form_questionnaire_id": "5f1234567890abcdef123456",
    "locale": "en",
    "name": "Palm Tree Spa",
    "privacy_policy": "We process your personal data in accordance with GDPR. See our full\nprivacy notice at https://example.com/privacy.\n",
    "scheduling_week_interval": 2,
    "scheduling_week_interval_start": "2026-01-05T00:00:00Z",
    "terms": "Bookings are subject to our cancellation policy. Full terms at\nhttps://example.com/terms.\n",
    "timezone": "Europe/London",
    "organisation": {
      "name": "Palm Tree Holdings Ltd."
    }
  }
}

Changes

No recorded changes to this endpoint across all 1 revision of this API.