> ## Documentation Index
> Fetch the complete documentation index at: https://developers.hubspot.de/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve meeting link slug

> Rufen Sie Details zu den ersten Informationen ab, die für einen Meeting-Planer erforderlich sind.

export const ScopesList = ({scopes = [], description = "Diese API erfordert einen der folgenden Bereiche:"}) => {
  if (!scopes || scopes.length === 0) {
    return null;
  }
  const sortedScopes = scopes.sort((a, b) => a.localeCompare(b));
  return <div>
      <div className="text-sm mb-2">{description}</div>
      <div>
        {sortedScopes.map((scope, index) => <div key={index}>
            <code>
              <span className="text-xs">{scope}</span>
            </code>
          </div>)}
      </div>
    </div>;
};

export const SupportedProducts = ({marketing, sales, service, cms, marketingLevel, salesLevel, serviceLevel, cmsLevel}) => {
  const translations = {
    header: "Unterstützte Produkte",
    description: "Erfordert eines der folgenden Produkte oder höher.",
    productNames: {
      marketing: "Marketing Hub",
      sales: "Sales Hub",
      service: "Service Hub",
      cms: "Content Hub"
    },
    tiers: {
      free: "Kostenlos",
      starter: "Starter",
      professional: "Professional",
      enterprise: "Enterprise"
    }
  };
  const translateTier = tier => {
    if (!tier) return '';
    const lowerTier = tier.toLowerCase();
    return translations.tiers[lowerTier] || tier;
  };
  const products = [{
    name: marketing ? translations.productNames.marketing : '',
    level: translateTier(marketingLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/marketing-bolt.svg",
    alt: "Marketing Hub"
  }, {
    name: sales ? translations.productNames.sales : '',
    level: translateTier(salesLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/sales-star.svg",
    alt: "Sales Hub"
  }, {
    name: service ? translations.productNames.service : '',
    level: translateTier(serviceLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/service-heart.svg",
    alt: "Service Hub"
  }, {
    name: cms ? translations.productNames.cms : '',
    level: translateTier(cmsLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/content-play.svg",
    alt: "Content Hub"
  }].filter(product => product.name && product.level);
  if (products.length === 0) return null;
  return <div>
      <div className="text-sm mb-2">{translations.description}</div>
      <div className={`grid ${products.length === 1 ? 'grid-cols-1' : 'grid-cols-2'} gap-1.5`}>
        {products.map((product, index) => <div key={index} style={{
    display: 'flex',
    alignItems: 'center'
  }}>
            <img src={product.icon} alt={product.alt} className="w-3.5 h-3.5 mr-1.5 mt-2.5 mb-2.5 flex-shrink-0 align-middle" />
            <span className="font-medium mr-1 text-sm">{product.name} -</span>
            <span className="text-sm">{product.level}</span>
          </div>)}
      </div>
    </div>;
};

<AccordionGroup>
  <Accordion title="Supported products" defaultOpen="true" icon="cubes">
    <SupportedProducts marketing={true} sales={true} service={true} cms={true} marketingLevel="FREE" salesLevel="FREE" serviceLevel="FREE" cmsLevel="FREE" />
  </Accordion>

  <Accordion title="Required Scopes" icon="key">
    <ScopesList
      scopes={[
  'scheduler.meetings.meeting-link.read'
]}
    />
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml specs/2026-03/scheduler-meetings-v2026-03.json GET /scheduler/2026-03/meetings/meeting-links/book/{slug}
openapi: 3.0.1
info:
  title: Scheduler Meetings
  description: Meetings Service For HubSpot Sales
  version: 2026-03
  x-hubspot-product-tier-requirements:
    marketing: FREE
    sales: FREE
    service: FREE
    cms: FREE
    commerce: FREE
    crmHub: FREE
    dataHub: FREE
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Advanced
  - name: Basic
paths:
  /scheduler/2026-03/meetings/meeting-links/book/{slug}:
    get:
      tags:
        - Basic
      summary: Buchungsinformationen auflisten
      description: >-
        Rufen Sie Details zu den ersten Informationen ab, die für einen
        Meeting-Planer erforderlich sind.
      operationId: get-/scheduler/2026-03/meetings/meeting-links/book/{slug}
      parameters:
        - name: slug
          in: path
          description: ''
          required: true
          style: simple
          explode: false
          schema:
            type: string
        - name: timezone
          in: query
          description: ''
          required: true
          style: form
          explode: true
          schema:
            type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalBookingInfo'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - scheduler.meetings.meeting-link.read
components:
  schemas:
    ExternalBookingInfo:
      required:
        - allUsersBusyTimes
        - customParams
        - isOffline
        - linkId
        - linkType
      type: object
      properties:
        allUsersBusyTimes:
          type: array
          items:
            $ref: '#/components/schemas/ExternalUserBusyTimes'
        brandingMetadata:
          $ref: '#/components/schemas/ExternalBrandingMetadata'
        customParams:
          $ref: '#/components/schemas/ExternalMeetingsLinkSettings'
        isOffline:
          type: boolean
          description: "Ob das Meeting offline gebucht wurde, d.\_h., es wurde kein zugehöriges Kalender-Event erstellt."
        linkAvailability:
          $ref: '#/components/schemas/ExternalLinkAvailability'
        linkId:
          type: string
          description: Die eindeutige ID für den Meetinglink.
        linkType:
          type: string
          description: >-
            Der Typ des Meetinglinks. Zulässige Werte sind: GROUP_CALENDAR,
            PERSONAL_LINK, ROUND_ROBIN_CALENDAR.
          enum:
            - GROUP_CALENDAR
            - PERSONAL_LINK
            - ROUND_ROBIN_CALENDAR
    ExternalUserBusyTimes:
      required:
        - busyTimes
        - isOffline
        - meetingsUser
      type: object
      properties:
        busyTimes:
          type: array
          items:
            $ref: '#/components/schemas/ExternalTimeRange'
        isOffline:
          type: boolean
          description: Ob der Benutzer offline ist.
        meetingsUser:
          $ref: '#/components/schemas/ExternalMeetingsUser'
    ExternalBrandingMetadata:
      required:
        - logoAltText
        - showMarketingAd
        - showSalesAd
      type: object
      properties:
        accent2Color:
          type: string
          description: Die sekundäre Akzentfarbe unter Branding.
        accentColor:
          type: string
          description: Die primäre Akzentfarbe unter Branding.
        companyAddressLine1:
          type: string
          description: Die erste Zeile der Unternehmensadresse.
        companyAddressLine2:
          type: string
          description: Die zweite Zeile der Unternehmensadresse.
        companyAvatar:
          type: string
          description: Die URL des Avatar-Bilds des Unternehmens.
        companyCity:
          type: string
          description: Die Stadt, in der das Unternehmen ansässig ist.
        companyCountry:
          type: string
          description: Das Land, in dem das Unternehmen ansässig ist.
        companyDomain:
          type: string
          description: Die Domain der Unternehmenswebsite.
        companyName:
          type: string
          description: Der Name des Unternehmens.
        companyState:
          type: string
          description: Das Bundesland, in dem das Unternehmen ansässig ist.
        companyZip:
          type: string
          description: Die PLZ des Unternehmensstandorts.
        logoAltText:
          type: string
          description: Der ALT-Text für das aktuelle Logo.
        logoHeight:
          type: integer
          description: Die Höhe des Logos in Pixel.
          format: int32
        logoUrl:
          type: string
          description: Die URL eines benutzerdefinierten Logos.
        logoWidth:
          type: integer
          description: Die Breite des Logos in Pixel.
          format: int32
        primaryColor:
          type: string
          description: Die primäre Farbe, die für das Branding verwendet wird.
        secondaryColor:
          type: string
          description: Die sekundäre Farbe unter Branding.
        showMarketingAd:
          type: boolean
          description: Ob Marketing Hub-Anzeigen eingeblendet werden.
        showSalesAd:
          type: boolean
          description: Ob Sales Hub-Anzeigen eingeblendet werden.
    ExternalMeetingsLinkSettings:
      required:
        - availability
        - durations
        - formFields
        - legalConsentEnabled
        - meetingBufferTime
        - ownerPrioritized
        - startTimeIncrementMinutes
        - weeksToAdvertise
      type: object
      properties:
        availability:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ExternalClosedRange'
          description: "Ein Array mit der Verfügbarkeit eines Meetinglinks für einen geschlossenen Bereich. Zeiten von geschlossenen Bereichen werden als Minutenversatz von Mitternacht angegeben (z.\_B. entspricht „540“ 9 Uhr morgens)."
        customAvailabilityEndDate:
          type: integer
          description: >-
            Das Enddatum für das benutzerdefinierte Verfügbarkeitsfenster eines
            Meetinglinks, dargestellt als Unix-Zeit in Millisekunden.
          format: int64
        customAvailabilityStartDate:
          type: integer
          description: >-
            Das Startdatum für das benutzerdefinierte Verfügbarkeitsfenster
            eines Meetinglinks, dargestellt als Unix-Zeit in Millisekunden.
          format: int64
        displayInfo:
          $ref: '#/components/schemas/ExternalLinkDisplayInfo'
        durations:
          type: array
          items:
            type: integer
            format: int64
        formFields:
          type: array
          items:
            $ref: '#/components/schemas/ExternalLinkFormField'
        guestSettings:
          $ref: '#/components/schemas/ExternalGuestSettings'
        language:
          type: string
          description: Die für den Meetinglink verwendete Spracheinstellung.
        legalConsentEnabled:
          type: boolean
          description: >-
            Ob das Kontrollkästchen für rechtliche Einwilligung während der
            Buchung des Meetings angezeigt wird.
        legalConsentOptions:
          $ref: '#/components/schemas/ExternalLegalConsentOptions'
        locale:
          type: string
          description: >-
            Die für die Formatierung von Datums- und Zeitangaben im Meetinglink
            verwendete Gebietsschemaeinstellung.
        location:
          type: string
          description: >-
            Die physische Adresse oder der virtuelle Ort, an der bzw. unter der
            das Meeting stattfinden wird.
        meetingBufferTime:
          type: integer
          description: >-
            Die minimale Pufferzeit in Millisekunden zwischen
            aufeinanderfolgenden Meetings.
          format: int64
        ownerPrioritized:
          type: boolean
          description: >-
            Zeigt an, ob der für das Meeting zuständige Mitarbeiter während der
            Buchung priorisiert wird. Gilt nur für Links vom Typ ROUND_ROBIN.
        redirectUrl:
          type: string
          description: Die URL, zu der nach der Buchung eines Meetings weitergeleitet wird.
        startTimeIncrementMinutes:
          type: string
          description: "Die inkrementelle Erhöhung für verfügbare Startzeiten von Meetings, als Wort ausgeschrieben (z.\_B. ein 15-Minuten-Inkrement wäre „FIFTEEN“). „MEETING_DURATION“ ist ebenfalls ein gültiger Wert."
          enum:
            - FIFTEEN
            - FIVE
            - FORTY_FIVE
            - MEETING_DURATION
            - NINETY
            - ONE_HUNDRED_TWENTY
            - SIXTY
            - TEN
            - THIRTY
            - TWENTY
        weeksToAdvertise:
          type: integer
          description: >-
            Alte Eigenschaft, die angibt, wie viele Wochen im Voraus die
            Verfügbarkeit angekündigt wird. Möglicherweise veraltet oder durch
            andere Eigenschaften ersetzt.
          format: int32
        welcomeScreenInfo:
          $ref: '#/components/schemas/ExternalMeetingsWelcomeScreenInfo'
    ExternalLinkAvailability:
      required:
        - hasMore
        - linkAvailabilityByDuration
      type: object
      properties:
        hasMore:
          type: boolean
          description: >-
            Ob es über den zurückgegebenen Satz hinaus weitere verfügbare
            Meetingzeiten gibt.
        linkAvailabilityByDuration:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ExternalLinkAvailabilityForDuration'
          description: >-
            Verfügbare Buchungszeitfenster für das Meeting, gruppiert nach
            Dauer.
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: Die Fehlerkategorie
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Kontext zur Fehlerbedingung
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            Eine eindeutige ID für die Anfrage. Berücksichtigen Sie diesen Wert
            in Fehlerberichten oder Support-Tickets.
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: Weitere Informationen zum Fehler
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Eine Zuordnung der Namen von Links zu zugeordneten URIs mit einer
            Dokumentation zum Fehler oder empfohlenen Abhilfemaßnahmen
        message:
          type: string
          description: >-
            Eine für Menschen lesbare Nachricht mit einer Beschreibung des
            Fehlers und ggf. Abhilfemaßnahmen
          example: An error occurred
        subCategory:
          type: string
          description: Eine spezifische Kategorie, die genauere Details zum Fehler enthält
      example:
        message: Invalid input (details will vary based on the error)
        correlationId: aeb5f871-7f07-4993-9211-075dc63e7cbf
        category: VALIDATION_ERROR
        links:
          knowledge-base: https://www.hubspot.com/products/service/knowledge-base
    ExternalTimeRange:
      required:
        - end
        - start
      type: object
      properties:
        end:
          type: integer
          description: >-
            Die Endzeit des Zeitraums, dargestellt als Unix-Zeit in
            Millisekunden.
          format: int64
        start:
          type: integer
          description: >-
            Die Startzeit des Zeitraums, dargestellt als Unix-Zeit in
            Millisekunden.
          format: int64
    ExternalMeetingsUser:
      required:
        - calendarProvider
        - id
        - isSalesStarter
        - userId
        - userProfile
      type: object
      properties:
        calendarProvider:
          type: string
          description: >-
            Der dem Benutzer zugeordnete Kalenderanbieter. Zulässige Werte sind:
            GOOGLE, OFFICE365, EXCHANGE, UNKNOWN.
          enum:
            - EXCHANGE
            - GOOGLE
            - OFFICE365
            - UNKNOWN
        id:
          type: string
          description: Die ID für den Meetings-Benutzer. Anderer Wert als userId.
        isSalesStarter:
          type: boolean
          description: Ob der Benutzer eine Sales Starter-Lizenz besitzt.
        userId:
          type: string
          description: Die ID des Benutzers.
        userProfile:
          $ref: '#/components/schemas/ExternalUserProfile'
    ExternalClosedRange:
      required:
        - end
        - start
      type: object
      properties:
        end:
          type: integer
          description: Der Endwert des geschlossenen Bereichs, dargestellt als Ganzzahl.
          format: int64
        start:
          type: integer
          description: Der Startwert des geschlossenen Bereichs, dargestellt als Ganzzahl.
          format: int64
    ExternalLinkDisplayInfo:
      type: object
      properties:
        avatar:
          type: string
          description: >-
            Die URL des vom Benutzer hochgeladenen benutzerdefinierten
            Avatar-Bilds.
        companyAvatar:
          type: string
          description: Die URL des Avatar-Bilds des Unternehmens.
        headline:
          type: string
          description: >-
            Veraltetes Feld ohne Auswirkungen auf die Anzeige von
            Linkinformationen.
        publicDisplayAvatarOption:
          type: string
          description: >-
            Option zur Bestimmung, welcher Avatar auf der Terminplanungsseite
            angezeigt werden soll. Zulässige Werte sind: PROFILE_IMAGE,
            COMPANY_LOGO, CUSTOM_AVATAR,
          enum:
            - COMPANY_LOGO
            - CUSTOM_AVATAR
            - PROFILE_IMAGE
    ExternalLinkFormField:
      required:
        - fieldType
        - isCustom
        - isRequired
        - label
        - name
        - options
        - type
      type: object
      properties:
        fieldType:
          type: string
          description: "Der spezifische Feldtyp für das Formularfeld. Entspricht Eigenschaftstypen (z\_B. „Auswählen“, „Optionsfeld“, „Datum“ usw.)"
        isCustom:
          type: boolean
          description: >-
            Ob es sich bei dem Formularfeld um ein benutzerdefiniertes Feld
            handelt.
        isRequired:
          type: boolean
          description: Ob es sich bei dem Formularfeld um ein Pflichtfeld handelt.
        label:
          type: string
          description: Das Textlabel für das Formularfeld.
        name:
          type: string
          description: Die ID des Namens für das Formularfeld.
        options:
          type: array
          items:
            $ref: '#/components/schemas/ExternalOption'
        type:
          type: string
          description: "Der akzeptierte Datentyp für das Formularfeld (z.\_B. „Datum“, „Aufzählung“ usw.)"
    ExternalGuestSettings:
      required:
        - canAddGuests
        - maxGuestCount
      type: object
      properties:
        canAddGuests:
          type: boolean
          description: Gibt an, ob Gäste zum Meeting hinzugefügt werden können.
        maxGuestCount:
          type: integer
          description: >-
            Die maximale Anzahl von Gästen, die dem Meeting hinzugefügt werden
            können.
          format: int32
    ExternalLegalConsentOptions:
      required:
        - communicationConsentCheckboxes
        - communicationConsentText
        - isLegitimateInterest
        - legitimateInterestSubscriptionTypes
        - privacyPolicyText
        - processingConsentCheckboxLabel
        - processingConsentFooterText
        - processingConsentText
        - processingConsentType
      type: object
      properties:
        communicationConsentCheckboxes:
          type: array
          items:
            $ref: '#/components/schemas/ExternalCommunicationConsentCheckbox'
        communicationConsentText:
          type: string
          description: >-
            Der Text, der die Einwilligung für die Kommunikationseinstellungen
            beschreibt.
        isLegitimateInterest:
          type: boolean
          description: >-
            Ob die rechtliche Grundlage für die Verarbeitung der Kontaktdaten
            „berechtigtes Interesse“ ist.
        legitimateInterestLegalBasis:
          type: string
          description: >-
            Die rechtliche Grundlage für die Verarbeitung der Kontaktdaten unter
            „berechtigtes Interesse“. Zulässige Werte sind:
            LEGITIMATE_INTEREST_PQL, LEGITIMATE_INTEREST_CLIENT,
            PERFORMANCE_OF_CONTRACT, CONSENT_WITH_NOTICE, NON_GDPR,
            PROCESS_AND_STORE, LEGITIMATE_INTEREST_OTHER.
          enum:
            - CONSENT_WITH_NOTICE
            - LEGITIMATE_INTEREST_CLIENT
            - LEGITIMATE_INTEREST_OTHER
            - LEGITIMATE_INTEREST_PQL
            - NON_GDPR
            - PERFORMANCE_OF_CONTRACT
            - PROCESS_AND_STORE
        legitimateInterestSubscriptionTypes:
          type: array
          items:
            type: integer
            format: int64
        privacyPolicyText:
          type: string
          description: >-
            Der Text, der die Datenschutzrichtlinie für die Datenverarbeitung
            beschreibt.
        processingConsentCheckboxLabel:
          type: string
          description: >-
            Das Label für das Kontrollkästchen zum Einholen der Zustimmung zur
            Datenverarbeitung.
        processingConsentFooterText:
          type: string
          description: >-
            Der Footer-Text unter der Einwilligung zur Datenverarbeitung. Dieses
            Feld wird von der Meetingplattform nicht verwendet und bleibt immer
            leer.
        processingConsentText:
          type: string
          description: >-
            Der Text, der die Einwilligung zur Verarbeitung personenbezogener
            Daten beschreibt.
        processingConsentType:
          type: string
          description: >-
            Der für die Verarbeitung erforderliche Einwilligungstyp. Zulässige
            Werte sind: IMPLICIT, REQUIRED_CHECKBOX.
          enum:
            - IMPLICIT
            - REQUIRED_CHECKBOX
    ExternalMeetingsWelcomeScreenInfo:
      type: object
      properties:
        description:
          type: string
          description: >-
            Eine kurze Beschreibung auf dem Willkommensbildschirm unter dem
            Titel.
        logoUrl:
          type: string
          description: >-
            Die URL des Logo-Bildes, das auf dem Willkommensbildschirm angezeigt
            werden soll, wird nur verwendet, wenn „useCompanyLogo“ „false“ ist.
        showWelcomeScreen:
          type: boolean
          description: >-
            Veraltete Eigenschaft. Wert kann ignoriert werden, ist immer
            „false“.
        title:
          type: string
          description: >-
            Die Hauptüberschrift, die auf dem Willkommensbildschirm angezeigt
            wird.
        useCompanyLogo:
          type: boolean
          description: >-
            Ob das Unternehmenslogo auf dem Willkommensbildschirm angezeigt
            werden soll.
    ExternalLinkAvailabilityForDuration:
      required:
        - availabilities
        - meetingDurationMillis
      type: object
      properties:
        availabilities:
          type: array
          items:
            $ref: '#/components/schemas/ExternalMeetingAvailability'
        meetingDurationMillis:
          type: integer
          description: Die Dauer des Meetings in Millisekunden.
          format: int64
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: Der Statuscode, der dem Fehlerdetail zugeordnet ist
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Kontext zur Fehlerbedingung
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: >-
            Der Name des Felds oder Parameters, in dem der Fehler gefunden
            wurde.
        message:
          type: string
          description: >-
            Eine für Menschen lesbare Nachricht mit einer Beschreibung des
            Fehlers und ggf. Abhilfemaßnahmen
        subCategory:
          type: string
          description: Eine spezifische Kategorie, die genauere Details zum Fehler enthält
    ExternalUserProfile:
      required:
        - email
      type: object
      properties:
        email:
          type: string
          description: Die E-Mail-Adresse des Benutzers.
        firstName:
          type: string
          description: Der Vorname des Benutzers.
        fullName:
          type: string
          description: Der vollständige Name des Benutzers.
        lastName:
          type: string
          description: Der Nachname des Benutzers.
    ExternalOption:
      required:
        - description
        - displayOrder
        - doubleData
        - hidden
        - label
        - readOnly
        - value
      type: object
      properties:
        description:
          type: string
          description: Eine kurze Beschreibung der Option.
        displayOrder:
          type: integer
          description: Die Reihenfolge, in der die Option angezeigt wird.
          format: int32
        doubleData:
          type: number
          description: Veraltete Eigenschaft. Ist immer 0.
        hidden:
          type: boolean
          description: Ob die Option für den Benutzer ausgeblendet werden soll.
        label:
          type: string
          description: Das Textlabel für die Option.
        readOnly:
          type: boolean
          description: Ob die Option schreibgeschützt ist.
        value:
          type: string
          description: Der Wert, der der Option zugeordnet ist.
    ExternalCommunicationConsentCheckbox:
      required:
        - communicationTypeId
        - label
        - required
      type: object
      properties:
        communicationTypeId:
          type: string
          description: Die ID für das Kommunikationseinwilligungsformular zur Aufzeichnung.
        label:
          type: string
          description: Das Textlabel, das die erteilte Einwilligung beschreibt.
        required:
          type: boolean
          description: Ob das Kontrollkästchen für die Einwilligung erforderlich ist.
    ExternalMeetingAvailability:
      required:
        - endMillisUtc
        - startMillisUtc
      type: object
      properties:
        endMillisUtc:
          type: integer
          description: >-
            Die Endzeit der Meetingverfügbarkeit, dargestellt als Unix-Zeit in
            Millisekunden.
          format: int64
        startMillisUtc:
          type: integer
          description: >-
            Die Startzeit der Meetingverfügbarkeit, dargestellt als Unix-Zeit in
            Millisekunden.
          format: int64
  responses:
    Error:
      description: An error occurred.
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://app.hubspot.com/oauth/authorize
          tokenUrl: https://api.hubapi.com/oauth/v1/token
          scopes:
            crm.objects.contacts.sensitive.write.v2: ''
            meetings-write: ''
            scheduler.meetings.meeting-link.read: ''

````