Calendly Invitees API
Endpoints for listing, retrieving, and creating invitees on scheduled events.
Endpoints for listing, retrieving, and creating invitees on scheduled events.
openapi: 3.1.0
info:
title: Calendly Scheduling Activity Log Invitees API
description: The Calendly Scheduling API (v2) is a RESTful API that allows developers to programmatically manage scheduling workflows. It provides endpoints for managing users, organizations, event types, scheduled events, invitees, routing forms, availability schedules, and webhook subscriptions. The API uses JSON for request and response bodies, standard HTTP methods, and supports authentication via personal access tokens and OAuth 2.1. Developers can use it to create events on behalf of invitees, retrieve scheduling data, and integrate Calendly functionality directly into their applications.
version: 2.0.0
contact:
name: Calendly Developer Support
url: https://developer.calendly.com/
termsOfService: https://calendly.com/pages/terms
servers:
- url: https://api.calendly.com
description: Production Server
security:
- bearerAuth: []
tags:
- name: Invitees
description: Endpoints for listing, retrieving, and creating invitees on scheduled events.
paths:
/scheduled_events/{event_uuid}/invitees:
get:
operationId: listEventInvitees
summary: List event invitees
description: 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.
tags:
- Invitees
parameters:
- name: event_uuid
in: path
required: true
description: The UUID of the scheduled event.
schema:
type: string
- name: status
in: query
description: Filter by invitee status.
schema:
type: string
enum:
- active
- canceled
- name: sort
in: query
description: Sort order for results. Use created_at:asc or created_at:desc.
schema:
type: string
- $ref: '#/components/parameters/Count'
- $ref: '#/components/parameters/PageToken'
responses:
'200':
description: Successfully retrieved the list of invitees
content:
application/json:
schema:
type: object
properties:
collection:
type: array
items:
$ref: '#/components/schemas/Invitee'
pagination:
$ref: '#/components/schemas/Pagination'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/scheduled_events/{event_uuid}/invitees/{invitee_uuid}:
get:
operationId: getEventInvitee
summary: Get event invitee
description: 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.
tags:
- Invitees
parameters:
- name: event_uuid
in: path
required: true
description: The UUID of the scheduled event.
schema:
type: string
- name: invitee_uuid
in: path
required: true
description: The UUID of the invitee.
schema:
type: string
responses:
'200':
description: Successfully retrieved the invitee
content:
application/json:
schema:
type: object
properties:
resource:
$ref: '#/components/schemas/Invitee'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/invitees:
post:
operationId: createEventInvitee
summary: Create event invitee
description: 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.
tags:
- Invitees
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- event_type
- start_time
- invitee
properties:
event_type:
type: string
format: uri
description: The URI of the event type to book.
start_time:
type: string
format: date-time
description: The start time for the event in UTC. Must correspond to a valid available time slot.
invitee:
type: object
required:
- name
- email
properties:
name:
type: string
description: The full name of the invitee.
email:
type: string
format: email
description: The email address of the invitee.
timezone:
type: string
description: The IANA timezone of the invitee.
description: The invitee details for the booking.
questions_and_answers:
type: array
items:
type: object
properties:
question_uuid:
type: string
description: The UUID of the custom question.
answer:
type: string
description: The answer to the custom question.
description: Answers to custom questions on the event type booking page.
responses:
'201':
description: Successfully created the invitee and booked the event
content:
application/json:
schema:
type: object
properties:
resource:
$ref: '#/components/schemas/Invitee'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
Cancellation:
type: object
description: Information about a canceled event or invitee, including who canceled and the reason.
properties:
canceled_by:
type: string
description: The name or identifier of who canceled the event.
reason:
type: string
description: The reason provided for the cancellation.
canceler_type:
type: string
enum:
- host
- invitee
description: Whether the host or invitee canceled.
created_at:
type: string
format: date-time
description: The timestamp when the cancellation occurred.
Invitee:
type: object
description: An invitee is a person who has booked or been booked for a scheduled event, with their contact information and booking details.
properties:
uri:
type: string
format: uri
description: The canonical URI of the invitee resource.
email:
type: string
format: email
description: The email address of the invitee.
first_name:
type: string
description: The first name of the invitee.
last_name:
type: string
description: The last name of the invitee.
name:
type: string
description: The full name of the invitee.
status:
type: string
enum:
- active
- canceled
description: The status of the invitee.
timezone:
type: string
description: The IANA timezone of the invitee.
event:
type: string
format: uri
description: The URI of the associated scheduled event.
text_reminder_number:
type: string
description: The phone number for text reminders.
rescheduled:
type: boolean
description: Whether this invitee was rescheduled from a previous event.
old_invitee:
type: string
format: uri
description: The URI of the previous invitee if this was rescheduled.
new_invitee:
type: string
format: uri
description: The URI of the new invitee if this invitee was rescheduled.
cancel_url:
type: string
format: uri
description: The URL for the invitee to cancel the event.
reschedule_url:
type: string
format: uri
description: The URL for the invitee to reschedule the event.
routing_form_submission:
type: string
format: uri
description: The URI of the routing form submission that led to this booking.
cancellation:
$ref: '#/components/schemas/Cancellation'
payment:
type: object
description: Payment information if the event type requires payment.
properties:
external_id:
type: string
description: The external payment processor ID.
provider:
type: string
description: The payment provider name.
amount:
type: number
description: The payment amount.
currency:
type: string
description: The payment currency code.
terms:
type: string
description: The payment terms.
successful:
type: boolean
description: Whether the payment was successful.
questions_and_answers:
type: array
items:
type: object
properties:
question:
type: string
description: The text of the custom question.
answer:
type: string
description: The invitees answer to the question.
position:
type: integer
description: The display position of the question.
description: The invitees answers to custom questions on the booking page.
tracking:
type: object
description: UTM and tracking parameters captured at booking time.
properties:
utm_campaign:
type: string
description: The UTM campaign parameter.
utm_source:
type: string
description: The UTM source parameter.
utm_medium:
type: string
description: The UTM medium parameter.
utm_content:
type: string
description: The UTM content parameter.
utm_term:
type: string
description: The UTM term parameter.
salesforce_uuid:
type: string
description: The Salesforce UUID if applicable.
created_at:
type: string
format: date-time
description: The timestamp when the invitee was created.
updated_at:
type: string
format: date-time
description: The timestamp when the invitee was last updated.
Pagination:
type: object
description: Pagination information for paginated list responses.
properties:
count:
type: integer
description: The number of results in the current page.
next_page:
type: string
format: uri
description: The URL of the next page of results, if available.
previous_page:
type: string
format: uri
description: The URL of the previous page of results, if available.
next_page_token:
type: string
description: The token to fetch the next page of results.
previous_page_token:
type: string
description: The token to fetch the previous page of results.
Error:
type: object
description: An error response from the Calendly API.
properties:
title:
type: string
description: A short summary of the error.
message:
type: string
description: A detailed description of the error.
details:
type: array
items:
type: object
properties:
parameter:
type: string
description: The parameter that caused the error.
message:
type: string
description: A description of what was wrong with the parameter.
description: Specific details about validation errors.
responses:
Unauthorized:
description: Authentication failed. Verify that a valid access token is provided in the Authorization header.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: The request was invalid or malformed. Check the request body and parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: The requested resource was not found. Verify the UUID or URI is correct.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
Count:
name: count
in: query
description: The number of results to return per page.
schema:
type: integer
minimum: 1
maximum: 100
default: 20
PageToken:
name: page_token
in: query
description: A token for fetching the next page of results from a previous paginated response.
schema:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: Personal access token or OAuth 2.1 access token. Include in the Authorization header as Bearer {token}.
externalDocs:
description: Calendly API Documentation
url: https://developer.calendly.com/api-docs