Experiences
Update Experience
Partially update an experience in your organization
PATCH
Update Experience
Partially updates an experience. Only the fields supplied in the body are written — omitted fields are left unchanged. The experience must belong to the organization associated with the API key; cross-org requests return404 Not Found with no information leak.
Requires the experiences:write scope.
Path Parameters
Experience ID (the service catalog document ID).
Request Body
At least one field is required. Unknown fields are rejected with400.
Experience name (1–120 chars).
Long-form description shown on the public booking page.
Length of one session in minutes (1..1440).
Maximum attendees per session (1..10000).
Replace the location object.
type is required when location is supplied.Replace the pricing object. Currency is normalised to lowercase before
persistence. When the currency changes, all child ticket classes have
their pricing currency cascaded automatically — booking flows that
validate parent/child currency equality continue to work.
Partial scheduling rules. Each nested object (
booking_window,
cancellation_policy) is replaced wholesale if supplied; omit a nested
object to keep its existing values. Invariants (min_hours_before >= 0,
max_days_ahead > 0, refundable_until_hours_before >= 0) are enforced
on the merged result.Replace the providers list. Pass
[] to remove all providers.none, email, or email_and_phone.Upper bound on seats per single booking (1..50).
active or inactive. Inactive experiences are hidden from the public
catalog and reject new bookings.open or closed. When closed the experience stays publicly
visible but the booking CTA is hidden.Response
Returns the updated experience as serialized byGET /experiences/{experience_id}.
