Calendly Webhook Subscriptions API

Endpoints for creating, listing, retrieving, and deleting webhook subscriptions that receive real-time event notifications.

Operations 4

GET /webhook_subscriptions List webhook subscriptions #
POST /webhook_subscriptions Create webhook subscription #
GET /webhook_subscriptions/{uuid} Get webhook subscription #
DELETE /webhook_subscriptions/{uuid} Delete webhook subscription #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/calendly-webhook-subscriptions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

calendly-webhook-subscriptions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Calendly Scheduling Activity Log Webhook Subscriptions 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: 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:
  responses:
    BadRequest:
      description: The request was invalid or malformed. Check the request body and parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication failed. Verify that a valid access token is provided in the Authorization header.
      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
    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
  schemas:
    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.
    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