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

# Book a meeting

> Réserver une réunion pour une page de réunion spécifiée.

> **Supported products**

> **Required Scopes**


## OpenAPI

````yaml specs/legacy/v3/scheduler-meetings-v3.json POST /scheduler/v3/meetings/meeting-links/book
openapi: 3.0.1
info:
  title: Scheduler Meetings
  description: Meetings Service For HubSpot Sales
  version: v3
  x-hubspot-product-tier-requirements:
    marketing: FREE
    sales: FREE
    service: FREE
    cms: FREE
    commerce: FREE
    crmHub: FREE
    dataHub: FREE
  x-hubspot-related-documentation:
    - name: Meetings guide
      url: >-
        https://developers.hubspot.com/docs/reference/api/crm/engagements/meetings
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Advanced
  - name: Basic
paths:
  /scheduler/v3/meetings/meeting-links/book:
    post:
      tags:
        - Advanced
      summary: |
        Réserver une réunion
      description: Réserver une réunion pour une page de réunion spécifiée.
      operationId: post-/scheduler/v3/meetings/meeting-links/book
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalMeetingBooking'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalMeetingBookingResponse'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      deprecated: true
      security:
        - oauth2:
            - crm.objects.contacts.highly_sensitive.write.v2
        - oauth2:
            - crm.objects.commercepayments.write
        - oauth2:
            - crm.objects.goals.write
        - oauth2:
            - crm.objects.line_items.write
        - oauth2:
            - crm.objects.contacts.write
        - oauth2:
            - crm.objects.products.write
        - oauth2:
            - crm.objects.projects.write
        - oauth2:
            - crm.objects.projects.sensitive.write
        - oauth2:
            - crm.objects.contacts.sensitive.write.v2
        - oauth2:
            - crm.objects.services.write
        - oauth2:
            - crm.objects.deals.sensitive.write.v2
        - oauth2:
            - tickets.highly_sensitive.v2
        - oauth2:
            - crm.objects.listings.write
        - oauth2:
            - crm.objects.appointments.sensitive.write.v2
        - oauth2:
            - crm.objects.companies.write
        - oauth2:
            - crm.objects.courses.write
        - oauth2:
            - crm.objects.appointments.write
        - oauth2:
            - tickets.sensitive.v2
        - oauth2:
            - crm.objects.deals.write
        - oauth2:
            - crm.objects.projects.highly_sensitive.write
        - oauth2:
            - crm.objects.companies.sensitive.write.v2
        - oauth2:
            - crm.objects.companies.highly_sensitive.write.v2
        - oauth2:
            - crm.objects.deals.highly_sensitive.write.v2
        - oauth2:
            - crm.schemas.meetings.write
