Cal.com Orgs / Teams / Conferencing API
The Orgs / Teams / Conferencing API from Cal.com — 11 operation(s) for orgs / teams / conferencing.
The Orgs / Teams / Conferencing API from Cal.com — 11 operation(s) for orgs / teams / conferencing.
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-teams-conferencing-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 / Teams / Conferencing API
description: ''
version: 1.0.0
contact: {}
servers: []
tags:
- name: Orgs / Teams / Conferencing
paths:
/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/connect:
post:
description: 'Only `google-meet` can be connected this way, and only for a team that already has a valid Google Calendar connection. Zoom and Microsoft Teams require an OAuth handshake - start it with `GET /v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/oauth/auth-url` instead. Walkthrough: https://cal.com/docs/api-reference/v2/conferencing-apps. Required membership role: `team admin`. PBAC permission: `team.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_APPS_WRITE` scope is required.'
operationId: OrganizationsConferencingController_connectTeamApp
parameters:
- name: orgId
required: true
in: path
schema:
type: number
- name: app
required: true
in: path
description: Conferencing application type
schema:
enum:
- google-meet
type: string
- name: teamId
required: true
in: path
description: The team's uuid (preferred), its short-uuid (Flickr Base58) form, or its numeric id.
schema:
anyOf:
- type: string
- type: number
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ConferencingAppOutputResponseDto'
summary: Connect your conferencing application to a team
tags:
- Orgs / Teams / Conferencing
x-oauth-scopes:
- TEAM_APPS_WRITE
x-platform-plan: ESSENTIALS
/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/oauth/auth-url:
get:
description: 'Returns the URL to send a team admin to so they can authorize Zoom or Microsoft Teams for the team. Redirect their browser to it - the provider then returns them to a callback already registered by Cal.com, which stores the credential against the team rather than against the admin who authorized it. To cover every team in the organization with a single handshake, use `GET /v2/organizations/{orgId}/conferencing/{app}/oauth/auth-url` instead. `returnTo` and `onErrorReturnTo` must each be a relative path or an absolute http(s) URL. The returned URL expires 10 minutes after this call, so redirect immediately rather than caching it. Walkthrough: https://cal.com/docs/api-reference/v2/conferencing-apps. Required membership role: `team admin`. PBAC permission: `team.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_APPS_WRITE` scope is required.'
operationId: OrganizationsConferencingController_getTeamOAuthUrl
parameters:
- name: Authorization
required: true
in: header
schema:
type: string
- name: orgId
required: true
in: path
schema:
type: number
- name: app
required: true
in: path
description: Conferencing application type
schema:
enum:
- zoom
- msteams
type: string
- name: returnTo
required: true
in: query
schema:
type: string
- name: onErrorReturnTo
required: true
in: query
schema:
type: string
- name: teamId
required: true
in: path
description: The team's uuid (preferred), its short-uuid (Flickr Base58) form, or its numeric id.
schema:
anyOf:
- type: string
- type: number
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetConferencingAppsOauthUrlResponseDto'
summary: Get OAuth conferencing app's auth URL for a team
tags:
- Orgs / Teams / Conferencing
x-oauth-scopes:
- TEAM_APPS_WRITE
x-platform-plan: ESSENTIALS
/v2/organizations/{orgId}/teams/{teamId}/conferencing:
get:
description: 'Required membership role: `team admin`. PBAC permission: `team.readConferencing`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_APPS_READ` scope is required.'
operationId: OrganizationsConferencingController_listTeamConferencingApps
parameters:
- name: teamId
required: true
in: path
description: The team's uuid (preferred), its short-uuid (Flickr Base58) form, or its numeric id.
schema:
anyOf:
- type: string
- type: number
- name: orgId
required: true
in: path
schema:
type: number
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ConferencingAppsOutputResponseDto'
summary: List team conferencing applications
tags:
- Orgs / Teams / Conferencing
x-oauth-scopes:
- TEAM_APPS_READ
x-platform-plan: ESSENTIALS
/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/default:
post:
description: 'Required membership role: `team admin`. PBAC permission: `team.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_APPS_WRITE` scope is required.'
operationId: OrganizationsConferencingController_setTeamDefaultApp
parameters:
- name: app
required: true
in: path
description: Conferencing application type
schema:
enum:
- google-meet
- zoom
- msteams
- daily-video
type: string
- name: teamId
required: true
in: path
description: The team's uuid (preferred), its short-uuid (Flickr Base58) form, or its numeric id.
schema:
anyOf:
- type: string
- type: number
- name: orgId
required: true
in: path
schema:
type: number
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SetDefaultConferencingAppOutputResponseDto'
summary: Set team default conferencing application
tags:
- Orgs / Teams / Conferencing
x-oauth-scopes:
- TEAM_APPS_WRITE
x-platform-plan: ESSENTIALS
/v2/organizations/{orgId}/teams/{teamId}/conferencing/default:
get:
description: 'Required membership role: `team admin`. PBAC permission: `team.readConferencing`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_APPS_READ` scope is required.'
operationId: OrganizationsConferencingController_getTeamDefaultApp
parameters:
- name: teamId
required: true
in: path
description: The team's uuid (preferred), its short-uuid (Flickr Base58) form, or its numeric id.
schema:
anyOf:
- type: string
- type: number
- name: orgId
required: true
in: path
schema:
type: number
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetDefaultConferencingAppOutputResponseDto'
summary: Get team default conferencing application
tags:
- Orgs / Teams / Conferencing
x-oauth-scopes:
- TEAM_APPS_READ
x-platform-plan: ESSENTIALS
/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/disconnect:
delete:
description: 'Required membership role: `team admin`. PBAC permission: `team.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_APPS_WRITE` scope is required.'
operationId: OrganizationsConferencingController_disconnectTeamApp
parameters:
- name: app
required: true
in: path
description: Conferencing application type
schema:
enum:
- google-meet
- zoom
- msteams
type: string
- name: teamId
required: true
in: path
description: The team's uuid (preferred), its short-uuid (Flickr Base58) form, or its numeric id.
schema:
anyOf:
- type: string
- type: number
- name: orgId
required: true
in: path
schema:
type: number
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DisconnectConferencingAppOutputResponseDto'
summary: Disconnect team conferencing application
tags:
- Orgs / Teams / Conferencing
x-oauth-scopes:
- TEAM_APPS_WRITE
x-platform-plan: ESSENTIALS
/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/oauth/callback:
get:
description: 'Required membership role: `team admin`. PBAC permission: `team.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_APPS_WRITE` scope is required.'
operationId: OrganizationsConferencingController_saveTeamOauthCredentials
parameters:
- name: state
required: true
in: query
schema:
type: string
- name: code
required: true
in: query
schema:
type: string
- name: orgId
required: true
in: path
schema:
type: number
- name: app
required: true
in: path
schema:
type: string
- name: teamId
required: true
in: path
description: The team's uuid (preferred), its short-uuid (Flickr Base58) form, or its numeric id.
schema:
anyOf:
- type: string
- type: number
responses:
'200':
description: ''
summary: Save conferencing app OAuth credentials
tags:
- Orgs / Teams / Conferencing
x-oauth-scopes:
- TEAM_APPS_WRITE
x-platform-plan: ESSENTIALS
/v2/organizations/{orgId}/conferencing/{app}/oauth/auth-url:
get:
description: 'Returns the URL to send an organization admin to so they can authorize Zoom or Microsoft Teams once for the whole organization. The resulting credential is owned by the organization, so every team and member below it can use the app without its own OAuth handshake. Redirect their browser to it - the provider then returns them to a callback already registered by Cal.com. `returnTo` and `onErrorReturnTo` must each be a relative path or an absolute http(s) URL. The returned URL expires 10 minutes after this call, so redirect immediately rather than caching it. Walkthrough: https://cal.com/docs/api-reference/v2/conferencing-apps. Required membership role: `org admin`. PBAC permission: `team.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_APPS_WRITE` scope is required.'
operationId: OrganizationsConferencingController_getOrgOAuthUrl
parameters:
- name: Authorization
required: true
in: header
schema:
type: string
- name: orgId
required: true
in: path
schema:
type: number
- name: app
required: true
in: path
description: Conferencing application type
schema:
enum:
- zoom
- msteams
type: string
- name: returnTo
required: true
in: query
schema:
type: string
- name: onErrorReturnTo
required: true
in: query
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetConferencingAppsOauthUrlResponseDto'
summary: Get OAuth conferencing app's auth URL for an organization
tags:
- Orgs / Teams / Conferencing
x-oauth-scopes:
- TEAM_APPS_WRITE
x-platform-plan: ESSENTIALS
/v2/organizations/{orgId}/conferencing/{app}/oauth/callback:
get:
description: 'Required membership role: `org admin`. PBAC permission: `team.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_APPS_WRITE` scope is required.'
operationId: OrganizationsConferencingController_saveOrgOauthCredentials
parameters:
- name: state
required: true
in: query
schema:
type: string
- name: code
required: true
in: query
schema:
type: string
- name: orgId
required: true
in: path
schema:
type: number
- name: app
required: true
in: path
description: Conferencing application type
schema:
enum:
- zoom
- msteams
type: string
responses:
'200':
description: ''
summary: Save organization conferencing app OAuth credentials
tags:
- Orgs / Teams / Conferencing
x-oauth-scopes:
- TEAM_APPS_WRITE
x-platform-plan: ESSENTIALS
/v2/organizations/{orgId}/conferencing:
get:
description: 'Lists the conferencing apps installed on the organization itself, not those installed on its teams or members. Required membership role: `org admin`. PBAC permission: `team.readConferencing`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_APPS_READ` scope is required.'
operationId: OrganizationsConferencingController_listOrgConferencingApps
parameters:
- name: orgId
required: true
in: path
schema:
type: number
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ConferencingAppsOutputResponseDto'
summary: List organization conferencing applications
tags:
- Orgs / Teams / Conferencing
x-oauth-scopes:
- TEAM_APPS_READ
x-platform-plan: ESSENTIALS
/v2/organizations/{orgId}/conferencing/{app}/disconnect:
delete:
description: 'Required membership role: `org admin`. PBAC permission: `team.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the `TEAM_APPS_WRITE` scope is required.'
operationId: OrganizationsConferencingController_disconnectOrgApp
parameters:
- name: orgId
required: true
in: path
schema:
type: number
- name: app
required: true
in: path
description: Conferencing application type
schema:
enum:
- zoom
- msteams
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DisconnectConferencingAppOutputResponseDto'
summary: Disconnect organization conferencing application
tags:
- Orgs / Teams / Conferencing
x-oauth-scopes:
- TEAM_APPS_WRITE
x-platform-plan: ESSENTIALS
components:
schemas:
SetDefaultConferencingAppOutputResponseDto:
type: object
properties:
status:
enum:
- success
- error
type: string
example: success
required:
- status
GetConferencingAppsOauthUrlResponseDto:
type: object
properties:
status:
type: string
example: success
enum:
- success
- error
required:
- status
ConferencingAppOutputResponseDto:
type: object
properties:
status:
enum:
- success
- error
type: string
data:
$ref: '#/components/schemas/ConferencingAppsOutputDto'
required:
- status
- data
DefaultConferencingAppsOutputDto:
type: object
properties:
appSlug:
type: string
appLink:
type: string
ConferencingAppsOutputResponseDto:
type: object
properties:
status:
enum:
- success
- error
type: string
data:
type: array
items:
$ref: '#/components/schemas/ConferencingAppsOutputDto'
required:
- status
- data
GetDefaultConferencingAppOutputResponseDto:
type: object
properties:
status:
enum:
- success
- error
type: string
example: success
data:
$ref: '#/components/schemas/DefaultConferencingAppsOutputDto'
required:
- status
DisconnectConferencingAppOutputResponseDto:
type: object
properties:
status:
enum:
- success
- error
type: string
example: success
required:
- status
ConferencingAppsOutputDto:
type: object
properties:
id:
type: number
description: Id of the conferencing app credentials
type:
type: string
example: google_video
description: Type of conferencing app
userId:
type: number
description: Id of the user associated to the conferencing app
invalid:
type:
- boolean
- 'null'
example: true
description: Whether if the connection is working or not.
required:
- id
- type
- userId
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)