Cal.com Conferencing API

The Conferencing API from Cal.com — 7 operation(s) for conferencing.

OpenAPI Specification

cal-com-conferencing-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Cal.diy API v2 Api Keys Conferencing API
  description: ''
  version: 1.0.0
  contact: {}
servers: []
tags:
- name: Conferencing
paths:
  /v2/conferencing/{app}/connect:
    post:
      operationId: ConferencingController_connect
      summary: Connect your conferencing application
      parameters:
      - name: app
        required: true
        in: path
        description: Conferencing application type
        schema:
          enum:
          - google-meet
          type: string
      - name: Authorization
        in: header
        description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_ or managed user access token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConferencingAppOutputResponseDto'
      tags:
      - Conferencing
  /v2/conferencing/{app}/oauth/auth-url:
    get:
      operationId: ConferencingController_redirect
      summary: Get OAuth conferencing app auth URL
      parameters:
      - name: Authorization
        required: true
        in: header
        description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_ or managed user access token
        schema:
          type: string
      - 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'
      tags:
      - Conferencing
  /v2/conferencing/{app}/oauth/callback:
    get:
      operationId: ConferencingController_save
      summary: Conferencing app OAuth callback
      parameters:
      - name: state
        required: true
        in: query
        schema:
          type: string
      - name: app
        required: true
        in: path
        description: Conferencing application type
        schema:
          enum:
          - zoom
          - msteams
          type: string
      - name: code
        required: true
        in: query
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Conferencing
  /v2/conferencing:
    get:
      operationId: ConferencingController_listInstalledConferencingApps
      summary: List your conferencing applications
      parameters:
      - name: Authorization
        in: header
        description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_ or managed user access token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConferencingAppsOutputResponseDto'
      tags:
      - Conferencing
  /v2/conferencing/{app}/default:
    post:
      operationId: ConferencingController_default
      summary: Set your default conferencing application
      parameters:
      - name: app
        required: true
        in: path
        description: Conferencing application type
        schema:
          enum:
          - google-meet
          - zoom
          - msteams
          - daily-video
          type: string
      - name: Authorization
        in: header
        description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_ or managed user access token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetDefaultConferencingAppOutputResponseDto'
      tags:
      - Conferencing
  /v2/conferencing/default:
    get:
      operationId: ConferencingController_getDefault
      summary: Get your default conferencing application
      parameters:
      - name: Authorization
        in: header
        description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_ or managed user access token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDefaultConferencingAppOutputResponseDto'
      tags:
      - Conferencing
  /v2/conferencing/{app}/disconnect:
    delete:
      operationId: ConferencingController_disconnect
      summary: Disconnect your conferencing application
      parameters:
      - name: app
        required: true
        in: path
        description: Conferencing application type
        schema:
          enum:
          - google-meet
          - zoom
          - msteams
          type: string
      - name: Authorization
        in: header
        description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_ or managed user access token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisconnectConferencingAppOutputResponseDto'
      tags:
      - Conferencing
components:
  schemas:
    ConferencingAppOutputResponseDto:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        data:
          $ref: '#/components/schemas/ConferencingAppsOutputDto'
      required:
      - status
      - data
    ConferencingAppsOutputResponseDto:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        data:
          type: array
          items:
            $ref: '#/components/schemas/ConferencingAppsOutputDto'
      required:
      - status
      - data
    DisconnectConferencingAppOutputResponseDto:
      type: object
      properties:
        status:
          type: string
          example: success
          enum:
          - success
          - error
      required:
      - status
    GetConferencingAppsOauthUrlResponseDto:
      type: object
      properties:
        status:
          type: string
          example: success
          enum:
          - success
          - error
      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
          nullable: true
          example: true
          description: Whether if the connection is working or not.
      required:
      - id
      - type
      - userId
    SetDefaultConferencingAppOutputResponseDto:
      type: object
      properties:
        status:
          type: string
          example: success
          enum:
          - success
          - error
      required:
      - status
    DefaultConferencingAppsOutputDto:
      type: object
      properties:
        appSlug:
          type: string
        appLink:
          type: string
    GetDefaultConferencingAppOutputResponseDto:
      type: object
      properties:
        status:
          type: string
          example: success
          enum:
          - success
          - error
        data:
          $ref: '#/components/schemas/DefaultConferencingAppsOutputDto'
      required:
      - status