---
title: "Book a meeting"
method: POST
path: "/scheduler/v3/meetings/meeting-links/book"
tags: ["Advanced"]
deprecated: true
---

# Book a meeting

`POST /scheduler/v3/meetings/meeting-links/book`

## Request

- Base URL: `https://api.hubapi.com`
- URL: `https://api.hubapi.com/scheduler/v3/meetings/meeting-links/book`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.contacts.highly_sensitive.write.v2`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.tickets.write`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.commercepayments.write`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.goals.write`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.line_items.write`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.contacts.write`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.products.write`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.projects.write`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.contacts.sensitive.write.v2`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.projects.sensitive.write`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.services.write`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.deals.sensitive.write.v2`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `tickets.highly_sensitive.v2`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.listings.write`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.appointments.sensitive.write.v2`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.companies.write`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.courses.write`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.appointments.write`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `tickets.sensitive.v2`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.deals.write`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.projects.highly_sensitive.write`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.companies.sensitive.write.v2`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.companies.highly_sensitive.write.v2`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.deals.highly_sensitive.write.v2`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.meetings.write`
  - OAuth 2
    - Authorization code: `https://app.hubspot.com/oauth/authorize`
    - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.schemas.meetings.write`

> **Deprecated.**

Book a meeting for a specified meeting page.

## Request body

- ExternalMeetingBooking
  - `duration` integer, required: The duration of the meeting in milliseconds.
  - `email` string, required: The email address of the person booking the meeting.
  - `firstName` string, required: The first name of the person booking the meeting.
  - `formFields` ExternalBookingFormField[], required
    - `name` string, required: The name of the form field.
    - `value` string, required: The value associated with the form field.
  - `lastName` string, required: The last name of the person booking the meeting.
  - `legalConsentResponses` ExternalLegalConsentResponse[], required
    - `communicationTypeId` string, required: The ID of communication consent form being recorded.
    - `consented` boolean, required: Whether the user has given consent for the specified communication type.
  - `likelyAvailableUserIds` string[], required
  - `locale` string: The locale used for formatting dates and times in the meeting booking.
  - `slug` string, required: The unique path identifier for the meeting page.
  - `startTime` string, date-time, required: The date and time when the meeting is scheduled to start, in ISO 8601 format.
  - `timezone` string: The timezone in which the meeting is scheduled.

## Response `200`

successful operation

- ExternalMeetingBookingResponse
  - `bookingTimezone` string, required: The timezone the meeting was booked from.
  - `calendarEventId` string, required: The unique identifier for the meeting's calendar event.
  - `contactId` string, required: The ID of the contact associated to the meeting.
  - `duration` integer, required: The duration of the meeting in milliseconds.
  - `end` string, date-time, required: The date and time when the meeting is scheduled to end, in ISO 8601 format.
  - `formFields` ExternalValidatedFormField[], required
    - `fieldType` string: The specific input type of the form field. Corresponds to property types (e.g., `select`, `radio`, `date`, etc).
    - `isCustom` boolean, required: Whether the form field is a custom field.
    - `label` string, required: The text label associated with the form field.
    - `name` string, required: The name identifier for the form field, includes underscores in place of spaces (e.g., the label `my form` is converted to `my_form`).
    - `translatedLabel` string: The translated text label for the form field.
    - `value` string, required: The value associated with the form field.
    - `valueLabel` string: The text label associated to a form field selection or option.
  - `guestEmails` string[], required
  - `isOffline` boolean, required: Whether the meeting was booked offline and no associated calendar event was created.
  - `legalConsentResponses` ExternalLegalConsentResponse[], required
    - `communicationTypeId` string, required: The ID of communication consent form being recorded.
    - `consented` boolean, required: Whether the user has given consent for the specified communication type.
  - `locale` string: The locale the meeting was booked with, used to determine date formatting in calendar event description.
  - `location` string: The physical or virtual location where the meeting will take place.
  - `start` string, date-time, required: The date and time when the meeting is scheduled to start, in ISO 8601 format.
  - `subject` string, required: The title of the meeting and calendar event.
  - `webConferenceMeetingId` string: The unique identifier for the web conference meeting.
  - `webConferenceUrl` string: The URL for accessing the meeting's web conference.

## Other responses

- `default`: An error occurred.

## Changes

- **2026-11-02** (v3) `93e16a7a6b04`: 2 info
  - the security scope `crm.objects.contacts.highly_sensitive.write.v2` was added to the endpoint's security scheme `oauth2`
  - the security scope `crm.schemas.meetings.write` was removed from the endpoint's security scheme `oauth2`
- **2026-10-14** (v3) `a50a2ed36bd6`: 2 info
  - the security scope `crm.objects.contacts.highly_sensitive.write.v2` was added to the endpoint's security scheme `oauth2`
  - the security scope `crm.schemas.meetings.write` was removed from the endpoint's security scheme `oauth2`
- **2026-09-21** (v3) `0339d215b1df`: 3 info
  - the security scope `crm.objects.contacts.highly_sensitive.write.v2` was added to the endpoint's security scheme `oauth2`
  - the security scope `crm.schemas.meetings.write` was removed from the endpoint's security scheme `oauth2`
  - endpoint deprecated
- **2026-09-16** (v3) `542083df021a`: 2 info
  - the security scope `crm.objects.contacts.highly_sensitive.write.v2` was added to the endpoint's security scheme `oauth2`
  - the security scope `crm.schemas.meetings.write` was removed from the endpoint's security scheme `oauth2`
- **2026-09-09** (v3) `7d06016ba7b1`: 2 info
  - the security scope `crm.objects.contacts.highly_sensitive.write.v2` was added to the endpoint's security scheme `oauth2`
  - the security scope `crm.schemas.meetings.write` was removed from the endpoint's security scheme `oauth2`

[Operation history](https://skmtc.dev/hubspot/apis/scheduler-meetings/changes/scheduler/v3/meetings/meeting-links/book/post.md)

---

[API](https://skmtc.dev/hubspot/apis/scheduler-meetings.md) - [All operations](https://skmtc.dev/hubspot/apis/scheduler-meetings/llms.txt) - [OpenAPI document](https://skmtc.dev/hubspot/apis/scheduler-meetings/revisions/93e16a7a6b04?raw)
