Cal.com Orgs / Teams / Conferencing API

The Orgs / Teams / Conferencing API from Cal.com — 11 operation(s) for orgs / teams / conferencing.

Operations 11

POST /v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/connect Connect your conferencing application to a team #
GET /v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/oauth/auth-url Get OAuth conferencing app's auth URL for a team #
GET /v2/organizations/{orgId}/teams/{teamId}/conferencing List team conferencing applications #
POST /v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/default Set team default conferencing application #
GET /v2/organizations/{orgId}/teams/{teamId}/conferencing/default Get team default conferencing application #
DELETE /v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/disconnect Disconnect team conferencing application #
GET /v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/oauth/callback Save conferencing app OAuth credentials #
GET /v2/organizations/{orgId}/conferencing/{app}/oauth/auth-url Get OAuth conferencing app's auth URL for an organization #
GET /v2/organizations/{orgId}/conferencing/{app}/oauth/callback Save organization conferencing app OAuth credentials #
GET /v2/organizations/{orgId}/conferencing List organization conferencing applications #
DELETE /v2/organizations/{orgId}/conferencing/{app}/disconnect Disconnect organization conferencing application #

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/cal-com:cal-com-orgs-teams-conferencing-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

cal-com-orgs-teams-conferencing-api-openapi.yml Raw ↑
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)