conduyt_update_booking_page
Updates a booking page with only the provided fields changed, including availability, Zoom video, form fields, payments, and branding.
Instructions
Update a booking page (PATCH /api/v1/booking-pages/{id}): only the fields given change. videoProvider 'zoom' turns on one Zoom meeting per booking (null turns it off and clears the host); videoHostEmail must be a user of the connected Zoom account (null = the app's own user). Requires calendar:edit (admin/owner).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | booking page UUID | |
| slug | No | public slug (conduyt.app/book/<slug>) | |
| color | No | hex colour | |
| title | No | page title | |
| userId | No | host user UUID (the page owner) | |
| logoUrl | No | ||
| reviews | No | ||
| campaign | No | ||
| gdprText | No | ||
| hyrosTag | No | ||
| isActive | No | ||
| location | No | written location (link, phone, address); with videoProvider zoom it is the fallback when Zoom is down | |
| template | No | null = the default page, 'bda' = the BDA template | |
| brandName | No | white-label name shown on the page and in Zoom meeting names | |
| eventType | No | ||
| reminders | No | ||
| formFields | No | ||
| leadSource | No | lead source stamped on contacts the page creates | |
| bufferAfter | No | minutes blocked after each booking | |
| description | No | ||
| gdprEnabled | No | ||
| gdprLinkUrl | No | ||
| hostGroupId | No | ||
| hostUserIds | No | users on this account who can host | |
| redirectUrl | No | where the visitor goes after booking | |
| bufferBefore | No | minutes blocked before each booking | |
| embedEnabled | No | ||
| hideBranding | No | ||
| maxAttendees | No | ||
| requirePhone | No | ||
| fieldMappings | No | ||
| minimumNotice | No | earliest booking, minutes from now | |
| paymentAmount | No | cents | |
| stripePriceId | No | ||
| videoProvider | No | 'zoom' = a new Zoom meeting for every booking (needs conduyt_zoom_connect); null = the written location only | |
| enableIcalFeed | No | true issues a new iCal feed token, false revokes it | |
| hostPriorities | No | host user id to priority | |
| maxAdvanceDays | No | how far ahead visitors may book | |
| paymentEnabled | No | accepted, but checkout is not implemented yet: the page stays unpaid and the answer carries a warning | |
| videoHostEmail | No | the Zoom user the meeting is created under (a user of the connected Zoom account); null = the app's own user | |
| customQuestions | No | ||
| durationMinutes | No | ||
| durationOptions | No | selectable durations; empty or null clears | |
| paymentCurrency | No | ||
| stripeProductId | No | ||
| thankYouMessage | No | ||
| waitlistEnabled | No | ||
| documentsEnabled | No | the documents step: the public upload-url and documents routes answer for this page's bookings (bank statements and funding agreements attached to the lead) | |
| documentsPageUrl | No | the site page the confirmation email links the visitor back to for the upload (https; the page reads ?appointment=<id>); null = no link | |
| availabilityRules | No | availability override; null = the host's own rules | |
| maxBookingsPerDay | No | ||
| distributionMethod | No | ||
| embedAllowedOrigins | No | origins allowed to embed/call the page; null or empty = any |