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

# Retrieve meeting link slug

> ミーティング日程調整に必要な情報に関する詳細を取得します。

export const ScopesList = ({scopes = [], description = "この API には、次のいずれかのスコープが必要です。"}) => {
  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: "サポートされる製品",
    description: "次のいずれかの製品またはそれ以上が必要です。",
    productNames: {
      marketing: "Marketing Hub",
      sales: "Sales Hub",
      service: "Service Hub",
      cms: "Content Hub"
    },
    tiers: {
      free: "無料ツール",
      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: 予約情報のリスト
      description: ミーティング日程調整に必要な情報に関する詳細を取得します。
      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: ミーティングがオフラインで予約されたかどうか。つまり、関連付けられたカレンダーイベントが作成されていないかどうか。
        linkAvailability:
          $ref: '#/components/schemas/ExternalLinkAvailability'
        linkId:
          type: string
          description: ミーティングリンクの固有ID。
        linkType:
          type: string
          description: >-
            ミーティングリンクのタイプ。受け入れられる値：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: ユーザーがオフラインかどうか。
        meetingsUser:
          $ref: '#/components/schemas/ExternalMeetingsUser'
    ExternalBrandingMetadata:
      required:
        - logoAltText
        - showMarketingAd
        - showSalesAd
      type: object
      properties:
        accent2Color:
          type: string
          description: ブランディングに使用する第2アクセントカラー。
        accentColor:
          type: string
          description: ブランディングに使用する基本アクセントカラー。
        companyAddressLine1:
          type: string
          description: 会社の住所の1行目。
        companyAddressLine2:
          type: string
          description: 会社の住所の2行目。
        companyAvatar:
          type: string
          description: 会社のアバター画像のURL。
        companyCity:
          type: string
          description: 会社が所在する市区町村。
        companyCountry:
          type: string
          description: 会社が所在する国。
        companyDomain:
          type: string
          description: 会社のウェブサイトのドメイン。
        companyName:
          type: string
          description: 会社の名前。
        companyState:
          type: string
          description: 会社が所在する都道府県。
        companyZip:
          type: string
          description: 会社の所在地の郵便番号。
        logoAltText:
          type: string
          description: 現在のロゴの代替テキスト。
        logoHeight:
          type: integer
          description: ロゴの高さ（ピクセル）。
          format: int32
        logoUrl:
          type: string
          description: カスタムロゴ画像のURL。
        logoWidth:
          type: integer
          description: ロゴの幅（ピクセル）。
          format: int32
        primaryColor:
          type: string
          description: ブランディングに使用するメインカラー。
        secondaryColor:
          type: string
          description: ブランディングに使用するサブカラー。
        showMarketingAd:
          type: boolean
          description: Marketing Hubの広告が表示されるかどうか。
        showSalesAd:
          type: boolean
          description: Sales Hubの広告が表示されるかどうか。
    ExternalMeetingsLinkSettings:
      required:
        - availability
        - durations
        - formFields
        - legalConsentEnabled
        - meetingBufferTime
        - ownerPrioritized
        - startTimeIncrementMinutes
        - weeksToAdvertise
      type: object
      properties:
        availability:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ExternalClosedRange'
          description: >-
            ミーティングリンクの閉値域の空き状況が含まれる配列。閉値域の時刻は午前0時からの分オフセットとして指定されます（例：540は午前9時に相当）。
        customAvailabilityEndDate:
          type: integer
          description: UNIX時間（ミリ秒）で表されるミーティングリンクのカスタム稼働時間の終了日。
          format: int64
        customAvailabilityStartDate:
          type: integer
          description: UNIX時間（ミリ秒）で表されるミーティングリンクのカスタム稼働時間の開始日。
          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: ミーティングリンクに使用される言語設定。
        legalConsentEnabled:
          type: boolean
          description: ミーティング予約時に法的同意チェックボックスが表示されるかどうか。
        legalConsentOptions:
          $ref: '#/components/schemas/ExternalLegalConsentOptions'
        locale:
          type: string
          description: ミーティングリンクで日時の書式設定に使用されるロケール設定。
        location:
          type: string
          description: ミーティングが行われる場所の住所またはオンラインの場所。
        meetingBufferTime:
          type: integer
          description: 連続するミーティング間の最小猶予期間（ミリ秒）。
          format: int64
        ownerPrioritized:
          type: boolean
          description: 予約時にミーティング担当者が優先されるかどうかを示します。ROUND_ROBINのリンクタイプのみに適用されます。
        redirectUrl:
          type: string
          description: ミーティング予約後のリダイレクト先URL。
        startTimeIncrementMinutes:
          type: string
          description: >-
            単語で表記されるミーティングを予約可能な開始時間の増分（例：15分の増分は「FIFTEEN」となります）。「MEETING_DURATION」も有効な値です。
          enum:
            - FIFTEEN
            - FIVE
            - FORTY_FIVE
            - MEETING_DURATION
            - NINETY
            - ONE_HUNDRED_TWENTY
            - SIXTY
            - TEN
            - THIRTY
            - TWENTY
        weeksToAdvertise:
          type: integer
          description: 空き状況を前もって知らせる週数を示す旧プロパティー。古くなっているか、他のプロパティーが優先される場合があります。
          format: int32
        welcomeScreenInfo:
          $ref: '#/components/schemas/ExternalMeetingsWelcomeScreenInfo'
    ExternalLinkAvailability:
      required:
        - hasMore
        - linkAvailabilityByDuration
      type: object
      properties:
        hasMore:
          type: boolean
          description: 返されたセット以外に予約可能なミーティング時間があるかどうか。
        linkAvailabilityByDuration:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ExternalLinkAvailabilityForDuration'
          description: ミーティングを予約可能な時間枠（所要時間でグループ化）。
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: エラーカテゴリー
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: エラー条件に関する背景状況
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: リクエストの固有ID。エラー報告またはサポートチケットには必ずこの値を含めてください
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: エラーに関する詳細情報
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: エラーまたは推奨の修正手順に関するドキュメントが含まれる関連付けられたURIへのリンク名の対応付け
        message:
          type: string
          description: エラーと修正手順（該当する場合）を記した、人が理解できるメッセージ
          example: An error occurred
        subCategory:
          type: string
          description: エラーに関する具体的な詳細が含まれる特定のカテゴリー
      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: UNIX時間（ミリ秒）で表される時間範囲の終了時刻。
          format: int64
        start:
          type: integer
          description: UNIX時間（ミリ秒）で表される時間範囲の開始時刻。
          format: int64
    ExternalMeetingsUser:
      required:
        - calendarProvider
        - id
        - isSalesStarter
        - userId
        - userProfile
      type: object
      properties:
        calendarProvider:
          type: string
          description: ユーザーと関連付けられたカレンダーサービス事業者。受け入れられる値：GOOGLE、OFFICE365、EXCHANGE、UNKNOWN。
          enum:
            - EXCHANGE
            - GOOGLE
            - OFFICE365
            - UNKNOWN
        id:
          type: string
          description: ミーティングユーザーのID。この値はuserIdとは異なります。
        isSalesStarter:
          type: boolean
          description: ユーザーにSales Starterシートが割り当てられているかどうか。
        userId:
          type: string
          description: ユーザーのID。
        userProfile:
          $ref: '#/components/schemas/ExternalUserProfile'
    ExternalClosedRange:
      required:
        - end
        - start
      type: object
      properties:
        end:
          type: integer
          description: 整数で表される閉値域の終了値。
          format: int64
        start:
          type: integer
          description: 整数で表される閉値域の開始値。
          format: int64
    ExternalLinkDisplayInfo:
      type: object
      properties:
        avatar:
          type: string
          description: ユーザーのアップロード済みカスタムアバター画像のURL。
        companyAvatar:
          type: string
          description: 会社のアバター画像のURL。
        headline:
          type: string
          description: リンク表示情報に影響しない非推奨のフィールド。
        publicDisplayAvatarOption:
          type: string
          description: >-
            スケジュール設定ページに表示するアバターを決定するオプション。受け入れられる値：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: フォームフィールドの特定のフィールドタイプ。プロパティータイプに対応します（例：「select」、「radio」、「date」など）
        isCustom:
          type: boolean
          description: フォームフィールドがカスタムフィールドかどうか。
        isRequired:
          type: boolean
          description: フォームフィールドが必須かどうか。
        label:
          type: string
          description: フォームフィールドのテキストラベル。
        name:
          type: string
          description: フォームフィールドの名前ID。
        options:
          type: array
          items:
            $ref: '#/components/schemas/ExternalOption'
        type:
          type: string
          description: フォームフィールドが受け入れるデータタイプ（例：「date」、「enumeration」など）
    ExternalGuestSettings:
      required:
        - canAddGuests
        - maxGuestCount
      type: object
      properties:
        canAddGuests:
          type: boolean
          description: ゲストをミーティングに追加できるかどうかを示します。
        maxGuestCount:
          type: integer
          description: ミーティングに追加できるゲストの最大数。
          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: コミュニケーションへの同意設定について説明するテキスト。
        isLegitimateInterest:
          type: boolean
          description: 処理するための法的根拠が正当な利害関係であるかどうか。
        legitimateInterestLegalBasis:
          type: string
          description: >-
            正当な利害関係に従って処理するための法的根拠。受け入れられる値：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: データ処理プライバシーポリシーについて説明するテキスト。
        processingConsentCheckboxLabel:
          type: string
          description: データ処理への同意を得るために使用されるチェックボックスのラベル。
        processingConsentFooterText:
          type: string
          description: データ処理への同意が含まれるフッターテキスト。このフィールドはミーティングプラットフォームでは使用されず、常に空になります。
        processingConsentText:
          type: string
          description: 個人データの処理への同意について説明するテキスト。
        processingConsentType:
          type: string
          description: 処理に必要な同意のタイプ。受け入れられる値：IMPLICIT、REQUIRED_CHECKBOX。
          enum:
            - IMPLICIT
            - REQUIRED_CHECKBOX
    ExternalMeetingsWelcomeScreenInfo:
      type: object
      properties:
        description:
          type: string
          description: ようこそ画面でタイトルの下に表示される簡単な説明。
        logoUrl:
          type: string
          description: ようこそ画面に表示されるロゴ画像のURL。「useCompanyLogo」がfalseの場合のみ使用されます。
        showWelcomeScreen:
          type: boolean
          description: 非推奨のプロパティー。値は無視できますが、常にfalseになります。
        title:
          type: string
          description: ようこそ画面に表示されるメインの見出し。
        useCompanyLogo:
          type: boolean
          description: ようこそ画面に会社のロゴを表示するかどうか。
    ExternalLinkAvailabilityForDuration:
      required:
        - availabilities
        - meetingDurationMillis
      type: object
      properties:
        availabilities:
          type: array
          items:
            $ref: '#/components/schemas/ExternalMeetingAvailability'
        meetingDurationMillis:
          type: integer
          description: ミーティングの所要時間（ミリ秒）。
          format: int64
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: エラーの詳細に関連付けられているステータスコード
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: エラー条件に関する背景状況
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: エラーが見つかったフィールドまたはパラメーターの名前。
        message:
          type: string
          description: エラーと修正手順（該当する場合）を記した、人が理解できるメッセージ
        subCategory:
          type: string
          description: エラーに関する具体的な詳細が含まれる特定のカテゴリー
    ExternalUserProfile:
      required:
        - email
      type: object
      properties:
        email:
          type: string
          description: ユーザーのEメールアドレス。
        firstName:
          type: string
          description: ユーザーの名。
        fullName:
          type: string
          description: ユーザーの氏名。
        lastName:
          type: string
          description: ユーザーの姓。
    ExternalOption:
      required:
        - description
        - displayOrder
        - doubleData
        - hidden
        - label
        - readOnly
        - value
      type: object
      properties:
        description:
          type: string
          description: オプションの簡単な説明。
        displayOrder:
          type: integer
          description: オプションを表示する順序。
          format: int32
        doubleData:
          type: number
          description: 非推奨のプロパティー。常に0になります。
        hidden:
          type: boolean
          description: オプションをユーザーに対して非表示にするかどうか。
        label:
          type: string
          description: オプションのテキストラベル。
        readOnly:
          type: boolean
          description: オプションが読み取り専用かどうか。
        value:
          type: string
          description: オプションに関連付けられた値。
    ExternalCommunicationConsentCheckbox:
      required:
        - communicationTypeId
        - label
        - required
      type: object
      properties:
        communicationTypeId:
          type: string
          description: コミュニケーションのレコーディングへの同意フォームのID。
        label:
          type: string
          description: 得る同意について説明するテキストラベル。
        required:
          type: boolean
          description: 同意チェックボックスが必須かどうか。
    ExternalMeetingAvailability:
      required:
        - endMillisUtc
        - startMillisUtc
      type: object
      properties:
        endMillisUtc:
          type: integer
          description: UNIX時間（ミリ秒）で表されるミーティングの空き状況の終了時刻。
          format: int64
        startMillisUtc:
          type: integer
          description: UNIX時間（ミリ秒）で表されるミーティングの空き状況の開始時刻。
          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: ''

````