Raw schema
{
"type": "object",
"properties": {
"app_id": {
"type": "string",
"description": "The app ID"
},
"action": {
"type": "string",
"enum": [
"chat",
"embed",
"list_models",
"get_config",
"update_config",
"get_usage",
"submit_video",
"poll_video",
"start_meeting",
"get_meeting",
"list_meetings",
"stop_meeting",
"estimate_meeting",
"configure_meetings_webhook",
"usage_meetings"
],
"description": "The action to perform"
},
"messages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"system",
"user",
"assistant",
"tool"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array"
}
]
},
"name": {
"type": "string"
},
"tool_call_id": {
"type": "string"
}
},
"required": [
"role",
"content"
],
"additionalProperties": false
},
"description": "Required for chat"
},
"model": {
"type": "string"
},
"temperature": {
"type": "number"
},
"max_tokens": {
"type": "integer",
"exclusiveMinimum": 0
},
"input": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "Required for embed"
},
"encoding_format": {
"type": "string",
"enum": [
"float",
"base64"
]
},
"config": {
"type": "object",
"properties": {
"defaultModel": {
"type": "string"
},
"byokKey": {
"type": "string"
},
"maxTokensPerRequest": {
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"allowedModels": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false,
"description": "Required for update_config"
},
"startDate": {
"type": "string"
},
"endDate": {
"type": "string"
},
"prompt": {
"type": "string",
"description": "Required for submit_video"
},
"duration": {
"type": "integer",
"exclusiveMinimum": 0
},
"resolution": {
"type": "string"
},
"aspect_ratio": {
"type": "string"
},
"generate_audio": {
"type": "boolean"
},
"seed": {
"type": "integer"
},
"job_id": {
"type": "string",
"description": "Required for poll_video"
},
"forward_url": {
"type": "string",
"description": "Required for configure_meetings_webhook"
},
"rotate_secret": {
"type": "boolean",
"description": "For configure_meetings_webhook — generate a new signing secret"
},
"meeting_url": {
"type": "string",
"description": "Required for start_meeting"
},
"meeting_id": {
"type": "string",
"description": "Required for get_meeting / stop_meeting"
},
"transcript": {
"type": "boolean",
"description": "For start_meeting / estimate_meeting (default true)"
},
"recording": {
"type": [
"string",
"boolean"
],
"enum": [
"mp4",
"audio_only",
"false",
false
],
"description": "For start_meeting: \"mp4\" (default), \"audio_only\", or false to skip recording"
},
"metadata": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "For start_meeting — arbitrary string→string map; keys may not start with bb_"
},
"bot_name": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "For start_meeting — display name the bot uses when it joins (1–64 chars). Defaults to \"Butterbase Notetaker\"."
},
"automatic_leave": {
"type": "object",
"properties": {
"waiting_room_timeout_sec": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 86400
},
"no_one_joined_timeout_sec": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 86400
},
"everyone_left_timeout_sec": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 86400
},
"in_call_not_recording_timeout_sec": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 86400
}
},
"additionalProperties": false,
"description": "For start_meeting — per-bot overrides for auto-leave timers (seconds). Any field omitted inherits the provider default. e.g. { waiting_room_timeout_sec: 900 } leaves if not admitted within 15 min."
},
"status": {
"type": "string",
"enum": [
"joining",
"waiting_room",
"in_call",
"recording",
"ended",
"done",
"fatal"
],
"description": "For list_meetings — filter to one lifecycle phase"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "For list_meetings (default 20)"
},
"cursor": {
"type": "string",
"description": "For list_meetings pagination"
},
"duration_minutes": {
"type": "integer",
"minimum": 1,
"maximum": 1440,
"description": "Required for estimate_meeting"
}
},
"required": [
"app_id",
"action"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}