Confrere Token API

The Token API from Confrere — 1 operation(s) for token.

OpenAPI Specification

confrere-token-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Room Token API
tags:
- name: Token
paths:
  /api/token:
    post:
      summary: Get room url
      description: This routes creates a new room and returns the url that you can redirect your users to. Note that the url expires after a minute and can only be used once.
      parameters:
      - in: header
        name: Authorization
        description: The authorization bearer token in the format `Bearer $TOKEN`
        required: true
        schema:
          type: string
      - in: header
        name: X-Vidicue-Nonce
        description: The nonce for the authorization
        required: true
        schema:
          type: number
      - in: header
        name: X-Vidicue-Key
        description: The API_KEY for your integration
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - roomId
              - userId
              properties:
                roomId:
                  type: string
                  example: myintegrationprefix:myroom
                  description: Only [a-zA-Z0-9_-] is allowed (in the id after "myintegrationprefix:"), max length is 100 chars
                roomName:
                  type: string
                userId:
                  type: string
                role:
                  type: string
                  enum:
                  - guest
                  - moderator
                  - admin
                  default: guest
                useLobby:
                  type: boolean
                  default: false
                estimatedNumberOfParticipants:
                  type: number
                invalidateOnProperLeave:
                  type: boolean
                  default: false
                  description: Automatically invalidate a user token when they click the leave button.
                userData:
                  type: object
                  properties:
                    name:
                      type: string
                roomLock:
                  type: object
                  description: If `enabled=true` and `isActive=true`, adds a waiting room with request to join functionality. `isActive` can be toggled after room start.
                  properties:
                    enabled:
                      type: boolean
                      default: false
                      description: If `true`, enable room lock functionality.
                    isActive:
                      type: boolean
                      default: false
                      description: If `enabled=true` and `isActive=true`, room lock is active.
                    mayBypass:
                      type: boolean
                      default: false
                      description: If `true`, user may enter room without being placed in waiting room.
                clientOptions:
                  type: object
                  properties:
                    autoLockOnHostLeave:
                      type: boolean
                      default: false
                      description: If `true`, the meeting is paused when the admin/host unexpectedly leaves (for example due to a network issue).
                    clearInvalidations:
                      type: boolean
                      default: true
                      description: If `true`, clears invalidated rooms and users before generating a token.
                    devices:
                      type: object
                      properties:
                        audio:
                          type: string
                          default: ''
                          description: Label of the audio input device to use.
                        audioOutput:
                          type: string
                          default: ''
                          description: Label of the audio output device to use.
                        video:
                          type: string
                          default: ''
                          description: Label of the video input device to use.
                      description: Specifies the preferred audio and video devices. If all device labels are provided and matched successfully with the available devices in the browser, they will be automatically selected, allowing the participant to skip the initial settings screen and join the room directly.
                    disableCamera:
                      type: boolean
                      default: false
                    disableChat:
                      type: boolean
                      default: false
                    disableLayout:
                      type: boolean
                      default: false
                    disableMembersList:
                      type: boolean
                      default: false
                    disableMicrophone:
                      type: boolean
                      default: false
                    disableMirroredCamera:
                      type: boolean
                      default: false
                    disableNPS:
                      type: boolean
                      default: false
                      description: If `true`, skips the NPS screen shown after the meeting.
                    disableRaiseHand:
                      type: boolean
                      default: false
                    disableRecording:
                      type: boolean
                      default: false
                    disableShareScreen:
                      type: boolean
                      default: false
                    disableVisualEffects:
                      type: boolean
                      default: false
                    enableEmojiReactions:
                      type: boolean
                      default: false
                    forceVirtualBackgroundUrl:
                      type: string
                      default: ''
                    skipPreview:
                      type: boolean
                      default: false
                      description: If `true`, skips the preview screen before joining the meeting and uses the device default audio and video devices.
                    startAsHidden:
                      type: boolean
                      default: false
                    startAsMuted:
                      type: boolean
                      default: false
                    startVideoFit:
                      type: string
                      enum:
                      - contain
                      - cover
                      - null
                      default: null
      responses:
        '200':
          description: Token was accepted
          content:
            application/json:
              schema:
                type: object
                properties:
                  url:
                    type: string
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      tags:
      - Token