components:
  schemas:
    ExternalMeetingBooking:
      required:
        - duration
        - email
        - firstName
        - formFields
        - lastName
        - legalConsentResponses
        - likelyAvailableUserIds
        - slug
        - startTime
      type: object
      properties:
        duration:
          type: integer
          description: La durée de la réunion en millisecondes.
          format: int64
        email:
          type: string
          description: L'adresse e-mail de la personne qui réserve la réunion.
        firstName:
          type: string
          description: Le prénom de la personne qui réserve la réunion.
        formFields:
          type: array
          items:
            $ref: '#/components/schemas/ExternalBookingFormField'
        lastName:
          type: string
          description: Le nom de famille de la personne qui réserve la réunion.
        legalConsentResponses:
          type: array
          items:
            $ref: '#/components/schemas/ExternalLegalConsentResponse'
        likelyAvailableUserIds:
          type: array
          items:
            type: string
        locale:
          type: string
          description: >-
            Les paramètres régionaux utilisés pour le formatage des dates et des
            heures dans la réservation de réunion.
        slug:
          type: string
          description: L'identifiant de chemin unique pour la page de réunion.
        startTime:
          type: string
          description: "La date et l'heure prévues pour le début de la réunion, au format ISO\_8601."
          format: date-time
        timezone:
          type: string
          description: Le fuseau horaire dans lequel la réunion est prévue.
    ExternalMeetingBookingResponse:
      required:
        - bookingTimezone
        - calendarEventId
        - contactId
        - duration
        - end
        - formFields
        - guestEmails
        - isOffline
        - legalConsentResponses
        - start
        - subject
      type: object
      properties:
        bookingTimezone:
          type: string
          description: Le fuseau horaire à partir duquel la réunion a été réservée.
        calendarEventId:
          type: string
          description: L'identifiant unique de l'événement du calendrier de la réunion.
        contactId:
          type: string
          description: L'ID du contact associé à la réunion.
        duration:
          type: integer
          description: La durée de la réunion en millisecondes.
          format: int64
        end:
          type: string
          description: "La date et l'heure prévues pour la fin de la réunion, au format ISO\_8601."
          format: date-time
        formFields:
          type: array
          items:
            $ref: '#/components/schemas/ExternalValidatedFormField'
        guestEmails:
          type: array
          items:
            type: string
        isOffline:
          type: boolean
          description: >-
            Si la réunion a été réservée hors ligne et si aucun événement
            associé n'a été créé dans le calendrier.
        legalConsentResponses:
          type: array
          items:
            $ref: '#/components/schemas/ExternalLegalConsentResponse'
        locale:
          type: string
          description: >-
            Le paramètre régional utilisé pour réserver la réunion, qui sert à
            déterminer le format de la date dans la description de l'événement
            du calendrier.
        location:
          type: string
          description: Le lieu physique ou virtuel où se tiendra la réunion.
        start:
          type: string
          description: "La date et l'heure prévues pour le début de la réunion, au format ISO\_8601."
          format: date-time
        subject:
          type: string
          description: Le titre de la réunion et de l'événement du calendrier.
        webConferenceMeetingId:
          type: string
          description: L'identifiant unique de la réunion de conférence Web.
        webConferenceUrl:
          type: string
          description: L'URL pour accéder à la conférence Web de la réunion.
    ExternalBookingFormField:
      required:
        - name
        - value
      type: object
      properties:
        name:
          type: string
          description: Le nom du champ du formulaire.
        value:
          type: string
          description: La valeur associée au champ de formulaire.
    ExternalLegalConsentResponse:
      required:
        - communicationTypeId
        - consented
      type: object
      properties:
        communicationTypeId:
          type: string
          description: >-
            L'identifiant du formulaire de consentement à la communication
            enregistré.
        consented:
          type: boolean
          description: >-
            Si l'utilisateur a donné son consentement pour le type de
            communication spécifié.
    ExternalValidatedFormField:
      required:
        - isCustom
        - label
        - name
        - value
      type: object
      properties:
        fieldType:
          type: string
          description: >-
            Le type d'entrée spécifique du champ du formulaire. Il correspond
            aux types de propriétés (par exemple, `select`, `radio`, `date`,
            etc.).
        isCustom:
          type: boolean
          description: Si le champ du formulaire est un champ personnalisé.
        label:
          type: string
          description: Le libellé associé au champ du formulaire.
        name:
          type: string
          description: >-
            L'identifiant du nom du champ du formulaire comprend des traits de
            soulignement à la place des espaces (par exemple, le libellé `my
            form` est converti en `my_form`).
        translatedLabel:
          type: string
          description: Le libellé traduit du champ du formulaire.
        value:
          type: string
          description: La valeur associée au champ de formulaire.
        valueLabel:
          type: string
          description: >-
            Le libellé associé à une sélection ou une option dans un champ de
            formulaire.
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: La catégorie d'erreur
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Contexte concernant la condition d'erreur
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            Un identifiant unique pour la demande. Incluez cette valeur dans
            tous les rapports d'erreurs ou tickets d'assistance
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: informations supplémentaires à propos de l'erreur
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Une carte des noms de liens vers les URI associés contenant de la
            documentation sur l'erreur ou les mesures correctives recommandées
        message:
          type: string
          description: >-
            Un message lisible par la personne décrivant l'erreur ainsi que les
            mesures correctives possibles, le cas échéant
          example: An error occurred
        subCategory:
          type: string
          description: >-
            Une catégorie spécifique qui contient des détails plus précis sur
            l'erreur
      description: >-
        Représente une réponse d'erreur renvoyée par l'API lorsqu'une opération
        échoue. Ce composant est utilisé dans divers points de terminaison pour
        fournir des informations détaillées sur l'erreur rencontrée.
      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
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: Le code du statut associé au détail de l'erreur
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Contexte concernant la condition d'erreur
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: Le nom du champ ou du paramètre dans lequel l'erreur a été trouvée.
        message:
          type: string
          description: >-
            Un message lisible par la personne décrivant l'erreur ainsi que les
            mesures correctives possibles, le cas échéant
        subCategory:
          type: string
          description: >-
            Une catégorie spécifique qui contient des détails plus précis sur
            l'erreur
      description: >-
        Représente des informations détaillées sur une erreur survenue dans
        l'API. Ce composant est utilisé pour fournir un contexte et des
        spécificités supplémentaires sur les erreurs, généralement dans le cadre
        d'une réponse d'erreur.
  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.appointments.sensitive.write.v2: ''
            crm.objects.appointments.write: ''
            crm.objects.commercepayments.write: ''
            crm.objects.companies.highly_sensitive.write.v2: ''
            crm.objects.companies.sensitive.write.v2: ''
            crm.objects.companies.write: ''
            crm.objects.contacts.highly_sensitive.write.v2: ''
            crm.objects.contacts.sensitive.write.v2: ''
            crm.objects.contacts.write: ''
            crm.objects.courses.write: ''
            crm.objects.deals.highly_sensitive.write.v2: ''
            crm.objects.deals.sensitive.write.v2: ''
            crm.objects.deals.write: ''
            crm.objects.goals.write: ''
            crm.objects.line_items.write: ''
            crm.objects.listings.write: ''
            crm.objects.products.write: ''
            crm.objects.projects.highly_sensitive.write: ''
            crm.objects.projects.sensitive.write: ''
            crm.objects.projects.write: ''
            crm.objects.services.write: ''
            crm.schemas.meetings.write: ''
            scheduler.meetings.meeting-link.read: ''
            tickets.highly_sensitive.v2: ''
            tickets.sensitive.v2: ''

````