MeetingBaasMeeting Baas
API Reference

Join Meeting

Have a bot join a meeting, now or in the future

POST
/bots

Authorization

x-meeting-baas-api-key<token>

API key for authentication

In: header

x-spoke-api-key<token>

Legacy API key for authentication (deprecated)

In: header

Request Body

application/jsonRequired
automatic_leaveAny properties in object

The bot will leave the meeting automatically after the timeout, defaults to 10 minutes.

bot_imagestring | null

The image to use for the bot, can be a URL or a Base64 encoded string. Recommended size is 1280x720px.

Format: "uri"
bot_name
Required
string
deduplication_keystring | null

By default, bots using the same API key cannot join a meeting within 5 minutes of each other. You can bypass this limitation by providing a deduplication_key.

entry_messagestring | null

There are no entry messages on Microsoft Teams as guests outside of an organization do not have access to the chat.

extra
Required
object

A Json object that allows you to add custom data to a bot for your convenience, e.g. your end user's ID.

meeting_url
Required
string
recording_modeAny properties in string | string | string

The recording mode for the bot, defaults to 'speaker_view'.

reserved
Required
boolean

Whether or not the bot should come from the available pool of bots or be a dedicated bot. Reserved bots come in exactly 4 minutes after the request.

speech_to_textAny properties in Any properties in object, string

The default speech to text provider is Whisper Large V3, running on Runpod.

start_timeinteger | null

ISO Start time for the bot to join the meeting. The bot joins 4 minutes before the start time.

Minimum: 0Format: "uint64"
streamingAny properties in object

WebSocket streams configuration for real-time audio and real-time speaker diarization. Note: A single WebSocket URL can be used for both input and output since WebSockets are bi-directional.

webhook_urlstring | null

A webhook URL to send events to, overrides the webhook URL set in your account settings.

curl -X POST "https://api.meetingbaas.com/bots/" \
  -H "x-meeting-baas-api-key: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "automatic_leave": {
      "noone_joined_timeout": 0,
      "waiting_room_timeout": 0
    },
    "bot_image": "http://example.com",
    "bot_name": "string",
    "deduplication_key": "string",
    "entry_message": "string",
    "extra": {},
    "meeting_url": "string",
    "recording_mode": "speaker_view",
    "reserved": true,
    "speech_to_text": {
      "api_key": "string",
      "provider": "Gladia"
    },
    "start_time": 0,
    "streaming": {
      "audio_frequency": "16khz",
      "input": "string",
      "output": "string"
    },
    "webhook_url": "string"
  }'

{
  "bot_id": "41900e0f-e27a-4863-8321-478ccf15bbd8"
}