If you’re looking to manage meeting activities on CRM record pages, check out the meetings activity API instead.
- Get a list of meeting links.
- Get booking information for a meeting link.
- Get the next availability page for a meeting link.
- UTM, HubSpot UTK, and content tracking.
- Reschedule through this API.
- Send in CAPTCHA tokens.
- Create meetings with payment links.
- Send in an IP address.
Retrieve meeting scheduling pages
To retrieve all meetings scheduling pages, make aGET request to /scheduler/2026-09/meetings/meeting-links. Use the amount of meeting links you want returned as the limit in the request URL and use your user ID, name, and type as a query parameter.
You can filter the request using the following query parameters: limit, type, name, and organizerUserId.
The response will resemble the following:
Retrieve booking information
To view a meeting link’s booking and availability details, make aGET request to /scheduler/2026-09/meetings/meeting-links/book/{slug}?timezone={timeZone} and provide the following in your request:
slug(path parameter): the meeting link’s slug. If it contains a forward slash, URL-encode it as%2F. For example,troymcclure/my_meetingbecomestroymcclure%2Fmy_meeting.timezone(query parameter): the visitor’s time zone (e.g.,America/New_York).
https://meetings.hubspot.com/jdoe, to get booking information in the New York time zone, you’d make a GET request to /scheduler/2026-09/meetings/meeting-links/book/jdoe?timezone=America/New_York.
The response would resemble the following:
Retrieve availability
To get the next availability page for a meeting, make aGET request to /scheduler/2026-09/meetings/meeting-links/book/availability-page/{slug}?timezone={timezone} and provide the following in your request:
slug(path parameter): the meeting link’s slug. If it contains a forward slash, URL-encode it as%2F(e.g.,troymcclure/my_meetingbecomestroymcclure%2Fmy_meeting).timezone(required query parameter): the visitor’s time zone (e.g.,America/New_York).- By default, the response will only include results from the current month. To get availability information for a future month, include the
monthOffsetquery parameter to specify the number of months forward from the current month (e.g.,monthOffset=2would get availability two months from the current date).
/scheduler/2026-09/meetings/meeting-links/book/troymcclure%2Fbookme2026?timezone=America/New_York
The response will resemble the following:
Book a meeting
To book a meeting using a meeting link, make aPOST request to /scheduler/2026-09/meetings/meeting-links/book.
The following request body fields are required:
slug: the slug of the meeting link to book.firstName: the first name of the person booking the meeting.lastName: the last name of the person booking the meeting.email: the email address of the person booking the meeting.startTime: the requested start time of the meeting, as a Unix timestamp in milliseconds.duration: the duration of the meeting in milliseconds.
POST request to /scheduler/2026-09/meetings/meeting-links/book with the following request body:
Offline bookings
If the server was not able to access the user’s calendar availability, either because the user did not have a calendar connected or because the calendar provider could not be reached, a meeting will be booked “offline”. That means that no calendar event will be created, and the user will instead be sent a notification informing them of the time that a lead attempted to book a meeting with them. In the case of an offline booking,isOffline will be set to true in the response body. The calendarEventId field will be set to "", indicating that no event ID was generated.
Retrieve user calendar and meetings connection statuses
To view which HubSpot account users have connected their calendars, enabled calendar sync, and have scheduling pages turned on, use the Users API to retrieve users with the following properties:
For example, to check if a user has connected their calendar and turned on both calendar sync and meeting scheduling, make a
GET request to /crm/objects/2026-09/users?properties=hs_calendar_connection_status,hs_calendar_sync_enabled,hs_meetings_enabled.