Cal.com Orgs / Users / Bookings API
The Orgs / Users / Bookings API from Cal.com — 1 operation(s) for orgs / users / bookings.
The Orgs / Users / Bookings API from Cal.com — 1 operation(s) for orgs / users / bookings.
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/cal-com:cal-com-orgs-users-bookings-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: Cal.com API v2 Orgs / Users / Bookings API
description: ''
version: 1.0.0
contact: {}
servers: []
tags:
- name: Orgs / Users / Bookings
paths:
/v2/organizations/{orgId}/users/{userId}/bookings:
get:
description: If accessed using an OAuth access token, the `ORG_BOOKING_READ` scope is required.
operationId: OrganizationsUsersBookingsController_getOrganizationUserBookings
parameters:
- name: Authorization
in: header
description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_, managed user access token, or OAuth access token
required: false
schema:
type: string
- name: x-cal-secret-key
in: header
description: For platform customers - OAuth client secret key
required: false
schema:
type: string
- name: x-cal-client-id
in: header
description: For platform customers - OAuth client ID
required: false
schema:
type: string
- name: orgId
required: true
in: path
schema:
type: number
- name: userId
required: true
in: path
schema:
type: number
- name: status
required: false
in: query
description: Filter bookings by status. If you want to filter by multiple statuses, separate them with a comma.
schema:
minItems: 1
example: ?status=upcoming,past
type: array
items:
type: string
enum:
- upcoming
- recurring
- past
- cancelled
- unconfirmed
- name: attendeeEmail
required: false
in: query
description: Filter bookings by the attendee's email address.
schema:
example: example@domain.com
type: string
- name: attendeeName
required: false
in: query
description: Filter bookings by the attendee's name.
schema:
example: John Doe
type: string
- name: bookingUid
required: false
in: query
description: Filter bookings by the booking Uid.
schema:
example: 2NtaeaVcKfpmSZ4CthFdfk
type: string
- name: eventTypeIds
required: false
in: query
description: Filter bookings by event type ids. Event type ids must be separated by a comma.
schema:
minItems: 1
example: ?eventTypeIds=100,200
type: string
- name: eventTypeId
required: false
in: query
description: Filter bookings by event type id.
schema:
example: ?eventTypeId=100
type: string
- name: teamsIds
required: false
in: query
description: Filter bookings by team ids that user is part of. Team ids must be separated by a comma.
schema:
minItems: 1
example: ?teamIds=50,60
type: string
- name: teamId
required: false
in: query
description: Filter bookings by team id that user is part of
schema:
example: ?teamId=50
type: string
- name: afterStart
required: false
in: query
description: Filter bookings with start after this date string.
schema:
example: ?afterStart=2025-03-07T10:00:00.000Z
type: string
- name: beforeEnd
required: false
in: query
description: Filter bookings with end before this date string.
schema:
example: ?beforeEnd=2025-03-07T11:00:00.000Z
type: string
- name: afterCreatedAt
required: false
in: query
description: Filter bookings that have been created after this date string.
schema:
example: ?afterCreatedAt=2025-03-07T10:00:00.000Z
type: string
- name: beforeCreatedAt
required: false
in: query
description: Filter bookings that have been created before this date string.
schema:
example: ?beforeCreatedAt=2025-03-14T11:00:00.000Z
type: string
- name: afterUpdatedAt
required: false
in: query
description: Filter bookings that have been updated after this date string.
schema:
example: ?afterUpdatedAt=2025-03-07T10:00:00.000Z
type: string
- name: beforeUpdatedAt
required: false
in: query
description: Filter bookings that have been updated before this date string.
schema:
example: ?beforeUpdatedAt=2025-03-14T11:00:00.000Z
type: string
- name: sortStart
required: false
in: query
description: Sort results by their start time in ascending or descending order.
schema:
example: ?sortStart=asc OR ?sortStart=desc
type: string
enum:
- asc
- desc
- name: sortEnd
required: false
in: query
description: Sort results by their end time in ascending or descending order.
schema:
example: ?sortEnd=asc OR ?sortEnd=desc
type: string
enum:
- asc
- desc
- name: sortCreated
required: false
in: query
description: Sort results by their creation time (when booking was made) in ascending or descending order.
schema:
example: ?sortCreated=asc OR ?sortCreated=desc
type: string
enum:
- asc
- desc
- name: sortUpdatedAt
required: false
in: query
description: Sort results by their updated time (for example when booking status changes) in ascending or descending order.
schema:
example: ?sortUpdatedAt=asc OR ?sortUpdatedAt=desc
type: string
enum:
- asc
- desc
- name: take
required: false
in: query
description: The number of items to return
schema:
minimum: 1
maximum: 250
default: 100
example: 10
type: number
- name: skip
required: false
in: query
description: The number of items to skip
schema:
minimum: 0
default: 0
example: 0
type: number
responses:
'200':
description: ''
summary: Get all bookings for an organization user
tags:
- Orgs / Users / Bookings
x-mcp:
name: get_org_user_bookings
guidance: List all bookings for a specific user within an organization. Requires ORG_ADMIN role. Use get_org_memberships to find user IDs. Supports filtering by status, attendee email/name, event type, team, date ranges, and sorting.
x-oauth-scopes:
- ORG_BOOKING_READ
x-platform-plan: ESSENTIALS
x-provenance:
method: harvested
publisher: Cal.com
source: https://cal.com/docs/api-reference/v2/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)