Skip to main content
Glama

update_event

Destructive

Update an existing event page's content and settings. Supports a subset of create's fields; read current values with get_event before a partial update. Custom fields are managed with create_field, update_field and delete_field, ticket groups with create_ticket_group, update_ticket_group and archive_ticket_group, and ticket types with create_ticket_type, update_ticket_type and archive_ticket_type. The change applies to the live page at once: customers see it right away. There is no undo, because the previous values are not kept. For the page's design and customer-facing labels (including translations), set themeOverrides and hostedLayoutType; list_theme_properties lists what can be set. Set themeId (from list_themes) to use a theme; changing it replaces the page's own theme settings.

Input Schema

NameRequiredDescriptionDefault
taxNo
feesNo
nameNoInternal page name used in your dashboard and API responses.
slugNoPage URL slug. For events and forms the slug defaults to the slugified version of your `title`. For checkouts the slug defaults to the slugified version of your `productData.title`.
titleNo
localeNo
pageIdYesThe ID of the event page to update.
statusNo
themeIdNoThe theme the page uses: one of your themes or a built-in one (see List themes). Changing it replaces all of the page's own theme settings, including order bump styling set in the dashboard, so the page looks like the theme. That drops the page's labels too, translations included: send the ones to keep in `themeOverrides` in the same request, which apply on top. The page's locale is kept.
imageIdsNo
redirectNoIf enabled, redirects the customer to the specified URL before the page loads.
testmodeNoPuts the page in test mode. While it is on, every purchase on this page is a test purchase: no money is taken, the buyer still receives everything the page delivers, and the records are created with `livemode: false`. Turn it off to take real payments again.
formLayoutNoReplaces how the page's form is arranged, top to bottom. Reference fields by `fieldId`, the ids in the page's `fields`; an id that is not on the page is rejected. Send the whole layout: read the current one from `formLayout` on the page, change it and send it back. Each item is one of: `field` (`fieldId`), `heading` (`id`, `text`, `level` `heading` or `subheading`), `divider` (`id`), `discount-code` (no other properties) and `group` (`id`, optional `name`, `columns` 1 to 4, and `items` holding fields, headings, dividers or the discount code; groups never nest). You choose the `id` of each heading, divider and group: 1 to 64 characters, unique in the layout. Fields the layout leaves out are added after it, in their current order. `formLayout` on the page decides the form's order. Each field's `order` is its position among the page's fields and follows the layout: saving a layout (in the dashboard or through the API) rewrites every field's `order`. On a page that has never saved a layout, setting `order` moves the field; once a layout is saved, move fields with `formLayout` instead. A `discount-code` item only places the discount code box: the box shows while `showCouponCodeField` is on, and the item does not switch it on. Forms have no discount code, so a form layout must leave it out. More item types may be added later. When reading a layout, skip any item type you do not recognise. When updating, send every item back as you received it, including those.
descriptionNo
funnelStepsNoOrdered funnel configuration for this page. Supports intermediate checkout steps, one-click upsells, and confirmation behavior. Field references inside upsell/confirmation redirect steps resolve by `fieldId` (get current field IDs from the page detail response) — the create-time `fieldKey` string is rejected.
googleIndexNoAllow Google to index this page for search results. Defaults to `true`.
notifyEmailNoEmail addresses to send notifications to. Supports comma separated emails.
redirectUrlNoURL to redirect to after payment. Applies if `afterPaymentAction` is `redirect`.
eventDetailsNoEvent-specific details like type, dates, location. Ticket-specific discounts (`discounts[].ticketTypeIds`) must reference existing ticket types by `{ id }` — update cannot create new ticket types to key against, so the create-time `{ key }` form is rejected.
trackingCodesNoCustom tracking scripts to include on the page. Supports HTML `<script>` tags.
paymentMethodsNo
paymentOptionsNo
redirectPageIdNoID of the page (checkout, event or form) to redirect to after payment. Applies when `afterPaymentAction` is `checkout`.
themeOverridesNoThe page's design and labels, set on top of its theme and nested by theme property path: `tokens.colorPrimary` is sent as `{ "tokens": { "colorPrimary": { "light": "#1A73E8" } } }`. Keys you leave out keep their current value, and `null` resets a property, or everything under a key, to the theme default. Call `list_theme_properties` for the supported properties, their value formats and, where a property has a fixed one, its default.
invoiceSettingsNo
redirectUrlPathNoAdditional path parameters appended to the `redirectUrl`. Applies if `afterPaymentAction` is `redirect` and `redirectUrl` is set. To reference a field value, use `fieldId` (the persisted field ID, from the page detail response) instead of the create-time `fieldKey`. [Learn more](https://checkoutpage.com/docs/articles/add-field-and-variant-data-to-redirect-url)
hostedLayoutTypeNo
redirectUrlQueryNoQuery parameters for the `redirectUrl`. Applies if `afterPaymentAction` is `redirect` and `redirectUrl` is set. To reference a field value, use `fieldId` instead of the create-time `fieldKey`. [Learn more](https://checkoutpage.com/docs/articles/add-field-and-variant-data-to-redirect-url)
allowDynamicLabelNo
allowDynamicPriceNo
allowDynamicTitleNoAllow page title to be overridden via URL query parameters.
savePaymentMethodNo
afterPaymentActionNoBehavior after checkout. `confirmation` shows the confirmation page. `checkout` redirects to `redirectPageId`. `redirect` sends the customer to `redirectUrl`. Defaults to `confirmation`.
checkoutAbandonmentNo
coverProcessingFeesNoOptions that let customers choose to cover the processing fee. The list holds at most one option for now. Sending it replaces the whole list.
showCouponCodeFieldNo
sendEmailConfirmationNoSend an email confirmation to the customer. Defaults to `true`.
redirectUrlInsideEmbedNoIf the page is embedded, redirect the customer within the embed instead of redirecting the main browser window. Defaults to `false`.
allowDynamicDescriptionNoAllow page description to be overridden via URL query parameters.
allowDynamicRedirectUrlNo
sendPaymentNotificationNoSend payment/submission notification emails to the store owner.
showCouponCodeFieldTypeNo
closePopupOnClickOutsideNoWhether a popup embed closes when clicking outside the container. Defaults to `false`.
confirmationEmailMessageNoCustom confirmation email message. Accepts HTML or plain text. Write `{{id}}` where a customer's own details go, and it is filled in for each customer: `{{field_<field id>}}` for their answer to one of the page's fields, `{{variant_<variant id>}}` and `{{variant_<variant id>_sku}}` for their variant choice, or one of `price` (Amount), `amountDue` (Payment amount due), `amountPaid` (Payment amount paid), `currentPeriodEnd` (Next payment date), `planIterations` (No. of payments), `createdAt` (Created date), `status` (Status), `payment_method` (Payment method), `orderId` (Order ID), `product_title` (Product title), `order_summary` (Order summary), `variant_breakdown` (Variant selection), `license_key` (License key), `sku` (SKU), `form_title` (Form title), `event_name` (Event name), `event_date` (Event date/time), `event_location` (Event location), `event_tickets` (Tickets purchased), `booking_fee` (Booking fee), `event_meeting_link` (Virtual meeting link), `customer_portal_link` (Customer portal link), `coupon_code` (Coupon code), `coupon_discount` (Coupon discount). Product, variant, license key and billing variables apply to checkout pages, event variables to events, `form_title` to forms; a variable that does not apply is left blank. To show paragraphs only to some customers, wrap them in `<if variable="<id>" operator="<operator>" value="<value>">...</if>`, with operator one of equals, not_equals, contains, not_contains, starts_with, ends_with, greater_than, less_than, greater_than_or_equal, less_than_or_equal.
confirmationEmailSubjectNoCustom confirmation email subject.
confirmationCheckoutTitleNoConfirmation title.
confirmationEmailShowLogoNoShow store logo in confirmation email.
showConfirmationEventNameNo
customizeEmailConfirmationNoUse a custom email confirmation template. If enabled, provide `confirmationEmailSubject` and `confirmationEmailMessage`.
confirmationCheckoutMessageNoConfirmation message. Accepts HTML or plain text. Write `{{id}}` where a customer's own details go, and it is filled in for each customer: `{{field_<field id>}}` for their answer to one of the page's fields, `{{variant_<variant id>}}` and `{{variant_<variant id>_sku}}` for their variant choice, or one of `price` (Amount), `amountDue` (Payment amount due), `amountPaid` (Payment amount paid), `currentPeriodEnd` (Next payment date), `planIterations` (No. of payments), `createdAt` (Created date), `status` (Status), `payment_method` (Payment method), `orderId` (Order ID), `product_title` (Product title), `order_summary` (Order summary), `variant_breakdown` (Variant selection), `license_key` (License key), `sku` (SKU), `form_title` (Form title), `event_name` (Event name), `event_date` (Event date/time), `event_location` (Event location), `event_tickets` (Tickets purchased), `booking_fee` (Booking fee), `event_meeting_link` (Virtual meeting link), `customer_portal_link` (Customer portal link), `coupon_code` (Coupon code), `coupon_discount` (Coupon discount). Product, variant, license key and billing variables apply to checkout pages, event variables to events, `form_title` to forms; a variable that does not apply is left blank. To show paragraphs only to some customers, wrap them in `<if variable="<id>" operator="<operator>" value="<value>">...</if>`, with operator one of equals, not_equals, contains, not_contains, starts_with, ends_with, greater_than, less_than, greater_than_or_equal, less_than_or_equal.
showConfirmationEventAddOnsNo
allowDynamicPreselectedPriceNo
showConfirmationEventTicketsNo
customizeCheckoutConfirmationNoIf set to true `confirmationCheckoutMessage` and `confirmationCheckoutTitle` will be displayed on the confirmation page. Defaults to `false`.
showConfirmationAddToCalendarNo
showConfirmationEventDateTimeNo
showConfirmationEventLocationNo
confirmationEmailShowStoreNameNoShow store name in confirmation email.
allowDynamicDiscountedFromPriceNo
showConfirmationEventMeetingLinkNo

Output Schema

NameRequiredDescriptionDefault
dataYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / eventDetails / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "attendeeDetails": {
      -        "description": "Attendee details for this event. Only the settings you send change; the rest keep their current values.",
      -        "properties": {
      -          "description": {
      -            "description": "Text under the heading.",
      -            "maxLength": 120,
      -            "type": "string"
      -          },
      -          "emailDomains": {
      -            "description": "Which attendee email addresses are accepted. `any` (default): any address. `flag`: any, with personal addresses (Gmail, Outlook and the like) flagged for review. `work`: work addresses only. `workFlag`: work addresses only, with ones outside the booker's company flagged for review. `same`: addresses at the booker's company only.",
      -            "enum": [
      -              "any",
      -              "flag",
      -              "work",
      -              "workFlag",
      -              "same"
      -            ],
      -            "type": "string"
      -          },
      -          "enabled": {
      -            "description": "Collect a name, an email address and the answers to any attendee questions for each ticket. Defaults to `false`.",
      -            "type": "boolean"
      -          },
      -          "heading": {
      -            "description": "Heading above the attendee rows.",
      -            "maxLength": 200,
      -            "type": "string"
      -          },
      -          "requireAllBeforePayment": {
      -            "description": "With `when: checkout`, every attendee must be added before the customer can pay. Defaults to `true`.",
      -            "type": "boolean"
      -          },
      -          "saveButton": {
      -            "description": "Label of each attendee row's save button.",
      -            "maxLength": 40,
      -            "type": "string"
      -          },
      -          "sendReminders": {
      -            "description": "Email the booker reminders until every attendee is added. Defaults to `true`.",
      -            "type": "boolean"
      -          },
      -          "when": {
      -            "description": "`checkout`: the customer adds attendees before paying. `afterBooking`: they add them after booking, from the confirmation page, their email or the customer portal. Defaults to `checkout`.",
      -            "enum": [
      -              "checkout",
      -              "afterBooking"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "capacity": {
      -        "anyOf": [
      -          {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "currency": {
      -        "anyOf": [
      -          {
      -            "maxLength": 3,
      -            "minLength": 3,
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "discounts": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "properties": {
      -                "amountOff": {
      -                  "anyOf": [
      -                    {
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "maxQuantity": {
      -                  "anyOf": [
      -                    {
      -                      "minimum": 1,
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "minQuantity": {
      -                  "minimum": 1,
      -                  "type": "number"
      -                },
      -                "percentOff": {
      -                  "anyOf": [
      -                    {
      -                      "maximum": 100,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "quantityCondition": {
      -                  "enum": [
      -                    "total_quantity",
      -                    "ticket_type_quantity"
      -                  ],
      -                  "type": "string"
      -                },
      -                "ticketTypeIds": {
      -                  "anyOf": [
      -                    {
      -                      "items": {
      -                        "properties": {
      -                          "id": {
      -                            "pattern": "^[0-9a-fA-F]{24}$",
      -                            "type": "string"
      -                          }
      -                        },
      -                        "required": [
      -                          "id"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "type": "array"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "quantityCondition",
      -                "minQuantity"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "endDate": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "fixedTaxRateIds": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "pattern": "^[0-9a-fA-F]{24}$",
      -              "type": "string"
      -            },
      -            "maxItems": 1,
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "limitRegistrations": {
      -        "anyOf": [
      -          {
      -            "properties": {
      -              "enabled": {
      -                "type": [
      -                  "boolean",
      -                  "null"
      -                ]
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "location": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "mapsLink": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "meetingLink": {
      -        "anyOf": [
      -          {
      -            "pattern": "^https?:\\/\\/.+",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "pdfTicketsEnabled": {
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "platform": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "zoom",
      -              "google_meet",
      -              "microsoft_teams",
      -              "youtube",
      -              "hopin",
      -              "vimeo",
      -              "discord",
      -              "other"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "startDate": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "taxBehavior": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "inclusive",
      -              "exclusive",
      -              "automatic",
      -              ""
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "taxCode": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "timezone": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "type": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "in_person",
      -              "virtual",
      -              "hybrid"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "capacity": {
      +        "anyOf": [
      +          {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "currency": {
      +        "anyOf": [
      +          {
      +            "maxLength": 3,
      +            "minLength": 3,
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "discounts": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "properties": {
      +                "amountOff": {
      +                  "anyOf": [
      +                    {
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "maxQuantity": {
      +                  "anyOf": [
      +                    {
      +                      "minimum": 1,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "minQuantity": {
      +                  "minimum": 1,
      +                  "type": "number"
      +                },
      +                "percentOff": {
      +                  "anyOf": [
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "quantityCondition": {
      +                  "enum": [
      +                    "total_quantity",
      +                    "ticket_type_quantity"
      +                  ],
      +                  "type": "string"
      +                },
      +                "ticketTypeIds": {
      +                  "anyOf": [
      +                    {
      +                      "items": {
      +                        "properties": {
      +                          "id": {
      +                            "pattern": "^[0-9a-fA-F]{24}$",
      +                            "type": "string"
      +                          }
      +                        },
      +                        "required": [
      +                          "id"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "type": "array"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "quantityCondition",
      +                "minQuantity"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "endDate": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "fixedTaxRateIds": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "pattern": "^[0-9a-fA-F]{24}$",
      +              "type": "string"
      +            },
      +            "maxItems": 1,
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "limitRegistrations": {
      +        "anyOf": [
      +          {
      +            "properties": {
      +              "enabled": {
      +                "type": [
      +                  "boolean",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "location": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "mapsLink": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "meetingLink": {
      +        "anyOf": [
      +          {
      +            "pattern": "^https?:\\/\\/.+",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "pdfTicketsEnabled": {
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "platform": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "zoom",
      +              "google_meet",
      +              "microsoft_teams",
      +              "youtube",
      +              "hopin",
      +              "vimeo",
      +              "discord",
      +              "other"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "startDate": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "taxBehavior": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "inclusive",
      +              "exclusive",
      +              "automatic",
      +              ""
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "taxCode": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "timezone": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "type": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "in_person",
      +              "virtual",
      +              "hybrid"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / data / properties / attendeeQuestions
      Removed value: -{
      -  "items": {
      -    "$ref": "#/$defs/Field"
      -  },
      -  "type": "array"
      -}
    • changedOutput schema / properties / data / properties / eventDetails / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "attendeeDetails": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "description": "Attendee details settings for this event.",
      -            "properties": {
      -              "description": {
      -                "description": "Text under the heading.",
      -                "maxLength": 120,
      -                "type": "string"
      -              },
      -              "emailDomains": {
      -                "description": "Which attendee email addresses are accepted. `any` (default): any address. `flag`: any, with personal addresses (Gmail, Outlook and the like) flagged for review. `work`: work addresses only. `workFlag`: work addresses only, with ones outside the booker's company flagged for review. `same`: addresses at the booker's company only.",
      -                "enum": [
      -                  "any",
      -                  "flag",
      -                  "work",
      -                  "workFlag",
      -                  "same"
      -                ],
      -                "type": "string"
      -              },
      -              "enabled": {
      -                "description": "Collect a name, an email address and the answers to any attendee questions for each ticket. Defaults to `false`.",
      -                "type": "boolean"
      -              },
      -              "enabledAt": {
      -                "description": "ISO 8601 timestamp of when attendee details were first switched on. Bookings made before it get no automatic reminders.",
      -                "type": "string"
      -              },
      -              "heading": {
      -                "description": "Heading above the attendee rows.",
      -                "maxLength": 200,
      -                "type": "string"
      -              },
      -              "requireAllBeforePayment": {
      -                "description": "With `when: checkout`, every attendee must be added before the customer can pay. Defaults to `true`.",
      -                "type": "boolean"
      -              },
      -              "saveButton": {
      -                "description": "Label of each attendee row's save button.",
      -                "maxLength": 40,
      -                "type": "string"
      -              },
      -              "sendReminders": {
      -                "description": "Email the booker reminders until every attendee is added. Defaults to `true`.",
      -                "type": "boolean"
      -              },
      -              "when": {
      -                "description": "`checkout`: the customer adds attendees before paying. `afterBooking`: they add them after booking, from the confirmation page, their email or the customer portal. Defaults to `checkout`.",
      -                "enum": [
      -                  "checkout",
      -                  "afterBooking"
      -                ],
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "capacity": {
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "currency": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "discounts": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "amountOff": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "maxQuantity": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "minQuantity": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "percentOff": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "quantityCondition": {
      -                  "anyOf": [
      -                    {
      -                      "enum": [
      -                        "total_quantity",
      -                        "ticket_type_quantity"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "ticketTypeIds": {
      -                  "anyOf": [
      -                    {
      -                      "items": {
      -                        "pattern": "^[0-9a-fA-F]{24}$",
      -                        "type": "string"
      -                      },
      -                      "type": "array"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "endDate": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "fixedTaxRateIds": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "type": "string"
      -            },
      -            "maxItems": 1,
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "limitRegistrations": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "enabled": {
      -                "type": [
      -                  "boolean",
      -                  "null"
      -                ]
      -              },
      -              "enabledAt": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "location": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "mapsLink": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "meetingLink": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "pdfTicketsEnabled": {
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "platform": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "zoom",
      -              "google_meet",
      -              "microsoft_teams",
      -              "youtube",
      -              "hopin",
      -              "vimeo",
      -              "discord",
      -              "other"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "startDate": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "status": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "active",
      -              "sold_out",
      -              "canceled"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "taxBehavior": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "inclusive",
      -              "exclusive",
      -              "automatic",
      -              ""
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "taxCode": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "timezone": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "type": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "in_person",
      -              "virtual",
      -              "hybrid"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "capacity": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "currency": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "discounts": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "amountOff": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "maxQuantity": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "minQuantity": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "percentOff": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "quantityCondition": {
      +                  "anyOf": [
      +                    {
      +                      "enum": [
      +                        "total_quantity",
      +                        "ticket_type_quantity"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "ticketTypeIds": {
      +                  "anyOf": [
      +                    {
      +                      "items": {
      +                        "pattern": "^[0-9a-fA-F]{24}$",
      +                        "type": "string"
      +                      },
      +                      "type": "array"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "endDate": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "fixedTaxRateIds": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "type": "string"
      +            },
      +            "maxItems": 1,
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "limitRegistrations": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "enabled": {
      +                "type": [
      +                  "boolean",
      +                  "null"
      +                ]
      +              },
      +              "enabledAt": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "location": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "mapsLink": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "meetingLink": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "pdfTicketsEnabled": {
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "platform": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "zoom",
      +              "google_meet",
      +              "microsoft_teams",
      +              "youtube",
      +              "hopin",
      +              "vimeo",
      +              "discord",
      +              "other"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "startDate": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "status": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "active",
      +              "sold_out",
      +              "canceled"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "taxBehavior": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "inclusive",
      +              "exclusive",
      +              "automatic",
      +              ""
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "taxCode": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "timezone": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "type": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "in_person",
      +              "virtual",
      +              "hybrid"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed3 schema fields changed
    • changedInput schema / properties / eventDetails / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "capacity": {
      -        "anyOf": [
      -          {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "currency": {
      -        "anyOf": [
      -          {
      -            "maxLength": 3,
      -            "minLength": 3,
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "discounts": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "properties": {
      -                "amountOff": {
      -                  "anyOf": [
      -                    {
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "maxQuantity": {
      -                  "anyOf": [
      -                    {
      -                      "minimum": 1,
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "minQuantity": {
      -                  "minimum": 1,
      -                  "type": "number"
      -                },
      -                "percentOff": {
      -                  "anyOf": [
      -                    {
      -                      "maximum": 100,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "quantityCondition": {
      -                  "enum": [
      -                    "total_quantity",
      -                    "ticket_type_quantity"
      -                  ],
      -                  "type": "string"
      -                },
      -                "ticketTypeIds": {
      -                  "anyOf": [
      -                    {
      -                      "items": {
      -                        "properties": {
      -                          "id": {
      -                            "pattern": "^[0-9a-fA-F]{24}$",
      -                            "type": "string"
      -                          }
      -                        },
      -                        "required": [
      -                          "id"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "type": "array"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "quantityCondition",
      -                "minQuantity"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "endDate": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "fixedTaxRateIds": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "pattern": "^[0-9a-fA-F]{24}$",
      -              "type": "string"
      -            },
      -            "maxItems": 1,
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "limitRegistrations": {
      -        "anyOf": [
      -          {
      -            "properties": {
      -              "enabled": {
      -                "type": [
      -                  "boolean",
      -                  "null"
      -                ]
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "location": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "mapsLink": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "meetingLink": {
      -        "anyOf": [
      -          {
      -            "pattern": "^https?:\\/\\/.+",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "pdfTicketsEnabled": {
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "platform": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "zoom",
      -              "google_meet",
      -              "microsoft_teams",
      -              "youtube",
      -              "hopin",
      -              "vimeo",
      -              "discord",
      -              "other"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "startDate": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "taxBehavior": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "inclusive",
      -              "exclusive",
      -              "automatic",
      -              ""
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "taxCode": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "timezone": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "type": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "in_person",
      -              "virtual",
      -              "hybrid"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "attendeeDetails": {
      +        "description": "Attendee details for this event. Only the settings you send change; the rest keep their current values.",
      +        "properties": {
      +          "description": {
      +            "description": "Text under the heading.",
      +            "maxLength": 120,
      +            "type": "string"
      +          },
      +          "emailDomains": {
      +            "description": "Which attendee email addresses are accepted. `any` (default): any address. `flag`: any, with personal addresses (Gmail, Outlook and the like) flagged for review. `work`: work addresses only. `workFlag`: work addresses only, with ones outside the booker's company flagged for review. `same`: addresses at the booker's company only.",
      +            "enum": [
      +              "any",
      +              "flag",
      +              "work",
      +              "workFlag",
      +              "same"
      +            ],
      +            "type": "string"
      +          },
      +          "enabled": {
      +            "description": "Collect a name, an email address and the answers to any attendee questions for each ticket. Defaults to `false`.",
      +            "type": "boolean"
      +          },
      +          "heading": {
      +            "description": "Heading above the attendee rows.",
      +            "maxLength": 200,
      +            "type": "string"
      +          },
      +          "requireAllBeforePayment": {
      +            "description": "With `when: checkout`, every attendee must be added before the customer can pay. Defaults to `true`.",
      +            "type": "boolean"
      +          },
      +          "saveButton": {
      +            "description": "Label of each attendee row's save button.",
      +            "maxLength": 40,
      +            "type": "string"
      +          },
      +          "sendReminders": {
      +            "description": "Email the booker reminders until every attendee is added. Defaults to `true`.",
      +            "type": "boolean"
      +          },
      +          "when": {
      +            "description": "`checkout`: the customer adds attendees before paying. `afterBooking`: they add them after booking, from the confirmation page, their email or the customer portal. Defaults to `checkout`.",
      +            "enum": [
      +              "checkout",
      +              "afterBooking"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "capacity": {
      +        "anyOf": [
      +          {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "currency": {
      +        "anyOf": [
      +          {
      +            "maxLength": 3,
      +            "minLength": 3,
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "discounts": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "properties": {
      +                "amountOff": {
      +                  "anyOf": [
      +                    {
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "maxQuantity": {
      +                  "anyOf": [
      +                    {
      +                      "minimum": 1,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "minQuantity": {
      +                  "minimum": 1,
      +                  "type": "number"
      +                },
      +                "percentOff": {
      +                  "anyOf": [
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "quantityCondition": {
      +                  "enum": [
      +                    "total_quantity",
      +                    "ticket_type_quantity"
      +                  ],
      +                  "type": "string"
      +                },
      +                "ticketTypeIds": {
      +                  "anyOf": [
      +                    {
      +                      "items": {
      +                        "properties": {
      +                          "id": {
      +                            "pattern": "^[0-9a-fA-F]{24}$",
      +                            "type": "string"
      +                          }
      +                        },
      +                        "required": [
      +                          "id"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "type": "array"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "quantityCondition",
      +                "minQuantity"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "endDate": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "fixedTaxRateIds": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "pattern": "^[0-9a-fA-F]{24}$",
      +              "type": "string"
      +            },
      +            "maxItems": 1,
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "limitRegistrations": {
      +        "anyOf": [
      +          {
      +            "properties": {
      +              "enabled": {
      +                "type": [
      +                  "boolean",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "location": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "mapsLink": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "meetingLink": {
      +        "anyOf": [
      +          {
      +            "pattern": "^https?:\\/\\/.+",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "pdfTicketsEnabled": {
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "platform": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "zoom",
      +              "google_meet",
      +              "microsoft_teams",
      +              "youtube",
      +              "hopin",
      +              "vimeo",
      +              "discord",
      +              "other"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "startDate": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "taxBehavior": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "inclusive",
      +              "exclusive",
      +              "automatic",
      +              ""
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "taxCode": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "timezone": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "type": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "in_person",
      +              "virtual",
      +              "hybrid"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / data / properties / attendeeQuestions
      Added value: +{
      +  "items": {
      +    "$ref": "#/$defs/Field"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / data / properties / eventDetails / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "capacity": {
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "currency": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "discounts": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "amountOff": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "maxQuantity": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "minQuantity": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "percentOff": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "quantityCondition": {
      -                  "anyOf": [
      -                    {
      -                      "enum": [
      -                        "total_quantity",
      -                        "ticket_type_quantity"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "ticketTypeIds": {
      -                  "anyOf": [
      -                    {
      -                      "items": {
      -                        "pattern": "^[0-9a-fA-F]{24}$",
      -                        "type": "string"
      -                      },
      -                      "type": "array"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "endDate": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "fixedTaxRateIds": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "type": "string"
      -            },
      -            "maxItems": 1,
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "limitRegistrations": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "enabled": {
      -                "type": [
      -                  "boolean",
      -                  "null"
      -                ]
      -              },
      -              "enabledAt": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "location": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "mapsLink": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "meetingLink": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "pdfTicketsEnabled": {
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "platform": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "zoom",
      -              "google_meet",
      -              "microsoft_teams",
      -              "youtube",
      -              "hopin",
      -              "vimeo",
      -              "discord",
      -              "other"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "startDate": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "status": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "active",
      -              "sold_out",
      -              "canceled"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "taxBehavior": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "inclusive",
      -              "exclusive",
      -              "automatic",
      -              ""
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "taxCode": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "timezone": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "type": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "in_person",
      -              "virtual",
      -              "hybrid"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "attendeeDetails": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "description": "Attendee details settings for this event.",
      +            "properties": {
      +              "description": {
      +                "description": "Text under the heading.",
      +                "maxLength": 120,
      +                "type": "string"
      +              },
      +              "emailDomains": {
      +                "description": "Which attendee email addresses are accepted. `any` (default): any address. `flag`: any, with personal addresses (Gmail, Outlook and the like) flagged for review. `work`: work addresses only. `workFlag`: work addresses only, with ones outside the booker's company flagged for review. `same`: addresses at the booker's company only.",
      +                "enum": [
      +                  "any",
      +                  "flag",
      +                  "work",
      +                  "workFlag",
      +                  "same"
      +                ],
      +                "type": "string"
      +              },
      +              "enabled": {
      +                "description": "Collect a name, an email address and the answers to any attendee questions for each ticket. Defaults to `false`.",
      +                "type": "boolean"
      +              },
      +              "enabledAt": {
      +                "description": "ISO 8601 timestamp of when attendee details were first switched on. Bookings made before it get no automatic reminders.",
      +                "type": "string"
      +              },
      +              "heading": {
      +                "description": "Heading above the attendee rows.",
      +                "maxLength": 200,
      +                "type": "string"
      +              },
      +              "requireAllBeforePayment": {
      +                "description": "With `when: checkout`, every attendee must be added before the customer can pay. Defaults to `true`.",
      +                "type": "boolean"
      +              },
      +              "saveButton": {
      +                "description": "Label of each attendee row's save button.",
      +                "maxLength": 40,
      +                "type": "string"
      +              },
      +              "sendReminders": {
      +                "description": "Email the booker reminders until every attendee is added. Defaults to `true`.",
      +                "type": "boolean"
      +              },
      +              "when": {
      +                "description": "`checkout`: the customer adds attendees before paying. `afterBooking`: they add them after booking, from the confirmation page, their email or the customer portal. Defaults to `checkout`.",
      +                "enum": [
      +                  "checkout",
      +                  "afterBooking"
      +                ],
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "capacity": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "currency": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "discounts": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "amountOff": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "maxQuantity": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "minQuantity": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "percentOff": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "quantityCondition": {
      +                  "anyOf": [
      +                    {
      +                      "enum": [
      +                        "total_quantity",
      +                        "ticket_type_quantity"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "ticketTypeIds": {
      +                  "anyOf": [
      +                    {
      +                      "items": {
      +                        "pattern": "^[0-9a-fA-F]{24}$",
      +                        "type": "string"
      +                      },
      +                      "type": "array"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "endDate": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "fixedTaxRateIds": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "type": "string"
      +            },
      +            "maxItems": 1,
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "limitRegistrations": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "enabled": {
      +                "type": [
      +                  "boolean",
      +                  "null"
      +                ]
      +              },
      +              "enabledAt": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "location": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "mapsLink": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "meetingLink": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "pdfTicketsEnabled": {
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "platform": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "zoom",
      +              "google_meet",
      +              "microsoft_teams",
      +              "youtube",
      +              "hopin",
      +              "vimeo",
      +              "discord",
      +              "other"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "startDate": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "status": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "active",
      +              "sold_out",
      +              "canceled"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "taxBehavior": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "inclusive",
      +              "exclusive",
      +              "automatic",
      +              ""
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "taxCode": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "timezone": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "type": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "in_person",
      +              "virtual",
      +              "hybrid"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed4 schema fields changed
    • addedInput schema / $defs / FormLayoutDivider / properties / disabled
      Added value: +{
      +  "description": "`true` keeps the divider in the layout but hides it from customers. Defaults to `false`.",
      +  "type": "boolean"
      +}
    • addedInput schema / $defs / FormLayoutHeading / properties / disabled
      Added value: +{
      +  "description": "`true` keeps the heading in the layout but hides it from customers. Defaults to `false`.",
      +  "type": "boolean"
      +}
    • addedOutput schema / $defs / FormLayoutDivider / properties / disabled
      Added value: +{
      +  "description": "`true` keeps the divider in the layout but hides it from customers. Defaults to `false`.",
      +  "type": "boolean"
      +}
    • addedOutput schema / $defs / FormLayoutHeading / properties / disabled
      Added value: +{
      +  "description": "`true` keeps the heading in the layout but hides it from customers. Defaults to `false`.",
      +  "type": "boolean"
      +}
  4. Changed5 schema fields changed
    • changedInput schema / $defs / PageCheckoutAbandonmentSettingsInput / properties / emailReminders / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "reminder1": {
      -        "anyOf": [
      -          {
      -            "properties": {
      -              "body": {
      -                "description": "Email body. Accepts HTML or plain text.",
      -                "example": "<p>You left something behind!</p>",
      -                "type": "string"
      -              },
      -              "buttonText": {
      -                "description": "Email call-to-action button label.",
      -                "example": "Complete order",
      -                "type": "string"
      -              },
      -              "customizeEmail": {
      -                "description": "Enable a custom email for this reminder.",
      -                "example": true,
      -                "type": "boolean"
      -              },
      -              "subject": {
      -                "description": "Email subject line.",
      -                "example": "Complete your purchase",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "customizeEmail"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "reminder2": {
      -        "anyOf": [
      -          {
      -            "properties": {
      -              "body": {
      -                "description": "Email body. Accepts HTML or plain text.",
      -                "example": "<p>You left something behind!</p>",
      -                "type": "string"
      -              },
      -              "buttonText": {
      -                "description": "Email call-to-action button label.",
      -                "example": "Complete order",
      -                "type": "string"
      -              },
      -              "customizeEmail": {
      -                "description": "Enable a custom email for this reminder.",
      -                "example": true,
      -                "type": "boolean"
      -              },
      -              "subject": {
      -                "description": "Email subject line.",
      -                "example": "Complete your purchase",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "customizeEmail"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "reminder3": {
      -        "anyOf": [
      -          {
      -            "properties": {
      -              "body": {
      -                "description": "Email body. Accepts HTML or plain text.",
      -                "example": "<p>You left something behind!</p>",
      -                "type": "string"
      -              },
      -              "buttonText": {
      -                "description": "Email call-to-action button label.",
      -                "example": "Complete order",
      -                "type": "string"
      -              },
      -              "customizeEmail": {
      -                "description": "Enable a custom email for this reminder.",
      -                "example": true,
      -                "type": "boolean"
      -              },
      -              "subject": {
      -                "description": "Email subject line.",
      -                "example": "Complete your purchase",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "customizeEmail"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "reminder1": {
      +        "anyOf": [
      +          {
      +            "properties": {
      +              "body": {
      +                "description": "Email body. Accepts HTML or plain text. Takes the same `{{id}}` variables as `confirmationEmailMessage`, except `amountDue`, `amountPaid`, `currentPeriodEnd`, `status`, `payment_method` and `customer_portal_link`: the customer has not paid yet.",
      +                "example": "<p>You left something behind!</p>",
      +                "type": "string"
      +              },
      +              "buttonText": {
      +                "description": "Email call-to-action button label.",
      +                "example": "Complete order",
      +                "type": "string"
      +              },
      +              "customizeEmail": {
      +                "description": "Enable a custom email for this reminder.",
      +                "example": true,
      +                "type": "boolean"
      +              },
      +              "subject": {
      +                "description": "Email subject line.",
      +                "example": "Complete your purchase",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "customizeEmail"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "reminder2": {
      +        "anyOf": [
      +          {
      +            "properties": {
      +              "body": {
      +                "description": "Email body. Accepts HTML or plain text. Takes the same `{{id}}` variables as `confirmationEmailMessage`, except `amountDue`, `amountPaid`, `currentPeriodEnd`, `status`, `payment_method` and `customer_portal_link`: the customer has not paid yet.",
      +                "example": "<p>You left something behind!</p>",
      +                "type": "string"
      +              },
      +              "buttonText": {
      +                "description": "Email call-to-action button label.",
      +                "example": "Complete order",
      +                "type": "string"
      +              },
      +              "customizeEmail": {
      +                "description": "Enable a custom email for this reminder.",
      +                "example": true,
      +                "type": "boolean"
      +              },
      +              "subject": {
      +                "description": "Email subject line.",
      +                "example": "Complete your purchase",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "customizeEmail"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "reminder3": {
      +        "anyOf": [
      +          {
      +            "properties": {
      +              "body": {
      +                "description": "Email body. Accepts HTML or plain text. Takes the same `{{id}}` variables as `confirmationEmailMessage`, except `amountDue`, `amountPaid`, `currentPeriodEnd`, `status`, `payment_method` and `customer_portal_link`: the customer has not paid yet.",
      +                "example": "<p>You left something behind!</p>",
      +                "type": "string"
      +              },
      +              "buttonText": {
      +                "description": "Email call-to-action button label.",
      +                "example": "Complete order",
      +                "type": "string"
      +              },
      +              "customizeEmail": {
      +                "description": "Enable a custom email for this reminder.",
      +                "example": true,
      +                "type": "boolean"
      +              },
      +              "subject": {
      +                "description": "Email subject line.",
      +                "example": "Complete your purchase",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "customizeEmail"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / confirmationCheckoutMessage / description
      Previous value: -"Confirmation message. Accepts HTML or plaintext."New value: +"Confirmation message. Accepts HTML or plain text. Write `{{id}}` where a customer's own details go, and it is filled in for each customer: `{{field_<field id>}}` for their answer to one of the page's fields, `{{variant_<variant id>}}` and `{{variant_<variant id>_sku}}` for their variant choice, or one of `price` (Amount), `amountDue` (Payment amount due), `amountPaid` (Payment amount paid), `currentPeriodEnd` (Next payment date), `planIterations` (No. of payments), `createdAt` (Created date), `status` (Status), `payment_method` (Payment method), `orderId` (Order ID), `product_title` (Product title), `order_summary` (Order summary), `variant_breakdown` (Variant selection), `license_key` (License key), `sku` (SKU), `form_title` (Form title), `event_name` (Event name), `event_date` (Event date/time), `event_location` (Event location), `event_tickets` (Tickets purchased), `booking_fee` (Booking fee), `event_meeting_link` (Virtual meeting link), `customer_portal_link` (Customer portal link), `coupon_code` (Coupon code), `coupon_discount` (Coupon discount). Product, variant, license key and billing variables apply to checkout pages, event variables to events, `form_title` to forms; a variable that does not apply is left blank. To show paragraphs only to some customers, wrap them in `<if variable=\"<id>\" operator=\"<operator>\" value=\"<value>\">...</if>`, with operator one of equals, not_equals, contains, not_contains, starts_with, ends_with, greater_than, less_than, greater_than_or_equal, less_than_or_equal."
    • changedInput schema / properties / confirmationEmailMessage / description
      Previous value: -"Custom confirmation email message. Accepts HTML or plain text."New value: +"Custom confirmation email message. Accepts HTML or plain text. Write `{{id}}` where a customer's own details go, and it is filled in for each customer: `{{field_<field id>}}` for their answer to one of the page's fields, `{{variant_<variant id>}}` and `{{variant_<variant id>_sku}}` for their variant choice, or one of `price` (Amount), `amountDue` (Payment amount due), `amountPaid` (Payment amount paid), `currentPeriodEnd` (Next payment date), `planIterations` (No. of payments), `createdAt` (Created date), `status` (Status), `payment_method` (Payment method), `orderId` (Order ID), `product_title` (Product title), `order_summary` (Order summary), `variant_breakdown` (Variant selection), `license_key` (License key), `sku` (SKU), `form_title` (Form title), `event_name` (Event name), `event_date` (Event date/time), `event_location` (Event location), `event_tickets` (Tickets purchased), `booking_fee` (Booking fee), `event_meeting_link` (Virtual meeting link), `customer_portal_link` (Customer portal link), `coupon_code` (Coupon code), `coupon_discount` (Coupon discount). Product, variant, license key and billing variables apply to checkout pages, event variables to events, `form_title` to forms; a variable that does not apply is left blank. To show paragraphs only to some customers, wrap them in `<if variable=\"<id>\" operator=\"<operator>\" value=\"<value>\">...</if>`, with operator one of equals, not_equals, contains, not_contains, starts_with, ends_with, greater_than, less_than, greater_than_or_equal, less_than_or_equal."
    • changedOutput schema / properties / data / properties / confirmationCheckoutMessage / description
      Previous value: -"Confirmation page message."New value: +"Confirmation page message. Variables read as `{{id}}` and conditional paragraphs as `<if variable=\"...\" operator=\"...\" value=\"...\">` blocks; send them back unchanged to keep them."
    • changedOutput schema / properties / data / properties / confirmationEmailMessage / description
      Previous value: -"Custom confirmation email message."New value: +"Custom confirmation email message. Variables read as `{{id}}` and conditional paragraphs as `<if variable=\"...\" operator=\"...\" value=\"...\">` blocks; send them back unchanged to keep them."
  5. Changed1 schema field changed
    • changedOutput schema / $defs / Field / properties / reference / description
      Previous value: -"External reference ID for mapping this field in downstream systems."New value: +"Stable key that exports, Zapier, Google Sheets and webhooks use for this field's answers. Not updated when the label changes."
  6. Changed15 schema fields changed
    • addedInput schema / $defs / FormLayoutDiscountCode
      Added value: +{
      +  "description": "Where the discount code box sits. This item only places the box: the box shows while the page has `showCouponCodeField` on. Checkout pages and events only.",
      +  "properties": {
      +    "type": {
      +      "const": "discount-code",
      +      "description": "Always `discount-code`.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "type"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / FormLayoutDivider
      Added value: +{
      +  "description": "A line that separates parts of the form.",
      +  "properties": {
      +    "id": {
      +      "description": "The divider's id, chosen by you: 1 to 64 characters, unique in the layout.",
      +      "maxLength": 64,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "type": {
      +      "const": "divider",
      +      "description": "Always `divider`.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "type",
      +    "id"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / FormLayoutField
      Added value: +{
      +  "description": "A field on the page, shown where it sits in the layout.",
      +  "properties": {
      +    "fieldId": {
      +      "description": "The `id` of a field in the page's `fields`.",
      +      "pattern": "^[0-9a-fA-F]{24}$",
      +      "type": "string"
      +    },
      +    "type": {
      +      "const": "field",
      +      "description": "Always `field`.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "type",
      +    "fieldId"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / FormLayoutGroup
      Added value: +{
      +  "description": "Items shown side by side in columns.",
      +  "properties": {
      +    "columns": {
      +      "description": "How many items sit side by side, 1 to 4. On phones the group stacks by default.",
      +      "maximum": 4,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "id": {
      +      "description": "The group's id, chosen by you: 1 to 64 characters, unique in the layout.",
      +      "maxLength": 64,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "items": {
      +      "description": "What the group holds, filled row by row: fields, headings, dividers and the discount code. Groups never nest.",
      +      "items": {
      +        "oneOf": [
      +          {
      +            "$ref": "#/$defs/FormLayoutField"
      +          },
      +          {
      +            "$ref": "#/$defs/FormLayoutHeading"
      +          },
      +          {
      +            "$ref": "#/$defs/FormLayoutDivider"
      +          },
      +          {
      +            "$ref": "#/$defs/FormLayoutDiscountCode"
      +          }
      +        ]
      +      },
      +      "maxItems": 200,
      +      "type": "array"
      +    },
      +    "name": {
      +      "description": "A name for the group, seen only in the dashboard. Up to 100 characters.",
      +      "maxLength": 100,
      +      "type": "string"
      +    },
      +    "type": {
      +      "const": "group",
      +      "description": "Always `group`.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "type",
      +    "id",
      +    "columns",
      +    "items"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / FormLayoutHeading
      Added value: +{
      +  "description": "A heading or subheading shown above the items after it.",
      +  "properties": {
      +    "id": {
      +      "description": "The heading's id, chosen by you: 1 to 64 characters, unique in the layout.",
      +      "maxLength": 64,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "level": {
      +      "description": "`heading` for a section title, `subheading` for a smaller one.",
      +      "enum": [
      +        "heading",
      +        "subheading"
      +      ],
      +      "type": "string"
      +    },
      +    "text": {
      +      "description": "The text shown, up to 200 characters.",
      +      "maxLength": 200,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "type": {
      +      "const": "heading",
      +      "description": "Always `heading`.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "type",
      +    "id",
      +    "text",
      +    "level"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / FormLayoutItem
      Added value: +{
      +  "description": "More item types may be added later. When reading a layout, skip any item type you do not recognise. When updating, send every item back as you received it, including those.",
      +  "oneOf": [
      +    {
      +      "$ref": "#/$defs/FormLayoutField"
      +    },
      +    {
      +      "$ref": "#/$defs/FormLayoutHeading"
      +    },
      +    {
      +      "$ref": "#/$defs/FormLayoutDivider"
      +    },
      +    {
      +      "$ref": "#/$defs/FormLayoutDiscountCode"
      +    },
      +    {
      +      "$ref": "#/$defs/FormLayoutGroup"
      +    }
      +  ]
      +}
    • addedInput schema / properties / formLayout
      Added value: +{
      +  "description": "Replaces how the page's form is arranged, top to bottom. Reference fields by `fieldId`, the ids in the page's `fields`; an id that is not on the page is rejected. Send the whole layout: read the current one from `formLayout` on the page, change it and send it back. Each item is one of: `field` (`fieldId`), `heading` (`id`, `text`, `level` `heading` or `subheading`), `divider` (`id`), `discount-code` (no other properties) and `group` (`id`, optional `name`, `columns` 1 to 4, and `items` holding fields, headings, dividers or the discount code; groups never nest). You choose the `id` of each heading, divider and group: 1 to 64 characters, unique in the layout. Fields the layout leaves out are added after it, in their current order. `formLayout` on the page decides the form's order. Each field's `order` is its position among the page's fields and follows the layout: saving a layout (in the dashboard or through the API) rewrites every field's `order`. On a page that has never saved a layout, setting `order` moves the field; once a layout is saved, move fields with `formLayout` instead. A `discount-code` item only places the discount code box: the box shows while `showCouponCodeField` is on, and the item does not switch it on. Forms have no discount code, so a form layout must leave it out. More item types may be added later. When reading a layout, skip any item type you do not recognise. When updating, send every item back as you received it, including those.",
      +  "items": {
      +    "$ref": "#/$defs/FormLayoutItem"
      +  },
      +  "maxItems": 500,
      +  "type": "array"
      +}
    • changedOutput schema / $defs / Field / properties / order / description
      Previous value: -"Display order of the field within the form."New value: +"Position of the field among the page's fields, from 0. `formLayout` on the page decides the form's order. Each field's `order` is its position among the page's fields and follows the layout: saving a layout (in the dashboard or through the API) rewrites every field's `order`. On a page that has never saved a layout, setting `order` moves the field; once a layout is saved, move fields with `formLayout` instead."
    • addedOutput schema / $defs / FormLayoutDiscountCode
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Where the discount code box sits. This item only places the box: the box shows while the page has `showCouponCodeField` on. Checkout pages and events only.",
      +  "properties": {
      +    "type": {
      +      "const": "discount-code",
      +      "description": "Always `discount-code`.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "type"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / $defs / FormLayoutDivider
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "A line that separates parts of the form.",
      +  "properties": {
      +    "id": {
      +      "description": "The divider's id, chosen by you: 1 to 64 characters, unique in the layout.",
      +      "maxLength": 64,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "type": {
      +      "const": "divider",
      +      "description": "Always `divider`.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "type",
      +    "id"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / $defs / FormLayoutField
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "A field on the page, shown where it sits in the layout.",
      +  "properties": {
      +    "fieldId": {
      +      "description": "The `id` of a field in the page's `fields`.",
      +      "pattern": "^[0-9a-fA-F]{24}$",
      +      "type": "string"
      +    },
      +    "type": {
      +      "const": "field",
      +      "description": "Always `field`.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "type",
      +    "fieldId"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / $defs / FormLayoutGroup
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Items shown side by side in columns.",
      +  "properties": {
      +    "columns": {
      +      "description": "How many items sit side by side, 1 to 4. On phones the group stacks by default.",
      +      "maximum": 4,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "id": {
      +      "description": "The group's id, chosen by you: 1 to 64 characters, unique in the layout.",
      +      "maxLength": 64,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "items": {
      +      "description": "What the group holds, filled row by row: fields, headings, dividers and the discount code. Groups never nest.",
      +      "items": {
      +        "oneOf": [
      +          {
      +            "$ref": "#/$defs/FormLayoutField"
      +          },
      +          {
      +            "$ref": "#/$defs/FormLayoutHeading"
      +          },
      +          {
      +            "$ref": "#/$defs/FormLayoutDivider"
      +          },
      +          {
      +            "$ref": "#/$defs/FormLayoutDiscountCode"
      +          }
      +        ]
      +      },
      +      "maxItems": 200,
      +      "type": "array"
      +    },
      +    "name": {
      +      "description": "A name for the group, seen only in the dashboard. Up to 100 characters.",
      +      "maxLength": 100,
      +      "type": "string"
      +    },
      +    "type": {
      +      "const": "group",
      +      "description": "Always `group`.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "type",
      +    "id",
      +    "columns",
      +    "items"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / $defs / FormLayoutHeading
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "A heading or subheading shown above the items after it.",
      +  "properties": {
      +    "id": {
      +      "description": "The heading's id, chosen by you: 1 to 64 characters, unique in the layout.",
      +      "maxLength": 64,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "level": {
      +      "description": "`heading` for a section title, `subheading` for a smaller one.",
      +      "enum": [
      +        "heading",
      +        "subheading"
      +      ],
      +      "type": "string"
      +    },
      +    "text": {
      +      "description": "The text shown, up to 200 characters.",
      +      "maxLength": 200,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "type": {
      +      "const": "heading",
      +      "description": "Always `heading`.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "type",
      +    "id",
      +    "text",
      +    "level"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / $defs / FormLayoutItem
      Added value: +{
      +  "description": "More item types may be added later. When reading a layout, skip any item type you do not recognise. When updating, send every item back as you received it, including those.",
      +  "oneOf": [
      +    {
      +      "$ref": "#/$defs/FormLayoutField"
      +    },
      +    {
      +      "$ref": "#/$defs/FormLayoutHeading"
      +    },
      +    {
      +      "$ref": "#/$defs/FormLayoutDivider"
      +    },
      +    {
      +      "$ref": "#/$defs/FormLayoutDiscountCode"
      +    },
      +    {
      +      "$ref": "#/$defs/FormLayoutGroup"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / data / properties / formLayout
      Added value: +{
      +  "description": "How the page's form is arranged, top to bottom: fields, headings, dividers, groups of fields shown side by side in columns, and where the discount code box sits. Always returned, even for a page that was never arranged: every field on the page is listed, and `fieldId` matches the `id` of an entry in `fields`. A `discount-code` item only places the box, which shows while `showCouponCodeField` is on. A placement you saved is returned whether the box is on or off; when none was saved and the box is on, the item is at the end, where the box shows. Forms never have one. Each item is one of: `field` (`fieldId`), `heading` (`id`, `text`, `level` `heading` or `subheading`), `divider` (`id`), `discount-code` (no other properties) and `group` (`id`, optional `name`, `columns` 1 to 4, and `items` holding fields, headings, dividers or the discount code; groups never nest). You choose the `id` of each heading, divider and group: 1 to 64 characters, unique in the layout. `formLayout` on the page decides the form's order. Each field's `order` is its position among the page's fields and follows the layout: saving a layout (in the dashboard or through the API) rewrites every field's `order`. On a page that has never saved a layout, setting `order` moves the field; once a layout is saved, move fields with `formLayout` instead. More item types may be added later. When reading a layout, skip any item type you do not recognise. When updating, send every item back as you received it, including those.",
      +  "items": {
      +    "$ref": "#/$defs/FormLayoutItem"
      +  },
      +  "type": "array"
      +}
  7. Changed1 schema field changed
    • addedOutput schema / $defs / Field / properties / disabled
      Added value: +{
      +  "description": "Whether this field is switched off. A disabled field keeps its settings but is removed from the page entirely.",
      +  "example": false,
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
  8. Changed4 schema fields changed
    • addedInput schema / $defs / PageCoverProcessingFees
      Added value: +{
      +  "description": "An option that lets customers choose to cover the processing fee. The contribution is `percentage` of the total plus `amount`, and is not an Additional fee.",
      +  "properties": {
      +    "amount": {
      +      "anyOf": [
      +        {
      +          "maximum": 9007199254740991,
      +          "minimum": -9007199254740991,
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "enabled": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "label": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "percentage": {
      +      "anyOf": [
      +        {
      +          "maximum": 100,
      +          "minimum": 0,
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "preselected": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "showAmount": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / coverProcessingFees
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "$ref": "#/$defs/PageCoverProcessingFees"
      +      },
      +      "maxItems": 1,
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Options that let customers choose to cover the processing fee. The list holds at most one option for now. Sending it replaces the whole list."
      +}
    • addedOutput schema / $defs / PageCoverProcessingFees
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "An option that lets customers choose to cover the processing fee. The contribution is `percentage` of the total plus `amount`, and is not an Additional fee.",
      +  "properties": {
      +    "amount": {
      +      "anyOf": [
      +        {
      +          "maximum": 9007199254740991,
      +          "minimum": -9007199254740991,
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "enabled": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "label": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "percentage": {
      +      "anyOf": [
      +        {
      +          "maximum": 100,
      +          "minimum": 0,
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "preselected": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "showAmount": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / data / properties / coverProcessingFees
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "$ref": "#/$defs/PageCoverProcessingFees"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Options that let customers choose to cover the processing fee. Empty when the page has none. The list holds at most one option for now."
      +}
  9. Changed1 schema field changed
    • changedOutput schema / properties / data / properties / ticketGroups / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "availabilityBehavior": {
      -          "anyOf": [
      -            {
      -              "enum": [
      -                "always_available",
      -                "date_time_based",
      -                "after_ticket_sale_ends",
      -                "after_ticket_sold_out",
      -                "after_ticket_ends_or_sold_out",
      -                "until_event_starts"
      -              ],
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "availabilityStatus": {
      -          "anyOf": [
      -            {
      -              "enum": [
      -                "available",
      -                "sold_out",
      -                "unavailable"
      -              ],
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "bulkDiscounts": {
      -          "anyOf": [
      -            {
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "maxQuantity": {
      -                    "type": "number"
      -                  },
      -                  "minQuantity": {
      -                    "type": "number"
      -                  },
      -                  "percentOff": {
      -                    "type": "number"
      -                  }
      -                },
      -                "required": [
      -                  "minQuantity",
      -                  "maxQuantity",
      -                  "percentOff"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "capacity": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "description": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "feeDisplay": {
      -          "anyOf": [
      -            {
      -              "enum": [
      -                "included",
      -                "separate"
      -              ],
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "hidden": {
      -          "type": [
      -            "boolean",
      -            "null"
      -          ]
      -        },
      -        "hideWhenNotOnSale": {
      -          "type": [
      -            "boolean",
      -            "null"
      -          ]
      -        },
      -        "hideWhenScheduled": {
      -          "type": [
      -            "boolean",
      -            "null"
      -          ]
      -        },
      -        "hideWhenSoldOut": {
      -          "type": [
      -            "boolean",
      -            "null"
      -          ]
      -        },
      -        "hideWhenUnavailable": {
      -          "type": [
      -            "boolean",
      -            "null"
      -          ]
      -        },
      -        "id": {
      -          "type": "string"
      -        },
      -        "layout": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "alignment": {
      -                  "anyOf": [
      -                    {
      -                      "enum": [
      -                        "default",
      -                        "center",
      -                        "stack"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "collapse": {
      -                  "type": [
      -                    "boolean",
      -                    "null"
      -                  ]
      -                },
      -                "columns": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "imageSize": {
      -                  "anyOf": [
      -                    {
      -                      "enum": [
      -                        "small",
      -                        "medium",
      -                        "large",
      -                        ""
      -                      ],
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "showPwywPlaceholder": {
      -                  "type": [
      -                    "boolean",
      -                    "null"
      -                  ]
      -                },
      -                "showTicketFee": {
      -                  "type": [
      -                    "boolean",
      -                    "null"
      -                  ]
      -                },
      -                "showTicketGroupName": {
      -                  "type": [
      -                    "boolean",
      -                    "null"
      -                  ]
      -                },
      -                "showTicketPrice": {
      -                  "type": [
      -                    "boolean",
      -                    "null"
      -                  ]
      -                },
      -                "showTicketSaleDateTimezone": {
      -                  "type": [
      -                    "boolean",
      -                    "null"
      -                  ]
      -                },
      -                "showTicketTotalPrice": {
      -                  "type": [
      -                    "boolean",
      -                    "null"
      -                  ]
      -                },
      -                "showTicketTypeName": {
      -                  "type": [
      -                    "boolean",
      -                    "null"
      -                  ]
      -                },
      -                "spacing": {
      -                  "anyOf": [
      -                    {
      -                      "enum": [
      -                        "comfortable",
      -                        "compact"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "type": {
      -                  "anyOf": [
      -                    {
      -                      "enum": [
      -                        "list",
      -                        "grid",
      -                        "accordion"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                }
      -              },
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "name": {
      -          "type": "string"
      -        },
      -        "preselect": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "enabled": {
      -                  "type": [
      -                    "boolean",
      -                    "null"
      -                  ]
      -                },
      -                "quantity": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "ticketTypeId": {
      -                  "anyOf": [
      -                    {
      -                      "pattern": "^[0-9a-fA-F]{24}$",
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                }
      -              },
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "reference": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "saleEndOn": {
      -          "anyOf": [
      -            {
      -              "format": "date-time",
      -              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "saleStartOn": {
      -          "anyOf": [
      -            {
      -              "format": "date-time",
      -              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "status": {
      -          "anyOf": [
      -            {
      -              "enum": [
      -                "enabled",
      -                "disabled",
      -                "archived"
      -              ],
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "ticketSelectionType": {
      -          "anyOf": [
      -            {
      -              "enum": [
      -                "single",
      -                "multiple",
      -                "quantity"
      -              ],
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "ticketTypes": {
      -          "anyOf": [
      -            {
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "availabilityBehavior": {
      -                    "anyOf": [
      -                      {
      -                        "enum": [
      -                          "always_available",
      -                          "date_time_based",
      -                          "after_ticket_sale_ends",
      -                          "after_ticket_sold_out",
      -                          "after_ticket_ends_or_sold_out",
      -                          "until_event_starts"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "availabilityStatus": {
      -                    "anyOf": [
      -                      {
      -                        "enum": [
      -                          "available",
      -                          "sold_out",
      -                          "unavailable"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "capacity": {
      -                    "type": [
      -                      "number",
      -                      "null"
      -                    ]
      -                  },
      -                  "description": {
      -                    "type": [
      -                      "string",
      -                      "null"
      -                    ]
      -                  },
      -                  "discountedFromPrice": {
      -                    "type": [
      -                      "number",
      -                      "null"
      -                    ]
      -                  },
      -                  "feeAmount": {
      -                    "type": [
      -                      "number",
      -                      "null"
      -                    ]
      -                  },
      -                  "hidden": {
      -                    "type": [
      -                      "boolean",
      -                      "null"
      -                    ]
      -                  },
      -                  "hideWhenNotOnSale": {
      -                    "type": [
      -                      "boolean",
      -                      "null"
      -                    ]
      -                  },
      -                  "hideWhenScheduled": {
      -                    "type": [
      -                      "boolean",
      -                      "null"
      -                    ]
      -                  },
      -                  "hideWhenSoldOut": {
      -                    "type": [
      -                      "boolean",
      -                      "null"
      -                    ]
      -                  },
      -                  "hideWhenUnavailable": {
      -                    "type": [
      -                      "boolean",
      -                      "null"
      -                    ]
      -                  },
      -                  "id": {
      -                    "type": "string"
      -                  },
      -                  "image": {
      -                    "anyOf": [
      -                      {
      -                        "additionalProperties": false,
      -                        "properties": {
      -                          "fileId": {
      -                            "anyOf": [
      -                              {
      -                                "pattern": "^[0-9a-fA-F]{24}$",
      -                                "type": "string"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "description": "Unique identifier for the uploaded file. Absent for images added by URL (e.g. stock photos).",
      -                            "example": "507f1f77bcf86cd799439011"
      -                          },
      -                          "height": {
      -                            "description": "Image height in pixels.",
      -                            "example": 1080,
      -                            "type": [
      -                              "number",
      -                              "null"
      -                            ]
      -                          },
      -                          "name": {
      -                            "description": "Image file name.",
      -                            "example": "product-image.jpg",
      -                            "type": "string"
      -                          },
      -                          "size": {
      -                            "description": "File size in bytes.",
      -                            "example": 245678,
      -                            "type": [
      -                              "number",
      -                              "null"
      -                            ]
      -                          },
      -                          "url": {
      -                            "description": "Image URL.",
      -                            "example": "https://bucket-name.s3.amazonaws.com/image.jpg",
      -                            "format": "uri",
      -                            "type": "string"
      -                          },
      -                          "width": {
      -                            "description": "Image width in pixels.",
      -                            "example": 1920,
      -                            "type": [
      -                              "number",
      -                              "null"
      -                            ]
      -                          }
      -                        },
      -                        "required": [
      -                          "url",
      -                          "name"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "maxQuantity": {
      -                    "type": [
      -                      "number",
      -                      "null"
      -                    ]
      -                  },
      -                  "minQuantity": {
      -                    "type": [
      -                      "number",
      -                      "null"
      -                    ]
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "price": {
      -                    "type": [
      -                      "number",
      -                      "null"
      -                    ]
      -                  },
      -                  "pricing": {
      -                    "anyOf": [
      -                      {
      -                        "enum": [
      -                          "paid",
      -                          "free",
      -                          "pwyw"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "pwywSuggestedPrice": {
      -                    "type": [
      -                      "number",
      -                      "null"
      -                    ]
      -                  },
      -                  "quantitySold": {
      -                    "type": [
      -                      "number",
      -                      "null"
      -                    ]
      -                  },
      -                  "reference": {
      -                    "type": [
      -                      "string",
      -                      "null"
      -                    ]
      -                  },
      -                  "saleEndOn": {
      -                    "anyOf": [
      -                      {
      -                        "format": "date-time",
      -                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "saleStartOn": {
      -                    "anyOf": [
      -                      {
      -                        "format": "date-time",
      -                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "showAvailableQuantity": {
      -                    "type": [
      -                      "boolean",
      -                      "null"
      -                    ]
      -                  },
      -                  "showTicketSaleDates": {
      -                    "type": [
      -                      "boolean",
      -                      "null"
      -                    ]
      -                  },
      -                  "status": {
      -                    "anyOf": [
      -                      {
      -                        "enum": [
      -                          "enabled",
      -                          "disabled",
      -                          "archived"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "ticketGroupId": {
      -                    "anyOf": [
      -                      {
      -                        "pattern": "^[0-9a-fA-F]{24}$",
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "triggerTicketTypeId": {
      -                    "anyOf": [
      -                      {
      -                        "pattern": "^[0-9a-fA-F]{24}$",
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "id",
      -                  "name"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "triggerTicketGroupId": {
      -          "anyOf": [
      -            {
      -              "pattern": "^[0-9a-fA-F]{24}$",
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        }
      -      },
      -      "required": [
      -        "id",
      -        "name"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "availabilityBehavior": {
      +          "anyOf": [
      +            {
      +              "enum": [
      +                "always_available",
      +                "date_time_based",
      +                "after_ticket_sale_ends",
      +                "after_ticket_sold_out",
      +                "after_ticket_ends_or_sold_out",
      +                "until_event_starts"
      +              ],
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "availabilityStatus": {
      +          "anyOf": [
      +            {
      +              "enum": [
      +                "available",
      +                "sold_out",
      +                "unavailable"
      +              ],
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "bulkDiscounts": {
      +          "anyOf": [
      +            {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "maxQuantity": {
      +                    "type": "number"
      +                  },
      +                  "minQuantity": {
      +                    "type": "number"
      +                  },
      +                  "percentOff": {
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "minQuantity",
      +                  "maxQuantity",
      +                  "percentOff"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "capacity": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "description": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "feeDisplay": {
      +          "anyOf": [
      +            {
      +              "enum": [
      +                "included",
      +                "separate"
      +              ],
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "hidden": {
      +          "type": [
      +            "boolean",
      +            "null"
      +          ]
      +        },
      +        "hideWhenNotOnSale": {
      +          "type": [
      +            "boolean",
      +            "null"
      +          ]
      +        },
      +        "hideWhenScheduled": {
      +          "type": [
      +            "boolean",
      +            "null"
      +          ]
      +        },
      +        "hideWhenSoldOut": {
      +          "type": [
      +            "boolean",
      +            "null"
      +          ]
      +        },
      +        "hideWhenUnavailable": {
      +          "type": [
      +            "boolean",
      +            "null"
      +          ]
      +        },
      +        "id": {
      +          "type": "string"
      +        },
      +        "layout": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "alignment": {
      +                  "anyOf": [
      +                    {
      +                      "enum": [
      +                        "default",
      +                        "center",
      +                        "stack"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "collapse": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "columns": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "imageSize": {
      +                  "anyOf": [
      +                    {
      +                      "enum": [
      +                        "small",
      +                        "medium",
      +                        "large",
      +                        ""
      +                      ],
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "showPwywPlaceholder": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "showTicketFee": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "showTicketGroupName": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "showTicketPrice": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "showTicketSaleDateTimezone": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "showTicketTotalPrice": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "showTicketTypeName": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "spacing": {
      +                  "anyOf": [
      +                    {
      +                      "enum": [
      +                        "comfortable",
      +                        "compact"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "type": {
      +                  "anyOf": [
      +                    {
      +                      "enum": [
      +                        "list",
      +                        "grid",
      +                        "accordion"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "name": {
      +          "type": "string"
      +        },
      +        "preselect": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "enabled": {
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                },
      +                "quantity": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "ticketTypeId": {
      +                  "anyOf": [
      +                    {
      +                      "pattern": "^[0-9a-fA-F]{24}$",
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "reference": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "saleEndOn": {
      +          "anyOf": [
      +            {
      +              "format": "date-time",
      +              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "saleStartOn": {
      +          "anyOf": [
      +            {
      +              "format": "date-time",
      +              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "status": {
      +          "anyOf": [
      +            {
      +              "enum": [
      +                "enabled",
      +                "disabled",
      +                "archived"
      +              ],
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "ticketSelectionType": {
      +          "anyOf": [
      +            {
      +              "enum": [
      +                "single",
      +                "multiple",
      +                "quantity"
      +              ],
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "ticketTypes": {
      +          "anyOf": [
      +            {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "availabilityBehavior": {
      +                    "anyOf": [
      +                      {
      +                        "enum": [
      +                          "always_available",
      +                          "date_time_based",
      +                          "after_ticket_sale_ends",
      +                          "after_ticket_sold_out",
      +                          "after_ticket_ends_or_sold_out",
      +                          "until_event_starts"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "availabilityStatus": {
      +                    "anyOf": [
      +                      {
      +                        "enum": [
      +                          "available",
      +                          "sold_out",
      +                          "unavailable"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "capacity": {
      +                    "type": [
      +                      "number",
      +                      "null"
      +                    ]
      +                  },
      +                  "description": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "discountedFromPrice": {
      +                    "type": [
      +                      "number",
      +                      "null"
      +                    ]
      +                  },
      +                  "feeAmount": {
      +                    "type": [
      +                      "number",
      +                      "null"
      +                    ]
      +                  },
      +                  "hidden": {
      +                    "type": [
      +                      "boolean",
      +                      "null"
      +                    ]
      +                  },
      +                  "hideWhenNotOnSale": {
      +                    "type": [
      +                      "boolean",
      +                      "null"
      +                    ]
      +                  },
      +                  "hideWhenScheduled": {
      +                    "type": [
      +                      "boolean",
      +                      "null"
      +                    ]
      +                  },
      +                  "hideWhenSoldOut": {
      +                    "type": [
      +                      "boolean",
      +                      "null"
      +                    ]
      +                  },
      +                  "hideWhenUnavailable": {
      +                    "type": [
      +                      "boolean",
      +                      "null"
      +                    ]
      +                  },
      +                  "id": {
      +                    "type": "string"
      +                  },
      +                  "image": {
      +                    "anyOf": [
      +                      {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "fileId": {
      +                            "anyOf": [
      +                              {
      +                                "pattern": "^[0-9a-fA-F]{24}$",
      +                                "type": "string"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ],
      +                            "description": "Unique identifier for the uploaded file. Absent for images added by URL (e.g. stock photos).",
      +                            "example": "507f1f77bcf86cd799439011"
      +                          },
      +                          "height": {
      +                            "description": "Image height in pixels.",
      +                            "example": 1080,
      +                            "type": [
      +                              "number",
      +                              "null"
      +                            ]
      +                          },
      +                          "name": {
      +                            "description": "Image file name.",
      +                            "example": "product-image.jpg",
      +                            "type": "string"
      +                          },
      +                          "size": {
      +                            "description": "File size in bytes.",
      +                            "example": 245678,
      +                            "type": [
      +                              "number",
      +                              "null"
      +                            ]
      +                          },
      +                          "url": {
      +                            "description": "Image URL.",
      +                            "example": "https://bucket-name.s3.amazonaws.com/image.jpg",
      +                            "format": "uri",
      +                            "type": "string"
      +                          },
      +                          "width": {
      +                            "description": "Image width in pixels.",
      +                            "example": 1920,
      +                            "type": [
      +                              "number",
      +                              "null"
      +                            ]
      +                          }
      +                        },
      +                        "required": [
      +                          "url",
      +                          "name"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "maxQuantity": {
      +                    "type": [
      +                      "number",
      +                      "null"
      +                    ]
      +                  },
      +                  "minQuantity": {
      +                    "type": [
      +                      "number",
      +                      "null"
      +                    ]
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "price": {
      +                    "type": [
      +                      "number",
      +                      "null"
      +                    ]
      +                  },
      +                  "pricing": {
      +                    "anyOf": [
      +                      {
      +                        "enum": [
      +                          "paid",
      +                          "free",
      +                          "pwyw"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "pwywSuggestedPrice": {
      +                    "type": [
      +                      "number",
      +                      "null"
      +                    ]
      +                  },
      +                  "quantitySold": {
      +                    "type": [
      +                      "number",
      +                      "null"
      +                    ]
      +                  },
      +                  "reference": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "saleEndOn": {
      +                    "anyOf": [
      +                      {
      +                        "format": "date-time",
      +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "saleStartOn": {
      +                    "anyOf": [
      +                      {
      +                        "format": "date-time",
      +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "showAvailableQuantity": {
      +                    "type": [
      +                      "boolean",
      +                      "null"
      +                    ]
      +                  },
      +                  "showHideLogic": {
      +                    "anyOf": [
      +                      {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "comparison": {
      +                            "enum": [
      +                              "is",
      +                              "is_not"
      +                            ],
      +                            "type": "string"
      +                          },
      +                          "enabled": {
      +                            "type": "boolean"
      +                          },
      +                          "ticketTypeIds": {
      +                            "items": {
      +                              "type": "string"
      +                            },
      +                            "type": "array"
      +                          }
      +                        },
      +                        "required": [
      +                          "enabled",
      +                          "comparison",
      +                          "ticketTypeIds"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "showTicketSaleDates": {
      +                    "type": [
      +                      "boolean",
      +                      "null"
      +                    ]
      +                  },
      +                  "status": {
      +                    "anyOf": [
      +                      {
      +                        "enum": [
      +                          "enabled",
      +                          "disabled",
      +                          "archived"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "ticketGroupId": {
      +                    "anyOf": [
      +                      {
      +                        "pattern": "^[0-9a-fA-F]{24}$",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "triggerTicketTypeId": {
      +                    "anyOf": [
      +                      {
      +                        "pattern": "^[0-9a-fA-F]{24}$",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "id",
      +                  "name"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "triggerTicketGroupId": {
      +          "anyOf": [
      +            {
      +              "pattern": "^[0-9a-fA-F]{24}$",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "name"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  10. First observed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and openWorldHint=true, but the description adds the concrete consequence: the change goes live immediately, customers see it at once, and there is no undo because previous values are not retained. It also warns that setting themeId wipes the page's own theme settings and translations unless themeOverrides is sent in the same request. It stops short of covering status/archived transitions or testmode's effect on this call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose, then the read-before-write rule, then the destructive warning, then sub-resource routing and theme guidance — a sensible ordering for a large mutation tool. Slightly heavy on theme paragraph length and partly restates what themeId's schema description already says.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, and the description covers the two things an agent most needs before a destructive live-page write: read current state first, and there is no rollback. Gaps remain around partial-update semantics for omitted vs null fields and around status/visibility changes, but overall it is sufficient to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 60 parameters and only 55% schema description coverage, the description carries a meaningful burden but only addresses the theme family (themeId, themeOverrides, hostedLayoutType); dozens of fields such as status, testmode, funnelSteps and eventDetails are left entirely to the schema. Baseline 3 is appropriate since the schema itself is richly documented where it does describe fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource+scope: 'Update an existing event page's content and settings.' An agent can distinguish this from create_event, update_checkout_page and update_form without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly directs the agent to call get_event first for a partial update, and routes sub-resources away from this tool to create_field/update_field/delete_field, the ticket group tools and the ticket type tools. Theme work is likewise routed to list_themes and list_theme_properties, so the agent knows what this tool is not for.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources