Confrere Token API

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

Operations 1

POST /api/token Get room url

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/confrere-token-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

confrere-token-api-openapi.yml Raw ↑
openapi: 3.2.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