> ## Documentation Index
> Fetch the complete documentation index at: https://developer.zeeg.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Update a Scheduling Page

> Change the title, slug, description, durations, locations, hosts or invitee limit of a scheduling page. Changes reach the live booking page at once, and a new slug breaks links already shared.



## OpenAPI

````yaml PATCH /event-types/{uuid}
openapi: 3.0.0
info:
  title: Zeeg Public API
  description: >-
    Zeeg public API documentation.


    ## Authentication

    All endpoints require a Bearer token. You can generate an API token from
    [your Zeeg dashboard](https://app.zeeg.me/account/settings/api-access).


    Each token is scoped to specific permissions (e.g. `events:read`,
    `webhooks:write`). Make sure your token has the required scopes for the
    endpoints you want to use.


    ## Responses

    Every response is JSON, whatever `Accept` header the request sends.
  version: 2.0.0
  x-logo:
    url: https://app.zeeg.me/img/logo-dark.2ca83593.svg
    backgroundColor: '#f7f7f9'
    altText: zeeg
  contact:
    name: Zeeg Support
    email: support@zeeg.me
    url: https://zeeg.me/en/contact
  license:
    name: Proprietary
    url: https://zeeg.me/en/legal/terms
  termsOfService: https://zeeg.me/en/legal/terms
servers:
  - url: https://api.zeeg.me/v2
    description: Production
security:
  - bearer: []
tags:
  - name: Scheduled Events
    description: Management of events scheduled via Zeeg
  - name: Scheduling Pages
    description: Scheduling pages information and management
  - name: Availability Schedule
    description: Read and change availability for users
  - name: Webhooks
    description: Webhooks management
  - name: Notes
    description: Notes for scheduled events
  - name: Workspaces & Teams
    description: Workspace users and team member management
  - name: AI Agent
    description: AI Agent integration endpoints
  - name: Payloads
    description: Webhook payload schemas
  - name: CRM - Objects
    description: >-
      Discover the schema of CRM objects (standard and custom) including all
      attribute definitions
  - name: CRM - Companies
    description: Create, read, update, and delete CRM company records
  - name: CRM - People
    description: Create, read, update, and delete CRM person records
  - name: Routing Forms - Forms
    description: Read routing forms with their questions and their routes
  - name: Routing Forms - Submissions
    description: Read and delete the submissions that invitees send through a routing form
paths:
  /event-types/{uuid}:
    parameters:
      - schema:
          type: string
          format: uuid
        name: uuid
        in: path
        required: true
        description: UUID of a specific scheduling page
    patch:
      tags:
        - Scheduling Pages
      summary: Update a scheduling page
      description: >-
        Changes the title, slug, description, language, durations, locations,
        hosts or, on a group or round robin page, the invitee limit of a
        scheduling page and answers with it as fetching it returns it. Changes
        reach the live booking page and any voice agent that books it at once.
        Requires the `event_types:write` scope.
      operationId: patch-api-event-type
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchedulingPageUpdate'
            examples:
              Rename and move online:
                value:
                  title: 45-Minute Discovery Call
                  eventDurations:
                    - minutes: 45
                      default: true
                  locations:
                    - location: ZOOM
              Switch to informal German:
                value:
                  language: de-du
      responses:
        '200':
          description: OK. The body is the page as `GET /event-types/{uuid}` returns it.
          content:
            application/json:
              schema:
                type: object
                required:
                  - resource
                properties:
                  resource:
                    $ref: '#/components/schemas/SchedulingPageDetail'
        '400':
          description: >-
            No host the body names is an active member of the team or workspace,
            or the team does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulingPageWriteError'
              examples:
                No host:
                  value:
                    success: false
                    message: No host has been selected.
                    status: 400
        '401':
          $ref: '#/components/responses/401'
        '403':
          description: >-
            Your role does not allow this page to be written, for example a
            member creating a page for a team they do not manage.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulingPageWriteError'
        '404':
          description: The page does not exist or is not one you may manage.
        '409':
          description: The save failed and nothing changed.
        '422':
          description: >-
            The body is invalid (`errors` names each field), or your plan does
            not include this kind of page.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errors:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
              examples:
                Slug taken:
                  value:
                    message: The slug has already been taken.
                    errors:
                      slug:
                        - The slug has already been taken.
      security:
        - bearer: []
components:
  schemas:
    SchedulingPageUpdate:
      type: object
      description: Every field is optional; a field left out keeps its value.
      properties:
        title:
          type: string
          maxLength: 100
        slug:
          type: string
          description: >-
            Changing it breaks every link already shared. A round robin or
            collective page without a team keeps its generated slug.
        description:
          type: string
          nullable: true
        language:
          type: string
          enum:
            - en
            - de
            - de-du
            - nl
            - fi
            - es
            - fr
            - pl
            - da
            - sv
            - it
          description: >-
            The language of the booking page and of the emails its invitees get:
            `en` English, `de` German addressing the invitee formally (Sie),
            `de-du` German addressing the invitee informally (du), `nl` Dutch,
            `fi` Finnish, `es` Spanish, `fr` French, `pl` Polish, `da` Danish,
            `sv` Swedish, `it` Italian. Any other value answers 422.
        eventDurations:
          type: array
          minItems: 1
          maxItems: 5
          items:
            $ref: '#/components/schemas/SchedulingPageDurationInput'
          description: >-
            Replaces every duration. Ignored while a group page has upcoming
            bookings with free seats.
        locations:
          type: array
          items:
            $ref: '#/components/schemas/SchedulingPageLocationInput'
          description: >-
            Replaces the locations every invitee is offered. Rooms and a round
            robin host's own locations, which the dashboard manages, stay as
            they are. Ignored while a group or round robin page has upcoming
            bookings with free seats.
        hosts:
          type: array
          items:
            $ref: '#/components/schemas/SchedulingPageHostInput'
          description: >-
            Round robin and collective only. The complete host list; a host left
            out is removed from the page.
        allMembersIn:
          type: boolean
        maxActiveInvitees:
          type: integer
          minimum: 1
          maximum: 1000
          description: >-
            Group and round robin pages only. How many invitees one time slot
            takes; a group page takes 2 or more.
    SchedulingPageDetail:
      description: >-
        A scheduling page (event type) with full details, as returned when
        fetching a single scheduling page. Extends the list shape with hosts,
        notifications, and Flexi configuration.
      allOf:
        - $ref: '#/components/schemas/SchedulingPage'
        - type: object
          properties:
            notifications:
              type: object
              description: >-
                Notification settings for this scheduling page, including
                invitee email behaviour, host email behaviour and the templates
                used by the dashboard UI.
              properties:
                inviteeConfirmation:
                  type: string
                  enum:
                    - calendar_invitation
                    - email
                    - none
                  description: >-
                    How the invitee is notified once a booking is confirmed.
                    `calendar_invitation` sends a calendar invite from the
                    host's connected calendar, `email` sends a Zeeg confirmation
                    email, `none` sends nothing.
                addEventLinkNotif:
                  type: boolean
                  description: >-
                    When true, invitee notification emails include a link to the
                    event detail page.
                excludePII:
                  type: boolean
                  description: >-
                    When true, host notification emails omit the invitee's
                    personal information.
                excludeHostEmails:
                  type: boolean
                  description: >-
                    When true, hosts do not receive confirmation, update or
                    cancellation emails for events booked on this scheduling
                    page.
                privateCalendarEvent:
                  type: boolean
                  description: >-
                    When true, the calendar event synced to the host's connected
                    calendar (Google, Microsoft or Exchange) is marked as
                    private, so people with access to the host's calendar see
                    only the busy time and not the subject, attendees or
                    location.
                defaultNotifications:
                  type: object
                  description: >-
                    Pre-filled default templates (subject, body and available
                    variables), keyed by notification type: the invitee emails
                    and calendar invitation in the scheduling page language, and
                    the texts the hosts read (the host confirmation and
                    cancellation emails and the CRM meeting notes) in the
                    requesting user's dashboard language. Primarily consumed by
                    the dashboard UI.
                  additionalProperties: true
                customNotifications:
                  type: object
                  description: >-
                    Customized template overrides (subject and body), keyed by
                    notification type. Only populated for notification types the
                    user has customized.
                  additionalProperties: true
                notificationVariables:
                  type: array
                  description: >-
                    Template variables available for use in custom notification
                    templates.
                  items:
                    type: object
                    properties:
                      key:
                        type: string
                      title:
                        type: string
            hosts:
              type: array
              description: >-
                Assigned hosts for the scheduling page. Populated for
                ONE_ON_ONE, GROUP, ROUND_ROBIN and COLLECTIVE pages. For FLEXI
                pages this array is empty; see `flexiCollections` instead.
              items:
                type: object
                properties:
                  uuid:
                    type: string
                    description: Stable identifier of the host user.
                  firstName:
                    type: string
                  lastName:
                    type: string
                    nullable: true
                  email:
                    type: string
                    format: email
                  avatarUrl:
                    type: string
                    format: uri
                    nullable: true
                  slug:
                    type: string
                  priority:
                    type: integer
                    nullable: true
                    description: Round-robin priority weighting, when applicable.
                  schedule:
                    nullable: true
                    allOf:
                      - $ref: '#/components/schemas/EmbeddedSchedule'
                      - type: object
                        required:
                          - isDefault
                        properties:
                          isDefault:
                            type: boolean
                            description: >-
                              Whether this is the host's default schedule, or
                              one dedicated to this page.
                    x-mint:
                      post:
                        - Alpha
                    description: >-
                      The availability schedule this host uses for this
                      scheduling page, inlined. Only populated when
                      `availabilityType` is `per_host`; `null` when the page
                      uses a shared schedule (see the top-level `schedule`).
            flexiCollections:
              type: array
              description: >-
                Host collections for FLEXI scheduling pages. Empty for all other
                page types.
              items:
                type: object
                properties:
                  hostStatus:
                    type: string
                  members:
                    type: array
                    items:
                      type: object
                      properties:
                        uuid:
                          type: string
                        firstName:
                          type: string
                        lastName:
                          type: string
                          nullable: true
                        email:
                          type: string
                          format: email
                        avatarUrl:
                          type: string
                          format: uri
                          nullable: true
                        slug:
                          type: string
            schedule:
              nullable: true
              allOf:
                - $ref: '#/components/schemas/EmbeddedSchedule'
              x-mint:
                post:
                  - Alpha
              description: >-
                The page-level availability schedule shared by all hosts,
                inlined with full hours (the list endpoint returns a reference
                only). Only populated when `availabilityType` is `shared`.
            currentTime:
              type: string
              format: date-time
              description: Current server time
            isSecret:
              type: boolean
            questionSettings:
              allOf:
                - $ref: '#/components/schemas/SchedulingPageQuestions'
              description: >-
                Present only when `expand` names it. The booking form as `GET
                /event-types/{uuid}/questions` returns it, hidden questions and
                CRM fields included.
            notificationSettings:
              allOf:
                - $ref: '#/components/schemas/SchedulingPageNotifications'
              description: >-
                Present only when `expand` names it. The notification settings
                as `GET /event-types/{uuid}/notifications` returns them, custom
                texts included.
    SchedulingPageWriteError:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        status:
          type: integer
    SchedulingPageDurationInput:
      type: object
      required:
        - minutes
        - default
      properties:
        minutes:
          type: integer
          minimum: 1
          maximum: 720
        default:
          type: boolean
          description: >-
            The duration the booking page preselects. Exactly one entry is the
            default.
    SchedulingPageLocationInput:
      type: object
      description: >-
        One location invitees can pick, in the shape `locations` has on a
        fetched scheduling page. The options each type needs:


        - `IN_PERSON`: `options.address` (required).

        - `PHONE_CALL`: `options.callType` (required). `I_WILL_CALL` means the
        host calls the invitee, so the booking asks for the invitee's phone
        number. `INVITEE_SHOULD_CALL` means the invitee calls the host and needs
        `options.phoneNumber` (up to 15 characters).

        - `CUSTUM`: `options.custom` (required), the text shown to the invitee.

        - `WHATSAPP`, `WHEREBY`, `JITSI`: `options.link` (required), the meeting
        link.

        - `GOOGLE_MEET`, `MICROSOFT_TEAMS`, `MICROSOFT_SKYPE`, `ZOOM`, `WEBEX`,
        `ALFAVIEW`, `DEMODESK`: no options; the meeting is created through the
        host's connected integration.


        `IN_PERSON`, `PHONE_CALL` and `CUSTUM` also take an optional
        `options.details` note (up to 250 characters).
      required:
        - location
      properties:
        location:
          type: string
          enum:
            - IN_PERSON
            - PHONE_CALL
            - GOOGLE_MEET
            - MICROSOFT_TEAMS
            - MICROSOFT_SKYPE
            - ZOOM
            - WEBEX
            - DEMODESK
            - ALFAVIEW
            - CUSTUM
            - WHATSAPP
            - WHEREBY
            - JITSI
        options:
          type: object
          properties:
            address:
              type: string
            callType:
              type: string
              enum:
                - I_WILL_CALL
                - INVITEE_SHOULD_CALL
            phoneNumber:
              type: string
            custom:
              type: string
            link:
              type: string
            details:
              type: string
        position:
          type: integer
          minimum: 0
          description: Order in which invitees see the locations.
    SchedulingPageHostInput:
      type: object
      required:
        - uuid
      properties:
        uuid:
          type: string
          description: >-
            The member's `uuid`, as `hosts[].uuid` of a fetched scheduling page
            or `GET /organizations/users` returns it.
        priority:
          type: integer
          minimum: 1
          maximum: 4
          description: >-
            Round robin only. How often the host is picked compared with the
            others, 1 lowest to 4 highest. Defaults to 2 on create; on update a
            host already on the page keeps its own.
    SchedulingPage:
      type: object
      required:
        - uri
        - uuid
        - title
        - type
        - slug
        - schedulingUrl
        - isActive
        - duration
        - profile
        - color
        - language
        - maxActiveInvitees
        - inviteeNameFormat
      properties:
        uri:
          type: string
          format: uri
        uuid:
          type: string
          format: uuid
        title:
          type: string
        type:
          type: string
        slug:
          type: string
        schedulingUrl:
          type: string
          format: uri
        isActive:
          type: boolean
        duration:
          type: integer
        eventDurations:
          type: array
          description: The durations an invitee can pick, shortest first.
          items:
            type: object
            properties:
              minutes:
                type: integer
              default:
                type: boolean
              price:
                type: number
                nullable: true
                description: >-
                  Price charged for this duration on a paid scheduling page, in
                  the page currency. `null` when the duration is free.
                example: 10.5
        profile:
          type: object
          nullable: true
          required:
            - type
          properties:
            type:
              type: string
            firstName:
              type: string
            lastName:
              type: string
              nullable: true
            slug:
              type: string
            url:
              type: string
              format: uri
            avatarUrl:
              type: string
              format: uri
              nullable: true
            email:
              type: string
              format: email
        description:
          type: string
          nullable: true
        color:
          type: string
        language:
          type: string
          enum:
            - en
            - de
            - de-du
            - nl
            - fi
            - es
            - fr
            - pl
            - da
            - sv
            - it
          description: >-
            The language of the booking page and of the emails its invitees get:
            `en` English, `de` German addressing the invitee formally (Sie),
            `de-du` German addressing the invitee informally (du), `nl` Dutch,
            `fi` Finnish, `es` Spanish, `fr` French, `pl` Polish, `da` Danish,
            `sv` Swedish, `it` Italian.
        maxActiveInvitees:
          type: integer
        inviteeNameFormat:
          type: string
        inviteePhoneNumber:
          type: boolean
        inviteeQuestions:
          type: array
          nullable: true
          items:
            type: object
            required:
              - order
              - question
              - isActive
              - isRequired
              - type
            properties:
              id:
                type: integer
                description: >-
                  Numeric ID of the question, used when submitting answers via
                  the booking API.
              order:
                type: integer
              question:
                type: string
              isActive:
                type: boolean
              isRequired:
                type: boolean
              type:
                type: string
              options:
                type: array
                nullable: true
                items: {}
        availabilityType:
          type: string
          enum:
            - shared
            - per_host
          x-mint:
            post:
              - Alpha
          description: >-
            Where the availability schedule for this scheduling page lives.
            `shared` — one schedule is set on the page itself and applies to
            everyone; see `schedule`. `per_host` — each host has their own
            schedule for this page (COLLECTIVE / ROUND_ROBIN); the per-host
            schedules are returned on the single-page endpoint in
            `hosts[].schedule`.
        schedule:
          type: object
          nullable: true
          required:
            - uri
            - uuid
            - title
          x-mint:
            post:
              - Alpha
          description: >-
            Reference to the page-level availability schedule shared by all
            hosts. `null` when `availabilityType` is `per_host`. In list
            responses this is a reference only; the single-page endpoint inlines
            the full schedule (hours and overrides).
          properties:
            uri:
              type: string
              format: uri
              example: https://api.zeeg.me/v2/schedules/Q1ZYo391da
              description: API resource URI for this schedule
            uuid:
              type: string
              description: Schedule identifier
              example: Q1ZYo391da
            title:
              type: string
              description: Display name of the schedule
        confirmation:
          type: object
          required:
            - redirectEnabled
            - redirectUrl
            - confirmationDataInUrl
            - redirectDelay
          description: >-
            What happens after a booking is confirmed on this scheduling page.
            Always present, in its off state when no redirect is configured, so
            the fields can be read without first testing whether a redirect
            exists. Returned identically by this endpoint and by `GET
            /event-types/{uuid}`.
          properties:
            redirectEnabled:
              type: boolean
              description: >-
                Whether the invitee is sent to an external URL after booking
                instead of staying on the Zeeg confirmation page.
              example: true
            redirectUrl:
              type: string
              format: uri
              nullable: true
              description: >-
                Destination the invitee is sent to. Can be `null` while
                `redirectEnabled` is `true`, so test it before you use it.
              example: https://acme.com/thanks
            confirmationDataInUrl:
              type: boolean
              description: >-
                Whether the booking details are appended to `redirectUrl` as
                query parameters. Carries `invitee_uuid` and `assigned_to`
                alongside the start and end times, the guests, the invitee name
                and email, the answers to booking questions, and any `c__`
                custom query parameters. `invitee_uuid` is the same identifier
                the `invitee.scheduled` webhook sends as `inviteeUuid`.
              example: true
            redirectDelay:
              type: integer
              minimum: 0
              description: >-
                Seconds the confirmation page is shown before the redirect
                happens. `0` redirects immediately.
              example: 10
      description: A scheduling page (event type) as returned in list responses.
    EmbeddedSchedule:
      type: object
      description: >-
        An availability schedule embedded in a scheduling-page response. Same
        identifiers and hours vocabulary as the Availability Schedules
        endpoints; `uuid` can be used directly with `GET /schedules/{uuid}`.
        User-level time off (vacation, out-of-office) is per user, not per
        schedule, and is not embedded — fetch it via `GET
        /schedules?email={host}`.
      required:
        - uri
        - uuid
        - title
        - timezone
        - weeklyHours
        - specialHours
      properties:
        uri:
          type: string
          format: uri
          example: https://api.zeeg.me/v2/schedules/Q1ZYo391da
          description: API resource URI for this schedule
        uuid:
          type: string
          description: Schedule identifier
          example: Q1ZYo391da
        title:
          type: string
          description: Display name of the schedule
        timezone:
          type: string
          description: IANA timezone identifier
        weeklyHours:
          type: array
          items:
            type: object
            properties:
              day:
                type: string
                enum:
                  - Mon
                  - Tue
                  - Wed
                  - Thu
                  - Fri
                  - Sat
                  - Sun
                description: Day of the week (3-letter).
              timesets:
                type: array
                items:
                  type: array
                  minItems: 2
                  maxItems: 2
                  items:
                    type: string
                    pattern: ^\d{2}:\d{2}$
                description: Time intervals for the day
          description: Weekly recurring availability hours
        specialHours:
          type: array
          nullable: true
          items:
            type: object
            properties:
              date:
                type: string
                format: date
              timesets:
                type: array
                nullable: true
                items:
                  type: array
                  minItems: 2
                  maxItems: 2
                  items:
                    type: string
                    pattern: ^\d{2}:\d{2}$
          description: Date-specific availability overrides
    SchedulingPageQuestions:
      type: object
      required:
        - askForPhoneNumber
        - allowAdditionalGuests
        - nameFormat
        - questions
      properties:
        askForPhoneNumber:
          type: boolean
          description: Whether the booking form asks for the invitee's phone number.
        allowAdditionalGuests:
          type: boolean
          description: >-
            Whether invitees may add guests. Always false while the workspace
            requires invitee email verification, whatever was set.
        nameFormat:
          type: string
          enum:
            - FULL_NAME
            - SEPARATED
            - SEPARATED_WITH_SALUTATION
          description: >-
            One name field, first and last name, or first and last name with a
            salutation.
        questions:
          type: array
          description: Every question in display order, hidden ones included.
          items:
            $ref: '#/components/schemas/SchedulingPageQuestion'
    SchedulingPageNotifications:
      type: object
      required:
        - inviteeConfirmation
        - addEventLinkNotif
        - privateCalendarEvent
        - excludePII
        - excludeHostEmails
        - calendarAdditionalAttendees
        - customNotifications
      properties:
        inviteeConfirmation:
          type: string
          enum:
            - calendar_invitation
            - email
            - none
          description: How the invitee is told about the booking.
        addEventLinkNotif:
          type: boolean
          description: Whether invitee emails carry the links to reschedule or cancel.
        privateCalendarEvent:
          type: boolean
          description: Whether the calendar entry is marked private.
        excludePII:
          type: boolean
          description: >-
            Whether host emails and calendar entries leave out the invitee's
            details.
        excludeHostEmails:
          type: boolean
          description: Whether the hosts get no booking emails.
        calendarAdditionalAttendees:
          type: array
          maxItems: 3
          items:
            type: string
            format: email
          description: >-
            Addresses added to every calendar invitation once each has
            confirmed.
        customNotifications:
          description: >-
            Only the notifications with their own text; every other one sends
            its default.
          allOf:
            - $ref: '#/components/schemas/SchedulingPageCustomNotifications'
    SchedulingPageQuestion:
      type: object
      required:
        - id
        - label
        - type
        - required
        - active
        - choices
        - crmAttribute
      properties:
        id:
          type: integer
          example: 812
        label:
          type: string
          example: What would you like to discuss?
        type:
          type: string
          enum:
            - TEXT_INPUT
            - TEXTAREA
            - SELECT
            - RADIO_INPUT
            - CHECKBOX
            - DATE_INPUT
            - PHONE_NUMBER
            - CRM_ATTRIBUTE
        required:
          type: boolean
        active:
          type: boolean
          description: false while the question is hidden from the booking form.
        choices:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            The answers to pick from, for SELECT, RADIO_INPUT and CHECKBOX; null
            for other types.
        crmAttribute:
          type: object
          nullable: true
          description: >-
            The CRM field the answer is saved to, for CRM_ATTRIBUTE; null for
            other types.
          properties:
            objectSlug:
              type: string
              example: people
            attributeSlug:
              type: string
              example: job_title
            overrideValue:
              type: boolean
              description: true overwrites a value the CRM record already holds.
    SchedulingPageCustomNotifications:
      type: object
      description: >-
        Own texts per notification. Tags are written as `:tag`, for example
        `:invitee_full_name`, `:scheduling_page_name`, `:event_start_date`,
        `:event_start_time`, `:location`, `:meeting_link`, `:cancellation_link`,
        `:rescheduling_link` and `:questions_and_answers`; cancellation texts
        also take `:canceled_by` and `:cancellation_reason`.
      properties:
        inviteeConfirmation:
          description: The email the invitee gets when they book.
          allOf:
            - $ref: '#/components/schemas/SchedulingPageNotificationText'
        inviteeCancellation:
          description: The email the invitee gets when the booking is cancelled.
          allOf:
            - $ref: '#/components/schemas/SchedulingPageNotificationText'
        hostConfirmation:
          description: The email the hosts get for a new booking.
          allOf:
            - $ref: '#/components/schemas/SchedulingPageNotificationText'
        hostCancellation:
          description: The email the hosts get when a booking is cancelled.
          allOf:
            - $ref: '#/components/schemas/SchedulingPageNotificationText'
        inviteeInvitation:
          description: >-
            The calendar invitation. The subject is the event title, the body
            its description.
          allOf:
            - $ref: '#/components/schemas/SchedulingPageNotificationText'
        hubspot:
          description: The meeting note written to HubSpot for a booking.
          allOf:
            - $ref: '#/components/schemas/SchedulingPageNotificationText'
        hubspot_group:
          description: >-
            The HubSpot note for a booking on a page with several invitees per
            slot.
          allOf:
            - $ref: '#/components/schemas/SchedulingPageNotificationText'
        pipedrive:
          description: The meeting note written to Pipedrive for a booking.
          allOf:
            - $ref: '#/components/schemas/SchedulingPageNotificationText'
        pipedrive_group:
          description: >-
            The Pipedrive note for a booking on a page with several invitees per
            slot.
          allOf:
            - $ref: '#/components/schemas/SchedulingPageNotificationText'
        salesforce:
          description: The meeting note written to Salesforce for a booking.
          allOf:
            - $ref: '#/components/schemas/SchedulingPageNotificationText'
        salesforce_group:
          description: >-
            The Salesforce note for a booking on a page with several invitees
            per slot.
          allOf:
            - $ref: '#/components/schemas/SchedulingPageNotificationText'
    SchedulingPageNotificationText:
      type: object
      required:
        - subject
        - body
      properties:
        subject:
          type: string
          maxLength: 500
          example: 'Confirmed: :scheduling_page_name on :event_start_date'
        body:
          type: string
          maxLength: 3000
          description: >-
            Simple HTML (p, br, b, strong, i, em, u, a, ul, ol, li, blockquote,
            code, span, div, table). The lengths count text without markup.
          example: <p>Hi :invitee_first_name, see you at :event_start_time.</p>
        isModerationValid:
          type: boolean
          readOnly: true
          description: >-
            false when moderation rejected this text. It is not sent, and the
            default text goes out instead.
  responses:
    '401':
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Unauthenticated.
          examples:
            Unauthenticated:
              value:
                message: Unauthenticated.
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: ''

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.