Calendly Webhook Subscriptions API
Endpoints for creating, listing, retrieving, and deleting webhook subscriptions that receive real-time event notifications.
Endpoints for creating, listing, retrieving, and deleting webhook subscriptions that receive real-time event notifications.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/calendly-webhook-subscriptions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Calendly Scheduling Webhook Subscriptions API
description: The Calendly Scheduling API (v2) is a RESTful API that allows developers to programmatically manage scheduling workflows.
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: Webhook Subscriptions
description: Endpoints for creating, listing, retrieving, and deleting webhook subscriptions that receive real-time event notifications.
paths:
/webhook_subscriptions:
get:
operationId: listWebhookSubscriptions
summary: List webhook subscriptions
description: 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.
tags:
- Webhook Subscriptions
parameters:
- name: user
in: query
description: The URI of the user whose webhook subscriptions to list.
schema:
type: string
format: uri
- name: organization
in: query
required: true
description: The URI of the organization whose webhook subscriptions to list.
schema:
type: string
format: uri
- name: scope
in: query
required: true
description: The scope of the webhook subscription. Use user for subscriptions scoped to a specific user, or organization for organization-wide subscriptions.
schema:
type: string
enum:
- user
- organization
- $ref: '#/components/parameters/Count'
- $ref: '#/components/parameters/PageToken'
responses:
'200':
description: Successfully retrieved webhook subscriptions
content:
application/json:
schema:
type: object
properties:
collection:
type: array
items:
$ref: '#/components/schemas/WebhookSubscription'
pagination:
$ref: '#/components/schemas/Pagination'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createWebhookSubscription
summary: Create webhook subscription
description: 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.
tags:
- Webhook Subscriptions
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- url
- events
- organization
- scope
properties:
url:
type: string
format: uri
description: The URL where webhook payloads will be delivered.
events:
type: array
items:
type: string
enum:
- invitee.created
- invitee.canceled
- routing_form_submission.created
description: The list of event types to subscribe to.
minItems: 1
organization:
type: string
format: uri
description: The URI of the organization for the subscription.
user:
type: string
format: uri
description: The URI of the user for user-scoped subscriptions.
scope:
type: string
enum:
- user
- organization
description: The scope of the webhook subscription.
signing_key:
type: string
description: A secret key used to sign webhook payloads for verification.
responses:
'201':
description: Successfully created the webhook subscription
content:
application/json:
schema:
type: object
properties:
resource:
$ref: '#/components/schemas/WebhookSubscription'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/webhook_subscriptions/{uuid}:
get:
operationId: getWebhookSubscription
summary: Get webhook subscription
description: Returns detailed information about a specific webhook subscription by its UUID, including the callback URL, subscribed events, and scope.
tags:
- Webhook Subscriptions
parameters:
- $ref: '#/components/parameters/WebhookSubscriptionUuid'
responses:
'200':
description: Successfully retrieved the webhook subscription
content:
application/json:
schema:
type: object
properties:
resource:
$ref: '#/components/schemas/WebhookSubscription'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteWebhookSubscription
summary: Delete webhook subscription
description: Deletes a webhook subscription by its UUID. Once deleted, the subscription will no longer receive event notifications.
tags:
- Webhook Subscriptions
parameters:
- $ref: '#/components/parameters/WebhookSubscriptionUuid'
responses:
'204':
description: Successfully deleted the webhook subscription
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
parameters:
WebhookSubscriptionUuid:
name: uuid
in: path
required: true
description: The UUID of the webhook subscription.
schema:
type: string
PageToken:
name: page_token
in: query
description: A token for fetching the next page of results from a previous paginated response.
schema:
type: string
Count:
name: count
in: query
description: The number of results to return per page.
schema:
type: integer
minimum: 1
maximum: 100
default: 20
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'
schemas:
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.
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.
WebhookSubscription:
type: object
description: A webhook subscription that receives real-time notifications when scheduling events occur in Calendly.
properties:
uri:
type: string
format: uri
description: The canonical URI of the webhook subscription resource.
callback_url:
type: string
format: uri
description: The URL where webhook payloads are delivered.
created_at:
type: string
format: date-time
description: The timestamp when the subscription was created.
updated_at:
type: string
format: date-time
description: The timestamp when the subscription was last updated.
retry_started_at:
type: string
format: date-time
description: The timestamp when retry attempts started, if applicable.
state:
type: string
enum:
- active
- disabled
description: The current state of the webhook subscription.
events:
type: array
items:
type: string
enum:
- invitee.created
- invitee.canceled
- routing_form_submission.created
description: The list of event types this subscription listens for.
scope:
type: string
enum:
- user
- organization
description: The scope of the subscription.
organization:
type: string
format: uri
description: The URI of the associated organization.
user:
type: string
format: uri
description: The URI of the associated user for user-scoped subscriptions.
creator:
type: string
format: uri
description: The URI of the user who created the subscription.
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