Skip to content

HubSpot: Retrieve availability

HubSpot scheduler.meetingsGetAvailability: arguments, response, policy and SDK examples.

← Scheduler operations · Get started

Operation hubspot.scheduler_meetings_get_availability

Provider route: GET /scheduler/2026-09/meetings/meeting-links/book/availability-page/{slug}. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/hubspot with npm, or alter-sdk-hubspot with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { HubSpotIntegration } from "@alter-ai/hubspot";
async function execute(input: Parameters<HubSpotIntegration["scheduler"]["meetingsGetAvailability"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new HubSpotIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.scheduler.meetingsGetAvailability(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_hubspot import HubSpotIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = HubSpotIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.scheduler.meetings_get_availability(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.slugstringRequired within parent
queryobjectRequired within parentAdditional keys: not allowed
query.timezonestringRequired within parent
query.monthOffsetintegerOptionalFormat: int32

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Retrieve availability — response body

Referenced models: Retrieve availability — response body

Retrieve availability — response body
FieldTypePresenceDescription and constraints
$objectRoot
allUsersBusyTimesarrayRequired within parentAn array of objects representing the busy times for all users associated with the meeting link. Each object includes the user's busy time ranges.
allUsersBusyTimes[]ModelEach itemExpand Retrieve availability — response body — all Users Busy Times item
linkAvailabilityModelOptionalExpand Retrieve availability — response body — link Availability

Referenced models: Retrieve availability — response body — link Availability, Retrieve availability — response body — all Users Busy Times item

Retrieve availability — response body — link Availability
FieldTypePresenceDescription and constraints
$objectRoot
hasMorebooleanRequired within parentA boolean indicating whether there are more available meeting times beyond those currently provided.
linkAvailabilityByDurationobjectRequired within parentAn object where each key is a duration and the value is an availability object for that duration. This provides detailed availability information for each specified meeting duration.
Additional keys: see wildcard field
linkAvailabilityByDuration.*ModelAdditional keysExpand Retrieve availability — response body — link Availability link Availability By Duration value

Referenced models: Retrieve availability — response body — link Availability link Availability By Duration value

Retrieve availability — response body — all Users Busy Times item
FieldTypePresenceDescription and constraints
$objectRoot
busyTimesarrayRequired within parentAn array of time ranges during which the user is busy. Each time range is represented by an object with start and end times.
busyTimes[]ModelEach itemExpand Retrieve availability — response body — all Users Busy Times item busy Times item
isOfflinebooleanRequired within parentA boolean indicating whether the user is currently offline.
meetingsUserModelRequired within parentExpand Retrieve availability — response body — all Users Busy Times item meetings User

Referenced models: Retrieve availability — response body — all Users Busy Times item meetings User, Retrieve availability — response body — all Users Busy Times item busy Times item

Retrieve availability — response body — link Availability link Availability By Duration value
FieldTypePresenceDescription and constraints
$objectRoot
availabilitiesarrayRequired within parentAn array of available time slots for the specified meeting duration. Each item in the array is an object representing a time slot's start and end times.
availabilities[]ModelEach itemExpand Retrieve availability — response body — link Availability link Availability By Duration value availabilities item
meetingDurationMillisJSONRequired within parent
meetingDurationMillis (anyOf 1)integerAlternativeThe duration of the meeting in milliseconds. This is an integer value representing the length of the meeting.
Format: int64
meetingDurationMillis (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$

Referenced models: Retrieve availability — response body — link Availability link Availability By Duration value availabilities item

Retrieve availability — response body — all Users Busy Times item meetings User
FieldTypePresenceDescription and constraints
$objectRoot
calendarProviderstringRequired within parentThe calendar service provider used by the user. Valid values include 'GOOGLE', 'OFFICE365', 'EXCHANGE', and 'UNKNOWN'.
Known values: EXCHANGE, GOOGLE, OFFICE365, UNKNOWN
idstringRequired within parentThe unique identifier for the meetings user.
isSalesStarterbooleanRequired within parentA boolean indicating whether the user is a sales starter.
userIdstringRequired within parentThe unique identifier for the user associated with the meetings service.
userProfileModelRequired within parentExpand Retrieve availability — response body — all Users Busy Times item meetings User user Profile

Referenced models: Retrieve availability — response body — all Users Busy Times item meetings User user Profile

Retrieve availability — response body — all Users Busy Times item busy Times item
FieldTypePresenceDescription and constraints
$objectRoot
endJSONRequired within parent
end (anyOf 1)integerAlternativeThe end of the time range, represented as an integer in int64 format.
Format: int64
end (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
startJSONRequired within parent
start (anyOf 1)integerAlternativeThe start of the time range, represented as an integer in int64 format.
Format: int64
start (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
Retrieve availability — response body — link Availability link Availability By Duration value availabilities item
FieldTypePresenceDescription and constraints
$objectRoot
endMillisUtcJSONRequired within parent
endMillisUtc (anyOf 1)integerAlternativeThe end time of the meeting availability, represented as a Unix timestamp in milliseconds.
Format: int64
endMillisUtc (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
startMillisUtcJSONRequired within parent
startMillisUtc (anyOf 1)integerAlternativeThe start time of the meeting availability, represented as a Unix timestamp in milliseconds.
Format: int64
startMillisUtc (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
Retrieve availability — response body — all Users Busy Times item meetings User user Profile
FieldTypePresenceDescription and constraints
$objectRoot
emailstringRequired within parentThe email address of the user. This is a required string property.
firstNamestringOptionalThe first name of the user. It is a string.
fullNamestringOptionalThe full name of the user, combining first and last names. It is a string.
lastNamestringOptionalThe last name of the user. It is a string.

SDK function policy ID: hubspot.scheduler_meetings_get_availability. Catalog operation: scheduler_meetings_get_availability. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Required provider scopes: ["scheduler.meetings.meeting-link.read"]

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.