Calendly
Calendly is a scheduling automation platform that helps individuals, teams, and organizations automate the meeting lifecycle by removing the back-and-forth of scheduling. Their developer platform provides APIs for programmatically managing scheduling workflows, receiving real-time event notifications via webhooks, and embedding scheduling interfaces directly into third-party applications.
APIs
Calendly Scheduling API
The Calendly Scheduling API (v2) is a RESTful API that allows developers to programmatically manage scheduling workflows. It provides endpoints for managing users, organizations...
Calendly Webhook API
The Calendly Webhook API enables developers to receive real-time notifications when scheduling events occur in Calendly. By creating webhook subscriptions, applications can auto...
Calendly Embed API
The Calendly Embed API allows developers to integrate Calendly scheduling pages directly into their websites and applications. It supports inline embeds, popup widgets, and popu...
Collections
Pricing Plans
Rate Limits
FinOps
Calendly Finops
FINOPSEvent Specifications
Calendly Webhook Events
The Calendly Webhook API enables developers to receive real-time notifications when scheduling events occur in Calendly. By creating webhook subscriptions, applications can auto...
ASYNCAPISemantic Vocabularies
Resources
Sources
opencollection: 1.0.0
info:
name: Calendly Scheduling API
version: 2.0.0
request:
auth:
type: bearer
token: '{{bearerToken}}'
items:
- info:
name: Users
type: folder
items:
- info:
name: Get current user
type: http
http:
method: GET
url: https://api.calendly.com/users/me
docs: Returns information about the currently authenticated user, including their URI, name, email, scheduling URL, timezone,
and organization membership.
- info:
name: Get user
type: http
http:
method: GET
url: https://api.calendly.com/users/:uuid
params:
- name: uuid
value: ''
type: path
description: The UUID of the user.
docs: Returns information about a specific user by their UUID, including name, email, scheduling URL, timezone, and organization.
- info:
name: Event Types
type: folder
items:
- info:
name: List event types
type: http
http:
method: GET
url: https://api.calendly.com/event_types
params:
- name: user
value: ''
type: query
description: The URI of the user whose event types to list. Required if organization is not specified.
- name: organization
value: ''
type: query
description: The URI of the organization whose event types to list. Required if user is not specified.
- name: active
value: ''
type: query
description: Filter by active status. When true, only active event types are returned.
- name: sort
value: ''
type: query
description: Sort order for results. Use name:asc or name:desc.
- name: count
value: ''
type: query
description: The number of results to return per page.
- name: page_token
value: ''
type: query
description: A token for fetching the next page of results from a previous paginated response.
docs: Returns a paginated list of event types for the specified user or organization. Event types define the kinds of
meetings that can be scheduled, including their duration, location, and availability.
- info:
name: Get event type
type: http
http:
method: GET
url: https://api.calendly.com/event_types/:uuid
params:
- name: uuid
value: ''
type: path
description: The UUID of the event type.
docs: Returns detailed information about a specific event type by its UUID, including its name, duration, scheduling URL,
and configuration.
- info:
name: Create one-off event type
type: http
http:
method: POST
url: https://api.calendly.com/one_off_event_types
body:
type: json
data: '{}'
docs: Creates a single-use event type that can be used for a one-time scheduling session. One-off event types are not
listed on the users scheduling page.
- info:
name: Availability
type: folder
items:
- info:
name: List event type available times
type: http
http:
method: GET
url: https://api.calendly.com/event_type_available_times
params:
- name: event_type
value: ''
type: query
description: The URI of the event type to check availability for.
- name: start_time
value: ''
type: query
description: The start of the time range to check, in UTC format.
- name: end_time
value: ''
type: query
description: The end of the time range to check, in UTC format.
docs: Returns a list of available time slots for a specific event type within a given date range. This endpoint is used
to display bookable times to potential invitees.
- info:
name: List user busy times
type: http
http:
method: GET
url: https://api.calendly.com/user_busy_times
params:
- name: user
value: ''
type: query
description: The URI of the user whose busy times to retrieve.
- name: start_time
value: ''
type: query
description: The start of the time range to check, in UTC format.
- name: end_time
value: ''
type: query
description: The end of the time range to check, in UTC format.
docs: Returns a list of time periods during which a user is busy, based on their connected calendars. Useful for checking
a users availability before scheduling.
- info:
name: List user availability schedules
type: http
http:
method: GET
url: https://api.calendly.com/user_availability_schedules
params:
- name: user
value: ''
type: query
description: The URI of the user whose availability schedules to retrieve.
docs: Returns a list of availability schedules for a specific user. Availability schedules define the recurring time windows
when a user is available for meetings.
- info:
name: Get user availability schedule
type: http
http:
method: GET
url: https://api.calendly.com/user_availability_schedules/:uuid
params:
- name: uuid
value: ''
type: path
description: The UUID of the availability schedule.
docs: Returns a specific availability schedule by its UUID, including the timezone and rules that define available time
windows.
- info:
name: Scheduled Events
type: folder
items:
- info:
name: List scheduled events
type: http
http:
method: GET
url: https://api.calendly.com/scheduled_events
params:
- name: user
value: ''
type: query
description: The URI of the user whose scheduled events to list.
- name: organization
value: ''
type: query
description: The URI of the organization whose scheduled events to list.
- name: invitee_email
value: ''
type: query
description: Filter by invitee email address.
- name: status
value: ''
type: query
description: Filter by event status.
- name: min_start_time
value: ''
type: query
description: Only return events starting on or after this time, in UTC format.
- name: max_start_time
value: ''
type: query
description: Only return events starting before this time, in UTC format.
- name: sort
value: ''
type: query
description: Sort order for results. Use start_time:asc or start_time:desc.
- name: count
value: ''
type: query
description: The number of results to return per page.
- name: page_token
value: ''
type: query
description: A token for fetching the next page of results from a previous paginated response.
docs: Returns a paginated list of scheduled events for the specified user or organization. Scheduled events represent
booked meetings with start and end times, locations, and associated invitees.
- info:
name: Get scheduled event
type: http
http:
method: GET
url: https://api.calendly.com/scheduled_events/:uuid
params:
- name: uuid
value: ''
type: path
description: The UUID of the scheduled event.
docs: Returns detailed information about a specific scheduled event by its UUID, including start and end times, event
type, location, and cancellation details if applicable.
- info:
name: Cancel scheduled event
type: http
http:
method: POST
url: https://api.calendly.com/scheduled_events/:uuid/cancellation
params:
- name: uuid
value: ''
type: path
description: The UUID of the scheduled event.
body:
type: json
data: '{}'
docs: Cancels a scheduled event. Optionally include a reason for the cancellation. This will trigger invitee.canceled
webhook events for all subscribed endpoints.
- info:
name: Invitees
type: folder
items:
- info:
name: List event invitees
type: http
http:
method: GET
url: https://api.calendly.com/scheduled_events/:event_uuid/invitees
params:
- name: event_uuid
value: ''
type: path
description: The UUID of the scheduled event.
- name: status
value: ''
type: query
description: Filter by invitee status.
- name: sort
value: ''
type: query
description: Sort order for results. Use created_at:asc or created_at:desc.
- name: count
value: ''
type: query
description: The number of results to return per page.
- name: page_token
value: ''
type: query
description: A token for fetching the next page of results from a previous paginated response.
docs: Returns a paginated list of invitees for a specific scheduled event. Invitee data includes name, email, timezone,
and answers to custom questions from the booking page.
- info:
name: Get event invitee
type: http
http:
method: GET
url: https://api.calendly.com/scheduled_events/:event_uuid/invitees/:invitee_uuid
params:
- name: event_uuid
value: ''
type: path
description: The UUID of the scheduled event.
- name: invitee_uuid
value: ''
type: path
description: The UUID of the invitee.
docs: Returns detailed information about a specific invitee for a scheduled event, including their name, email, timezone,
and answers to custom questions on the event booking page.
- info:
name: Create event invitee
type: http
http:
method: POST
url: https://api.calendly.com/invitees
body:
type: json
data: '{}'
docs: Creates a new invitee for a scheduled event, effectively booking a meeting on behalf of the invitee. This is the
core endpoint of the Scheduling API, enabling programmatic event creation without redirects, iframes, or the Calendly-hosted
UI. Requires a paid Calendly plan.
- info:
name: Webhook Subscriptions
type: folder
items:
- info:
name: List webhook subscriptions
type: http
http:
method: GET
url: https://api.calendly.com/webhook_subscriptions
params:
- name: user
value: ''
type: query
description: The URI of the user whose webhook subscriptions to list.
- name: organization
value: ''
type: query
description: The URI of the organization whose webhook subscriptions to list.
- name: scope
value: ''
type: query
description: The scope of the webhook subscription. Use user for subscriptions scoped to a specific user, or organization
for organization-wide subscriptions.
- name: count
value: ''
type: query
description: The number of results to return per page.
- name: page_token
value: ''
type: query
description: A token for fetching the next page of results from a previous paginated response.
docs: Returns a paginated list of webhook subscriptions for the specified user or organization. Each subscription defines
the events to listen for and the callback URL to notify.
- info:
name: Create webhook subscription
type: http
http:
method: POST
url: https://api.calendly.com/webhook_subscriptions
body:
type: json
data: '{}'
docs: Creates a new webhook subscription to receive real-time notifications when scheduling events occur. You can subscribe
to invitee.created, invitee.canceled, and routing_form_submission.created events.
- info:
name: Get webhook subscription
type: http
http:
method: GET
url: https://api.calendly.com/webhook_subscriptions/:uuid
params:
- name: uuid
value: ''
type: path
description: The UUID of the webhook subscription.
docs: Returns detailed information about a specific webhook subscription by its UUID, including the callback URL, subscribed
events, and scope.
- info:
name: Delete webhook subscription
type: http
http:
method: DELETE
url: https://api.calendly.com/webhook_subscriptions/:uuid
params:
- name: uuid
value: ''
type: path
description: The UUID of the webhook subscription.
docs: Deletes a webhook subscription by its UUID. Once deleted, the subscription will no longer receive event notifications.
- info:
name: Organizations
type: folder
items:
- info:
name: List organization memberships
type: http
http:
method: GET
url: https://api.calendly.com/organization_memberships
params:
- name: organization
value: ''
type: query
description: The URI of the organization whose memberships to list.
- name: user
value: ''
type: query
description: Filter by user URI.
- name: email
value: ''
type: query
description: Filter by user email address.
- name: count
value: ''
type: query
description: The number of results to return per page.
- name: page_token
value: ''
type: query
description: A token for fetching the next page of results from a previous paginated response.
docs: Returns a paginated list of organization memberships. Each membership represents a users role and status within
an organization.
- info:
name: Get organization membership
type: http
http:
method: GET
url: https://api.calendly.com/organization_memberships/:uuid
params:
- name: uuid
value: ''
type: path
description: The UUID of the organization membership.
docs: Returns detailed information about a specific organization membership, including the users role and status within
the organization.
- info:
name: Remove organization membership
type: http
http:
method: DELETE
url: https://api.calendly.com/organization_memberships/:uuid
params:
- name: uuid
value: ''
type: path
description: The UUID of the organization membership to remove.
docs: Removes a user from an organization by deleting their membership. This action cannot be undone.
- info:
name: List organization invitations
type: http
http:
method: GET
url: https://api.calendly.com/organizations/:uuid/invitations
params:
- name: uuid
value: ''
type: path
description: The UUID of the organization.
- name: status
value: ''
type: query
description: Filter invitations by status.
- name: count
value: ''
type: query
description: The number of results to return per page.
- name: page_token
value: ''
type: query
description: A token for fetching the next page of results from a previous paginated response.
docs: Returns a paginated list of pending invitations for the specified organization.
- info:
name: Invite user to organization
type: http
http:
method: POST
url: https://api.calendly.com/organizations/:uuid/invitations
params:
- name: uuid
value: ''
type: path
description: The UUID of the organization.
body:
type: json
data: '{}'
docs: Sends an invitation to a user to join the organization. The invitee will receive an email with instructions to accept
the invitation.
- info:
name: Get organization invitation
type: http
http:
method: GET
url: https://api.calendly.com/organizations/:org_uuid/invitations/:invitation_uuid
params:
- name: org_uuid
value: ''
type: path
description: The UUID of the organization.
- name: invitation_uuid
value: ''
type: path
description: The UUID of the invitation.
docs: Returns detailed information about a specific organization invitation.
- info:
name: Revoke organization invitation
type: http
http:
method: DELETE
url: https://api.calendly.com/organizations/:org_uuid/invitations/:invitation_uuid
params:
- name: org_uuid
value: ''
type: path
description: The UUID of the organization.
- name: invitation_uuid
value: ''
type: path
description: The UUID of the invitation to revoke.
docs: Revokes a pending organization invitation. The invitee will no longer be able to accept the invitation.
- info:
name: Routing Forms
type: folder
items:
- info:
name: List routing forms
type: http
http:
method: GET
url: https://api.calendly.com/routing_forms
params:
- name: organization
value: ''
type: query
description: The URI of the organization whose routing forms to list.
- name: count
value: ''
type: query
description: The number of results to return per page.
- name: page_token
value: ''
type: query
description: A token for fetching the next page of results from a previous paginated response.
docs: Returns a paginated list of routing forms for the specified organization. Routing forms are questionnaires that
direct invitees to the appropriate scheduling page based on their responses.
- info:
name: Get routing form
type: http
http:
method: GET
url: https://api.calendly.com/routing_forms/:uuid
params:
- name: uuid
value: ''
type: path
description: The UUID of the routing form.
docs: Returns detailed information about a specific routing form, including its questions and routing rules.
- info:
name: List routing form submissions
type: http
http:
method: GET
url: https://api.calendly.com/routing_form_submissions
params:
- name: routing_form
value: ''
type: query
description: The URI of the routing form whose submissions to list.
- name: count
value: ''
type: query
description: The number of results to return per page.
- name: page_token
value: ''
type: query
description: A token for fetching the next page of results from a previous paginated response.
docs: Returns a paginated list of submissions for a specific routing form, including the answers provided by each submitter.
- info:
name: Get routing form submission
type: http
http:
method: GET
url: https://api.calendly.com/routing_form_submissions/:uuid
params:
- name: uuid
value: ''
type: path
description: The UUID of the routing form submission.
docs: Returns detailed information about a specific routing form submission.
- info:
name: Data Compliance
type: folder
items:
- info:
name: Delete invitee data
type: http
http:
method: POST
url: https://api.calendly.com/data_compliance/deletion/invitees
body:
type: json
data: '{}'
docs: Submits a request to delete invitee data for data compliance purposes such as GDPR. The deletion is processed asynchronously.
- info:
name: Activity Log
type: folder
items:
- info:
name: List activity log entries
type: http
http:
method: GET
url: https://api.calendly.com/activity_log_entries
params:
- name: organization
value: ''
type: query
description: The URI of the organization whose activity log to retrieve.
- name: min_occurred_at
value: ''
type: query
description: Only return entries that occurred on or after this time.
- name: max_occurred_at
value: ''
type: query
description: Only return entries that occurred before this time.
- name: search_term
value: ''
type: query
description: Filter entries by a search term.
- name: sort
value: ''
type: query
description: Sort order for results.
- name: count
value: ''
type: query
description: The number of results to return per page.
- name: page_token
value: ''
type: query
description: A token for fetching the next page of results from a previous paginated response.
docs: Returns a paginated list of activity log entries for the specified organization. Activity logs record actions taken
by users within the organization.
- info:
name: Shares
type: folder
items:
- info:
name: Create share
type: http
http:
method: POST
url: https://api.calendly.com/shares
body:
type: json
data: '{}'
docs: Creates a shareable scheduling link that can be distributed to potential invitees. Shares can include multiple event
types and custom availability settings.
- info:
name: Groups
type: folder
items:
- info:
name: List groups
type: http
http:
method: GET
url: https://api.calendly.com/groups
params:
- name: organization
value: ''
type: query
description: The URI of the organization whose groups to list.
- name: count
value: ''
type: query
description: The number of results to return per page.
- name: page_token
value: ''
type: query
description: A token for fetching the next page of results from a previous paginated response.
docs: Returns a paginated list of groups within the specified organization. Groups allow organizing users into teams for
scheduling purposes.
- info:
name: List group relationships
type: http
http:
method: GET
url: https://api.calendly.com/group_relationships
params:
- name: group
value: ''
type: query
description: The URI of the group to list relationships for.
- name: organization
value: ''
type: query
description: The URI of the organization.
- name: count
value: ''
type: query
description: The number of results to return per page.
- name: page_token
value: ''
type: query
description: A token for fetching the next page of results from a previous paginated response.
docs: Returns a paginated list of group memberships, showing which users belong to which groups within an organization.
bundled: true