{"openapi":"3.1.0","info":{"title":"API Endpoints","version":"1.0.0"},"paths":{"/api/v1/bots/create_bot":{"post":{"operationId":"createBot","summary":"Create Bot","description":"This endpoint supports 20 different payload variations. Use the dropdown above the code panel to explore configurations for various use cases.","tags":["bots"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBotRequest"}}}}}},"/api/v1/calendar/scheduled_bots/{bot_id}":{"patch":{"operationId":"rescheduleBot","summary":"Reschedule Bot","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RescheduleBotResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RescheduleBotRequest"}}}}},"delete":{"operationId":"deleteScheduledBot","summary":"Delete Scheduled Bot","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteScheduledBotResponse"}}}}}}},"/api/v1/bots/{bot_id}/status":{"get":{"operationId":"getBotStatus","summary":"Get Bot Status","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotStatusResponse"}}}}}}},"/api/v1/bots/{bot_id}/detail":{"get":{"operationId":"getBotDetails","summary":"Get Bot Details","description":"Participants activity can be fetched from the link in the response payload.","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotDetailsResponse"}}}}}}},"/api/v1/bots/{bot_id}/summary":{"get":{"operationId":"getBotSummary","summary":"Get Bot Summary","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotDetailsResponse"}}}}}}},"/api/v1/bots/{bot_id}/get_audio":{"get":{"operationId":"getBotAudio","summary":"Get Bot Audio","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotAudioResponse"}}}}}}},"/api/v1/bots/{bot_id}/get_video":{"get":{"operationId":"getBotVideo","summary":"Get Bot Video","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotVideoResponse"}}}}}}},"/api/v1/bots/{bot_id}/get_recording_streams":{"get":{"operationId":"getRecordingStreams","summary":"Get Recording Streams","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotVideoResponse"}}}}}}},"/api/v1/bots/{bot_id}/get_audio_streams":{"get":{"operationId":"getAudioStreams","summary":"Get Audio Streams","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotAudioStreamsResponse"}}}}}}},"/api/v1/bots/{bot_id}/remove_bot":{"get":{"operationId":"removeBot","summary":"Remove Bot","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveBotResponse"}}}}}}},"/api/v1/bots/{bot_id}/pause_recording":{"post":{"operationId":"pauseBotRecording","summary":"Pause Bot Recording","description":"Temporarily pauses capture for a bot that is currently recording in a Google Meet meeting.\nThe bot remains in the meeting, but recorded and streamed video becomes black, audio becomes\nsilent, and real-time transcription stops producing words. The recording timeline is preserved.\n\nThis operation is idempotent. Pausing an already-paused bot is accepted and has no additional effect.\n","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","description":"The ID returned when the bot was created.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The pause command was accepted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PauseRecordingResponse"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"description":"Any type"}}}},"403":{"description":"The bot does not belong to your account.","content":{"application/json":{"schema":{"description":"Any type"}}}},"404":{"description":"Bot not found.","content":{"application/json":{"schema":{"description":"Any type"}}}},"409":{"description":"The bot is not currently in the meeting.","content":{"application/json":{"schema":{"description":"Any type"}}}},"429":{"description":"Rate limit exceeded. This endpoint allows 30 requests per minute per bot.","content":{"application/json":{"schema":{"description":"Any type"}}}},"503":{"description":"The bot is not currently recording or is unreachable.","content":{"application/json":{"schema":{"description":"Any type"}}}}}}},"/api/v1/bots/{bot_id}/resume_recording":{"post":{"operationId":"resumeBotRecording","summary":"Resume Bot Recording","description":"Resumes normal video, audio, stream, and real-time transcription capture for a paused bot\nin a Google Meet meeting. The recording continues on the original timeline.\n\nThis operation is idempotent. Resuming a bot that is already recording is accepted and has\nno additional effect.\n","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","description":"The ID returned when the bot was created.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The resume command was accepted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResumeRecordingResponse"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"description":"Any type"}}}},"403":{"description":"The bot does not belong to your account.","content":{"application/json":{"schema":{"description":"Any type"}}}},"404":{"description":"Bot not found.","content":{"application/json":{"schema":{"description":"Any type"}}}},"409":{"description":"The bot is not currently in the meeting.","content":{"application/json":{"schema":{"description":"Any type"}}}},"429":{"description":"Rate limit exceeded. This endpoint allows 30 requests per minute per bot.","content":{"application/json":{"schema":{"description":"Any type"}}}},"503":{"description":"The bot is not currently recording or is unreachable.","content":{"application/json":{"schema":{"description":"Any type"}}}}}}},"/api/v1/bots/{bot_id}/get_speaker_timeline":{"get":{"operationId":"getSpeakerTimeline","summary":"Get Speaker Timeline","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeakerTimelineResponse"}}}}}}},"/api/v1/bots/{bot_id}/get_chats":{"get":{"operationId":"getBotChats","summary":"Get Bot Chats","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotChatsResponse"}}}}}}},"/api/v1/bots/{bot_id}/get_screenshots":{"get":{"operationId":"getBotScreenshots","summary":"Get Bot Screenshots","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotScreenshotsResponse"}}}}}}},"/api/v1/bots/{bot_id}/get_participants":{"get":{"operationId":"fetchParticipants","summary":"Fetch Participants","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FetchParticipantsResponse"}}}}}}},"/api/v1/bots/{bot_id}/delete":{"delete":{"operationId":"deleteBotData","summary":"Delete Data","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteDataResponse"}}}}}}},"/api/v1/bots":{"get":{"operationId":"listBots","summary":"List Bots","tags":["bots"],"parameters":[{"name":"status","in":"query","description":"Filter bots by status.","required":false,"schema":{"type":"string"}},{"name":"from","in":"query","description":"Start date for the results, in YYYY-MM-DD format.","required":false,"schema":{"type":"string","format":"date"}},{"name":"to","in":"query","description":"End date for the results, in YYYY-MM-DD format.","required":false,"schema":{"type":"string","format":"date"}},{"name":"platform","in":"query","description":"Filter bots by meeting platform. Select one of the supported values; capitalization matters.","required":false,"schema":{"$ref":"#/components/schemas/ApiV1BotsGetParametersPlatform"}},{"name":"custom_attr[tag]","in":"query","description":"Filter by the custom attribute named `tag`. Custom attribute filters are combined with AND.","required":false,"schema":{"type":"string"}},{"name":"custom_attr[sample]","in":"query","description":"Filter by the custom attribute named `sample`. Custom attribute filters are combined with AND.","required":false,"schema":{"type":"string"}},{"name":"custom_attr[count]","in":"query","description":"Filter by the numeric custom attribute named `count`. The value is parsed as JSON and combined with other custom attribute filters using AND.","required":false,"schema":{"type":"number","format":"double"}},{"name":"custom_attr[enabled]","in":"query","description":"Filter by the boolean custom attribute named `enabled`. The value is parsed as JSON and combined with other custom attribute filters using AND.","required":false,"schema":{"type":"boolean"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListBotsResponse"}}}}}}},"/api/v1/bots/{bot_id}/send_message":{"post":{"operationId":"sendMessage","summary":"Send Message","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageRequest"}}}}}},"/api/v1/bots/{bot_id}/send_image":{"post":{"operationId":"sendImage","summary":"Send Image","tags":["bots"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendImageResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendImageRequest"}}}}}},"/api/v1/transcript/{transcript_id}/get_transcript":{"get":{"operationId":"getTranscription","summary":"Get Transcription","tags":["transcription"],"parameters":[{"name":"transcript_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"raw","in":"query","description":"Set to true to retrieve the raw unformatted transcript from the provider.","required":false,"schema":{"type":"boolean"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transcription_getTranscription_Response_200"}}}}}}},"/api/v1/bots/{bot_id}/transcribe":{"post":{"operationId":"transcribeBotAudio","summary":"Transcribe","tags":["transcription"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscribeResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscribeRequest"}}}}}},"/api/v1/bots/{bot_id}/transcriptions":{"get":{"operationId":"getBotTranscriptions","summary":"Transcriptions","tags":["transcription"],"parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotTranscriptionsResponse"}}}}}}},"/api/v1/calendar/create_calendar":{"post":{"operationId":"createCalendar","summary":"Create Calendar","tags":["calendar"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCalendarResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarCreateRequest"}}}}}},"/api/v1/calendar/disconnect":{"post":{"operationId":"disconnectCalendar","summary":"Disconnect Calendar","tags":["calendar"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Calendar_disconnectCalendar_Response_200"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarCreateRequest"}}}}}},"/api/v1/calendar":{"get":{"operationId":"getCalendars","summary":"Get Calendars","tags":["calendar"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCalendarsResponse"}}}}}}},"/api/v1/calendar/schedule/{event_id}":{"post":{"operationId":"scheduleEvent","summary":"Schedule Event","tags":["calendar"],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleEventResponse"}}}}}},"delete":{"operationId":"removeScheduleEvent","summary":"Remove Schedule Event","tags":["calendar"],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Calendar_removeScheduleEvent_Response_200"}}}}}}},"/api/v1/calendar/events":{"get":{"operationId":"fetchSyncEvents","summary":"Fetch/Sync Events","tags":["calendar"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FetchEventsResponse"}}}}}}},"/api/v1/calendar/toggle-recurrence":{"post":{"operationId":"toggleRecurringEvent","summary":"Toggle Recurring Event","tags":["calendar"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Calendar_toggleRecurringEvent_Response_200"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToggleRecurringEventRequest"}}}}}},"/api/v1/calendar/auto-schedule/enable":{"post":{"operationId":"setupCron","summary":"Setup Cron","tags":["calendar"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetupCronResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetupCronRequest"}}}}}},"/api/v1/calendar/auto-schedule/disable":{"post":{"operationId":"disableCron","summary":"Disable Cron","tags":["calendar"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Calendar_disableCron_Response_200"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetupCronRequest"}}}}}},"/api/v1/calendar/auto-schedule/settings":{"get":{"operationId":"getAutoScheduleSettings","summary":"Get Auto-Schedule Settings","description":"Returns whether calendar auto-scheduling is enabled and the default bot config used for automatically scheduled bots.","tags":["calendar"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Current settings","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Calendar_getAutoScheduleSettings_Response_200"}}}}}}},"/api/v1/calendar/scheduled_bots":{"get":{"operationId":"listScheduledBots","summary":"List Scheduled Bots","description":"Returns all bots with a scheduled join time in the future - both join_at bots and calendar-scheduled bots.","tags":["calendar"],"parameters":[{"name":"limit","in":"query","description":"Maximum number of bots to return","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":100}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Upcoming scheduled bots","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Calendar_listScheduledBots_Response_200"}}}}}}},"/api/v1/calendar/create_outlook_calendar":{"post":{"operationId":"createOutlookCalendar","summary":"Create Outlook Calendar","description":"Connect an Outlook / Microsoft 365 calendar using an Azure app registration's refresh-token flow. MeetStream validates the credentials against Microsoft's OAuth endpoint, resolves the account email via Microsoft Graph (that email becomes the account_id), fetches all calendars on the account, and registers Graph change-notification subscriptions for real-time sync. Reconnecting an already-connected account without `replace: true` returns 409 Conflict.","tags":["calendar"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Connection record (no token material)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Calendar_createOutlookCalendar_Response_200"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutlookCalendarCreateRequest"}}}}}},"/api/v1/zoom/oauth/authorize-url":{"get":{"operationId":"getZoomAuthorizeUrl","summary":"Get Zoom Authorize URL","description":"Returns the Zoom OAuth authorize URL to open in an end-user's browser. The optional `state` parameter is round-tripped through Zoom back to your redirect URI - use it to carry your own end-user identifier. The `redirect_uri` must match your Zoom app's registered redirect URL byte-for-byte.","tags":["zoomOAuthObf"],"parameters":[{"name":"redirect_uri","in":"query","description":"Your HTTPS callback URL. Must exactly match the Zoom app's registered redirect URL and the redirect_uri later sent to the connections endpoint.","required":true,"schema":{"type":"string"}},{"name":"state","in":"query","description":"Opaque value round-tripped to your callback (e.g. your end-user's ID).","required":false,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Authorize URL created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Zoom OAuth (OBF)_getZoomAuthorizeUrl_Response_200"}}}}}}},"/api/v1/zoom/oauth/connections":{"post":{"operationId":"createZoomOAuthConnection","summary":"Create Zoom OAuth Connection","description":"Exchange the `code` from Zoom's redirect for a stored connection. Call this from your server when your redirect URI receives `?code=...&state=...`. Save the returned `zoom_user_id` against your end-user record - you pass it back on create_bot as `zoom.zoom_oauth_connection_user_id`.","tags":["zoomOAuthObf"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Connection stored","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoomOAuthConnection"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoomOAuthConnectionCreateRequest"}}}}},"get":{"operationId":"listZoomOAuthConnections","summary":"List Zoom OAuth Connections","description":"Lists all Zoom OAuth connections for your account. Token material (access/refresh tokens) is never returned - only identity, metadata, state, and timestamps.","tags":["zoomOAuthObf"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Connections","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ZoomOAuthConnection"}}}}}}}},"/api/v1/zoom/oauth/connections/{zoom_user_id}":{"get":{"operationId":"getZoomOAuthConnection","summary":"Get Zoom OAuth Connection","description":"Fetch a single end-user connection by Zoom user ID. No token material is returned.","tags":["zoomOAuthObf"],"parameters":[{"name":"zoom_user_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoomOAuthConnection"}}}}}},"delete":{"operationId":"deleteZoomOAuthConnection","summary":"Delete Zoom OAuth Connection","description":"Disconnect that Zoom user. Bots can no longer be created on their behalf until they re-authorize.","tags":["zoomOAuthObf"],"parameters":[{"name":"zoom_user_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Disconnected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Zoom OAuth (OBF)_deleteZoomOAuthConnection_Response_200"}}}}}}},"/api/v1/admin/configs":{"put":{"operationId":"setStorageConfig","summary":"Set Storage Config","description":"Bring your own S3 bucket: MeetStream writes bot media (audio, video, transcripts, metadata) directly into your bucket. Only provider `aws` is supported; S3-compatible stores (MinIO, Cloudflare R2) work via `endpoint_url`. For `read_write` mode MeetStream performs a live HeadBucket validation; for `write_only` it writes probe objects under each configured prefix. Config changes do not move already-written media.","tags":["storageConfig"],"parameters":[{"name":"config_type","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ApiV1AdminConfigsPutParametersConfigType"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Configuration saved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Storage Config_setStorageConfig_Response_200"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StorageConfigRequest"}}}}},"get":{"operationId":"getStorageConfig","summary":"Get Storage Config","description":"Returns your current storage configuration. Credential fields are never included.","tags":["storageConfig"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Current storage configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Storage Config_getStorageConfig_Response_200"}}}}}},"delete":{"operationId":"deleteStorageConfig","summary":"Delete Storage Config","description":"Removes your credentials and storage configuration. New bots write to the MeetStream platform bucket again; files already written to your bucket are not touched.","tags":["storageConfig"],"parameters":[{"name":"key_name","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ApiV1AdminConfigsDeleteParametersKeyName"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Configuration deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Storage Config_deleteStorageConfig_Response_200"}}}}}}},"/api/v1/google-login-domains":{"post":{"operationId":"createGoogleDomain","summary":"Create Google Domain","tags":["googleLogin"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateGoogleDomainResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginGroupRequest"}}}}},"get":{"operationId":"listGoogleDomains","summary":"List Google Domains","tags":["googleLogin"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListGoogleDomainsResponse"}}}}}}},"/api/v1/google-login-domains/{domain}":{"get":{"operationId":"getGoogleDomain","summary":"Get Google Domain","tags":["googleLogin"],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetGoogleDomainResponse"}}}}}},"patch":{"operationId":"updateGoogleDomain","summary":"Update Google Domain","tags":["googleLogin"],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGoogleDomainResponse"}}}}}},"delete":{"operationId":"deleteGoogleDomain","summary":"Delete Google Domain","tags":["googleLogin"],"parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Google Login_deleteGoogleDomain_Response_200"}}}}}}},"/api/v1/google-logins":{"post":{"operationId":"createGoogleLogin","summary":"Create Google Login","tags":["googleLogin"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateGoogleLoginResponse"}}}}}},"get":{"operationId":"listGoogleLogins","summary":"List Google Logins","tags":["googleLogin"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListGoogleLoginsResponse"}}}}}}},"/api/v1/google-logins/{login_id}":{"patch":{"operationId":"updateGoogleLogin","summary":"Update Google Login","tags":["googleLogin"],"parameters":[{"name":"login_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGoogleLoginResponse"}}}}}},"delete":{"operationId":"deleteGoogleLogin","summary":"Delete Google Login","tags":["googleLogin"],"parameters":[{"name":"login_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteGoogleLoginResponse"}}}}}}},"/api/v1/mia":{"post":{"operationId":"createAgentConfig","summary":"Create Agent Config","description":"For more information on customizing the payload, please refer to [MIA Configurations](https://docs.meetstream.ai/guides/mia-meetstream-infrastructure-agents/mia-configurations) in our guides.","tags":["mia"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MIACreateConfigResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MIACreateConfigRequest"}}}}},"put":{"operationId":"updateAgentConfig","summary":"Update Agent Config","tags":["mia"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MIAUpdateConfigResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MIAUpdateConfigRequest"}}}}},"get":{"operationId":"getAgentConfigs","summary":"Get Agent Configs","tags":["mia"],"parameters":[{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MIAGetConfigsResponse"}}}}}},"delete":{"operationId":"deleteAgentConfig","summary":"Delete Agent Config","tags":["mia"],"parameters":[{"name":"agent_config_id","in":"query","description":"The ID of the agent configuration to delete.","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Format: Token <your_api_key>","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MIADeleteConfigResponse"}}}}}}}},"servers":[{"url":"https://api.meetstream.ai","description":"Meetstream API v1"}],"components":{"schemas":{"CreateBotRequestZoom":{"type":"object","properties":{"use_zoom_obf":{"type":"boolean","description":"Enable Zoom OBF (On-Behalf-Of) feature."}},"description":"Zoom-specific configuration options.","title":"CreateBotRequestZoom"},"CreateBotRequestSocketConnectionUrl":{"type":"object","properties":{"websocket_url":{"type":"string"}},"description":"WebSocket URL for two-way audio/data bridge connection.","title":"CreateBotRequestSocketConnectionUrl"},"CreateBotRequestLiveAudioRequired":{"type":"object","properties":{"websocket_url":{"type":"string"}},"description":"WebSocket URL to stream live audio output from the meeting.","title":"CreateBotRequestLiveAudioRequired"},"CreateBotRequestLiveVideoRequired":{"type":"object","properties":{"websocket_url":{"type":"string"}},"description":"WebSocket URL to stream live video output from the meeting.","title":"CreateBotRequestLiveVideoRequired"},"CreateBotRequestLiveTranscriptionRequired":{"type":"object","properties":{"webhook_url":{"type":"string"}},"description":"Webhook URL to receive live transcription events.","title":"CreateBotRequestLiveTranscriptionRequired"},"AutomaticLeaveConfig":{"type":"object","properties":{"waiting_room_timeout":{"type":"integer","description":"Seconds to wait in a waiting room before leaving.\n(Default Value: 600 seconds / 10 min)"},"no_one_joined_timeout":{"type":"integer","description":"Seconds to stay in an empty meeting waiting for the first other participant to join.\n(Default Value: 600 seconds / 10 min)"},"everyone_left_timeout":{"type":"integer","description":"Seconds to stay in the call after everyone else leaves. (Default Value: 300 seconds / 5 minutes)"},"voice_inactivity_timeout":{"type":"integer","description":"Seconds to wait if no audio is detected. (Default Value: 100 seconds / 1 minute and 40 seconds)"},"in_call_recording_timeout":{"type":"integer","description":"Maximum seconds to stay in call while recording. (Default Value: 14400 seconds / 4 hours)"},"recording_permission_denied_timeout":{"type":"integer","description":"Seconds to wait if recording permission is denied. This is specific to Zoom only. (Default Value: 60 seconds / 1 minute)."}},"description":"Configure how long the bot should remain in the meeting under different conditions before leaving automatically. All timeout values are specified in seconds and accept integer values only.","title":"AutomaticLeaveConfig"},"RecordingConfigRetentionType":{"type":"string","enum":["timed"],"default":"timed","title":"RecordingConfigRetentionType"},"RecordingConfigRetention":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/RecordingConfigRetentionType","default":"timed"},"hours":{"type":"integer","default":24}},"title":"RecordingConfigRetention"},"RecordingConfigTranscriptProviderDeepgramModel":{"type":"string","enum":["nova-3"],"default":"nova-3","title":"RecordingConfigTranscriptProviderDeepgramModel"},"RecordingConfigTranscriptProviderDeepgram":{"type":"object","properties":{"model":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderDeepgramModel"},"language":{"type":"string","default":"en"},"punctuate":{"type":"boolean","default":true},"smart_format":{"type":"boolean","default":true},"diarize":{"type":"boolean","default":true},"paragraphs":{"type":"boolean","default":true},"numerals":{"type":"boolean","default":true},"filler_words":{"type":"boolean","default":false},"utterances":{"type":"boolean","default":true},"utt_split":{"type":"number","format":"double","default":0.8},"detect_language":{"type":"boolean","default":false},"keywords":{"type":"array","items":{"type":"string"}},"search":{"type":"array","items":{"type":"string"}},"tag":{"type":"array","items":{"type":"string"}}},"required":["model","language","punctuate","smart_format","diarize","paragraphs","numerals","filler_words","utterances","utt_split","detect_language"],"title":"RecordingConfigTranscriptProviderDeepgram"},"RecordingConfigTranscriptProviderAssemblyaiSpeechModelsItems":{"type":"string","enum":["universal-2"],"title":"RecordingConfigTranscriptProviderAssemblyaiSpeechModelsItems"},"RecordingConfigTranscriptProviderAssemblyai":{"type":"object","properties":{"speech_models":{"type":"array","items":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderAssemblyaiSpeechModelsItems"}},"language_code":{"type":"string","default":"en_us"},"speaker_labels":{"type":"boolean","default":true},"punctuate":{"type":"boolean","default":true},"format_text":{"type":"boolean","default":true},"filter_profanity":{"type":"boolean","default":false},"redact_pii":{"type":"boolean","default":false},"auto_chapters":{"type":"boolean","default":false},"entity_detection":{"type":"boolean","default":false},"keyterms_prompt":{"type":"array","items":{"type":"string"}}},"required":["speech_models","language_code","speaker_labels","punctuate","format_text","filter_profanity","redact_pii","auto_chapters","entity_detection"],"title":"RecordingConfigTranscriptProviderAssemblyai"},"RecordingConfigTranscriptProviderJigsawstack":{"type":"object","properties":{"language":{"type":"string","default":"auto","description":"Automatic detection (`auto`) or one of JigsawStack's 163 codes for 162 supported languages. See https://jigsawstack.com/docs/additional-resources/languages."},"translate":{"type":"boolean","default":false},"by_speaker":{"type":"boolean","default":true}},"required":["language","translate"],"title":"RecordingConfigTranscriptProviderJigsawstack"},"RecordingConfigTranscriptProviderSarvamModel":{"type":"string","enum":["saaras:v3"],"default":"saaras:v3","title":"RecordingConfigTranscriptProviderSarvamModel"},"RecordingConfigTranscriptProviderSarvamMode":{"type":"string","enum":["transcribe","translate"],"default":"transcribe","title":"RecordingConfigTranscriptProviderSarvamMode"},"RecordingConfigTranscriptProviderSarvam":{"type":"object","properties":{"model":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderSarvamModel"},"language_code":{"type":"string","default":"en-IN"},"mode":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderSarvamMode"},"with_diarization":{"type":"boolean","default":true}},"required":["model","language_code","mode","with_diarization"],"title":"RecordingConfigTranscriptProviderSarvam"},"RecordingConfigTranscriptProviderMeetingCaptions":{"type":"object","properties":{},"description":"Uses the meeting platform's native captions. No additional config required.","title":"RecordingConfigTranscriptProviderMeetingCaptions"},"RecordingConfigTranscriptProviderMeetstream":{"type":"object","properties":{"language":{"type":"string","default":"auto"},"translate":{"type":"boolean","default":false}},"required":["language","translate"],"title":"RecordingConfigTranscriptProviderMeetstream"},"RecordingConfigTranscriptProviderAssemblyaiStreamingSpeechModel":{"type":"string","enum":["universal-streaming-english"],"default":"universal-streaming-english","title":"RecordingConfigTranscriptProviderAssemblyaiStreamingSpeechModel"},"RecordingConfigTranscriptProviderAssemblyaiStreamingTranscriptionMode":{"type":"string","enum":["raw","sentence"],"default":"raw","title":"RecordingConfigTranscriptProviderAssemblyaiStreamingTranscriptionMode"},"RecordingConfigTranscriptProviderAssemblyaiStreamingEncoding":{"type":"string","enum":["pcm_s16le"],"default":"pcm_s16le","title":"RecordingConfigTranscriptProviderAssemblyaiStreamingEncoding"},"RecordingConfigTranscriptProviderAssemblyaiStreaming":{"type":"object","properties":{"speech_model":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderAssemblyaiStreamingSpeechModel"},"transcription_mode":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderAssemblyaiStreamingTranscriptionMode"},"sample_rate":{"type":"integer","default":48000},"format_turns":{"type":"boolean","default":false},"encoding":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderAssemblyaiStreamingEncoding"},"vad_threshold":{"type":"string","default":"0.4"},"end_of_turn_confidence_threshold":{"type":"string","default":"0.4"},"inactivity_timeout":{"type":"integer","default":300},"min_end_of_turn_silence_when_confident":{"type":"string","default":"400"},"max_turn_silence":{"type":"string","default":"1280"}},"required":["speech_model","transcription_mode","sample_rate","format_turns","encoding","vad_threshold","end_of_turn_confidence_threshold","inactivity_timeout","min_end_of_turn_silence_when_confident","max_turn_silence"],"title":"RecordingConfigTranscriptProviderAssemblyaiStreaming"},"RecordingConfigTranscriptProviderDeepgramStreamingModel":{"type":"string","enum":["nova-2"],"default":"nova-2","title":"RecordingConfigTranscriptProviderDeepgramStreamingModel"},"RecordingConfigTranscriptProviderDeepgramStreamingTranscriptionMode":{"type":"string","enum":["sentence","word","raw"],"default":"sentence","title":"RecordingConfigTranscriptProviderDeepgramStreamingTranscriptionMode"},"RecordingConfigTranscriptProviderDeepgramStreamingEncoding":{"type":"string","enum":["linear16"],"default":"linear16","title":"RecordingConfigTranscriptProviderDeepgramStreamingEncoding"},"RecordingConfigTranscriptProviderDeepgramStreaming":{"type":"object","properties":{"model":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderDeepgramStreamingModel"},"transcription_mode":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderDeepgramStreamingTranscriptionMode"},"language":{"type":"string","default":"en"},"punctuate":{"type":"boolean","default":true},"smart_format":{"type":"boolean","default":true},"endpointing":{"type":"integer","default":300},"vad_events":{"type":"boolean","default":true},"utterance_end_ms":{"type":"integer","default":1000},"encoding":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderDeepgramStreamingEncoding"},"channels":{"type":"integer","default":1}},"required":["model","transcription_mode","language","punctuate","smart_format","endpointing","vad_events","utterance_end_ms","encoding","channels"],"title":"RecordingConfigTranscriptProviderDeepgramStreaming"},"RecordingConfigTranscriptProvider":{"type":"object","properties":{"deepgram":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderDeepgram"},"assemblyai":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderAssemblyai"},"jigsawstack":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderJigsawstack"},"sarvam":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderSarvam"},"meeting_captions":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderMeetingCaptions","description":"Uses the meeting platform's native captions. No additional config required."},"meetstream":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderMeetstream"},"assemblyai_streaming":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderAssemblyaiStreaming"},"deepgram_streaming":{"$ref":"#/components/schemas/RecordingConfigTranscriptProviderDeepgramStreaming"}},"description":"Transcription provider config. Use one provider key per request.","title":"RecordingConfigTranscriptProvider"},"RecordingConfigTranscript":{"type":"object","properties":{"provider":{"$ref":"#/components/schemas/RecordingConfigTranscriptProvider","description":"Transcription provider config. Use one provider key per request."}},"required":["provider"],"title":"RecordingConfigTranscript"},"RecordingConfigRealtimeEndpointsItems":{"type":"object","properties":{"type":{"type":"string"},"url":{"type":"string"},"events":{"type":"array","items":{"type":"string"}}},"title":"RecordingConfigRealtimeEndpointsItems"},"RecordingConfig":{"type":"object","properties":{"retention":{"$ref":"#/components/schemas/RecordingConfigRetention"},"transcript":{"$ref":"#/components/schemas/RecordingConfigTranscript"},"realtime_endpoints":{"type":"array","items":{"$ref":"#/components/schemas/RecordingConfigRealtimeEndpointsItems"}}},"description":"Bot media is retained indefinitely by default. Additional charges apply based on your storage usage and retention at $0.20/GB.","title":"RecordingConfig"},"CreateBotRequest":{"type":"object","properties":{"meeting_link":{"type":"string","description":"The URL of the Google Meet, Zoom, or Teams meeting."},"bot_name":{"type":"string","description":"The display name the bot will use in the meeting."},"video_required":{"type":"boolean","default":true,"description":"Whether the bot should record video."},"zoom":{"$ref":"#/components/schemas/CreateBotRequestZoom","description":"Zoom-specific configuration options."},"audio_separate_streams":{"type":"boolean","description":"Enable separate audio streams feature."},"video_separate_streams":{"type":"boolean","description":"Enable separate video streams feature."},"bot_message":{"type":"string","description":"An initial message for the bot to post in the meeting chat."},"bot_image_url":{"type":"string","description":"URL for the bot's profile picture or avatar."},"callback_url":{"type":"string","description":"A URL to receive webhook event callbacks."},"join_at":{"type":"string","format":"date-time","description":"ISO 8601 datetime to schedule the bot to join the meeting."},"agent_config_id":{"type":"string","description":"The ID of the agent configuration to enable agentic features."},"custom_attributes":{"type":"object","additionalProperties":{"description":"Any type"},"description":"Arbitrary key-value metadata attached to the bot."},"socket_connection_url":{"$ref":"#/components/schemas/CreateBotRequestSocketConnectionUrl","description":"WebSocket URL for two-way audio/data bridge connection."},"live_audio_required":{"$ref":"#/components/schemas/CreateBotRequestLiveAudioRequired","description":"WebSocket URL to stream live audio output from the meeting."},"live_video_required":{"$ref":"#/components/schemas/CreateBotRequestLiveVideoRequired","description":"WebSocket URL to stream live video output from the meeting."},"workflow_config_ids":{"type":"array","items":{"type":"string"},"description":"List of workflow configuration IDs to trigger post-meeting."},"live_transcription_required":{"$ref":"#/components/schemas/CreateBotRequestLiveTranscriptionRequired","description":"Webhook URL to receive live transcription events."},"automatic_leave":{"$ref":"#/components/schemas/AutomaticLeaveConfig"},"recording_config":{"$ref":"#/components/schemas/RecordingConfig"}},"required":["meeting_link","bot_name"],"title":"CreateBotRequest"},"BotResponse":{"type":"object","properties":{"bot_id":{"type":"string"},"transcript_id":{"type":["string","null"]},"meeting_url":{"type":"string"},"status":{"type":"string"}},"title":"BotResponse"},"RescheduleBotRequest":{"type":"object","properties":{"scheduled_join_time":{"type":"string","format":"date-time"}},"required":["scheduled_join_time"],"title":"RescheduleBotRequest"},"RescheduleBotResponse":{"type":"object","properties":{"message":{"type":"string"},"bot_id":{"type":"string"},"updated_fields":{"type":"array","items":{"type":"string"}},"schedule_updated":{"type":"boolean"}},"title":"RescheduleBotResponse"},"DeleteScheduledBotResponse":{"type":"object","properties":{"message":{"type":"string"},"bot_id":{"type":"string"}},"title":"DeleteScheduledBotResponse"},"BotStatusResponse":{"type":"object","properties":{"bot_id":{"type":"string"},"status":{"type":"string"},"custom_attributes":{"type":"object","additionalProperties":{"description":"Any type"}}},"title":"BotStatusResponse"},"BotDetailsResponseBotDetailsCaptionFile":{"type":"object","properties":{"available":{"type":"boolean"}},"title":"BotDetailsResponseBotDetailsCaptionFile"},"BotDetailsResponseBotDetails":{"type":"object","properties":{"BotID":{"type":"string"},"BotImageURL":{"type":["string","null"]},"BotMessage":{"type":"string"},"BotProfile":{"type":"string"},"BotUsername":{"type":"string"},"CreatedAt":{"type":"string"},"Duration":{"type":"integer"},"EndTime":{"type":"string"},"LastUpdatedAt":{"type":"integer"},"ManifestStatus":{"type":"string"},"MeetingLink":{"type":"string"},"NativeSTT":{"type":"boolean"},"OfferingType":{"type":"string"},"Platform":{"type":"string"},"StartTime":{"type":"string"},"Status":{"type":"string"},"UserID":{"type":"string"},"RequestPayload":{"type":"object","additionalProperties":{"description":"Any type"}},"StatusTimeline":{"type":"object","additionalProperties":{"description":"Any type"}},"custom_attributes":{"type":"object","additionalProperties":{"description":"Any type"}},"caption_file":{"$ref":"#/components/schemas/BotDetailsResponseBotDetailsCaptionFile"}},"title":"BotDetailsResponseBotDetails"},"BotDetailsResponse":{"type":"object","properties":{"bot_details":{"$ref":"#/components/schemas/BotDetailsResponseBotDetails"}},"title":"BotDetailsResponse"},"BotAudioResponse":{"type":"object","properties":{"audio_url":{"type":"string","description":"A pre-signed S3 URL to download the bot's recorded audio. Valid for 1 hour."}},"title":"BotAudioResponse"},"BotVideoResponseVideoInfo":{"type":"object","properties":{"duration":{"type":["integer","null"]},"size_mb":{"type":["number","null"],"format":"double"},"resolution":{"type":"string"},"fps":{"type":["integer","null"]},"frames_processed":{"type":["integer","null"]},"corrupted_frames":{"type":"integer"}},"title":"BotVideoResponseVideoInfo"},"BotVideoResponse":{"type":"object","properties":{"video_url":{"type":"string","description":"A pre-signed S3 URL to download the bot's recorded video. Valid for 10 minutes."},"video_info":{"$ref":"#/components/schemas/BotVideoResponseVideoInfo"}},"title":"BotVideoResponse"},"BotAudioStreamsResponseParticipantsItemsStreamsItemsSegmentsItems":{"type":"object","properties":{"segment_index":{"type":"integer"},"url":{"type":"string","description":"A pre-signed URL for this participant's audio segment."},"filename":{"type":"string"},"duration_seconds":{"type":"number","format":"double"},"sample_rate":{"type":"integer"},"channels":{"type":"integer"},"codec":{"type":"string"}},"title":"BotAudioStreamsResponseParticipantsItemsStreamsItemsSegmentsItems"},"BotAudioStreamsResponseParticipantsItemsStreamsItems":{"type":"object","properties":{"stream_id":{"type":"string"},"segments":{"type":"array","items":{"$ref":"#/components/schemas/BotAudioStreamsResponseParticipantsItemsStreamsItemsSegmentsItems"}}},"title":"BotAudioStreamsResponseParticipantsItemsStreamsItems"},"BotAudioStreamsResponseParticipantsItems":{"type":"object","properties":{"participant_name":{"type":"string"},"streams":{"type":"array","items":{"$ref":"#/components/schemas/BotAudioStreamsResponseParticipantsItemsStreamsItems"}}},"title":"BotAudioStreamsResponseParticipantsItems"},"BotAudioStreamsResponseSummary":{"type":"object","properties":{"total_participants":{"type":"integer"},"total_segments":{"type":"integer"}},"title":"BotAudioStreamsResponseSummary"},"BotAudioStreamsResponse":{"type":"object","properties":{"bot_id":{"type":"string"},"audio_status":{"type":"string"},"audio_streams_available":{"type":"boolean"},"participants":{"type":"array","items":{"$ref":"#/components/schemas/BotAudioStreamsResponseParticipantsItems"}},"summary":{"$ref":"#/components/schemas/BotAudioStreamsResponseSummary"},"message":{"type":"string","description":"Present while streams are processing or when no streams are available."}},"title":"BotAudioStreamsResponse"},"RemoveBotResponse":{"type":"object","properties":{"message":{"type":"string"}},"title":"RemoveBotResponse"},"PauseRecordingResponseStatus":{"type":"string","enum":["accepted"],"description":"Indicates that the pause command was accepted.","title":"PauseRecordingResponseStatus"},"PauseRecordingResponseCommand":{"type":"string","enum":["pause_recording"],"description":"The recording command that was accepted.","title":"PauseRecordingResponseCommand"},"PauseRecordingResponse":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/PauseRecordingResponseStatus","description":"Indicates that the pause command was accepted."},"bot_id":{"type":"string","description":"The ID of the bot receiving the command."},"command":{"$ref":"#/components/schemas/PauseRecordingResponseCommand","description":"The recording command that was accepted."}},"required":["status","bot_id","command"],"title":"PauseRecordingResponse"},"ResumeRecordingResponseStatus":{"type":"string","enum":["accepted"],"description":"Indicates that the resume command was accepted.","title":"ResumeRecordingResponseStatus"},"ResumeRecordingResponseCommand":{"type":"string","enum":["resume_recording"],"description":"The recording command that was accepted.","title":"ResumeRecordingResponseCommand"},"ResumeRecordingResponse":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/ResumeRecordingResponseStatus","description":"Indicates that the resume command was accepted."},"bot_id":{"type":"string","description":"The ID of the bot receiving the command."},"command":{"$ref":"#/components/schemas/ResumeRecordingResponseCommand","description":"The recording command that was accepted."}},"required":["status","bot_id","command"],"title":"ResumeRecordingResponse"},"SpeakerTimelineResponseChunksItems":{"type":"object","properties":{"chunkIndex":{"type":"integer"},"timestamp":{"type":"string"},"sampleRate":{"type":"integer"},"speakerId":{"type":"string"},"speakerName":{"type":"string"},"startByte":{"type":"integer"},"endByte":{"type":"integer"}},"title":"SpeakerTimelineResponseChunksItems"},"SpeakerTimelineResponse":{"type":"object","properties":{"chunks":{"type":"array","items":{"$ref":"#/components/schemas/SpeakerTimelineResponseChunksItems"}},"lastUpdated":{"type":"string"},"audioFilePath":{"type":"string"},"totalFileSize":{"type":"integer"}},"title":"SpeakerTimelineResponse"},"BotChatsResponseMetadata":{"type":"object","properties":{"sessionId":{"type":"integer"},"startTime":{"type":"string"},"lastUpdated":{"type":"string"},"totalMessages":{"type":"integer"},"uniqueSpeakers":{"type":"integer"},"botId":{"type":"string"},"meetingId":{"type":"string"}},"title":"BotChatsResponseMetadata"},"BotChatsResponseSpeakersItems":{"type":"object","properties":{"deviceId":{"type":"string"},"name":{"type":"string"},"displayName":{"type":"string"},"messageCount":{"type":"integer"}},"title":"BotChatsResponseSpeakersItems"},"BotChatsResponseChatMessagesItems":{"type":"object","properties":{"messageId":{"type":"string"},"deviceId":{"type":"string"},"timestamp":{"type":"string"},"text":{"type":"string"},"speakerName":{"type":"string"},"speakerDisplayName":{"type":"string"},"clientTimestamp":{"type":"string"},"sessionTimestamp":{"type":"integer"}},"title":"BotChatsResponseChatMessagesItems"},"BotChatsResponseServerMetadata":{"type":"object","properties":{"savedAt":{"type":"string"},"serverBotId":{"type":"string"},"serverMeetingId":{"type":"string"},"serverVersion":{"type":"string"}},"title":"BotChatsResponseServerMetadata"},"BotChatsResponse":{"type":"object","properties":{"metadata":{"$ref":"#/components/schemas/BotChatsResponseMetadata"},"speakers":{"type":"array","items":{"$ref":"#/components/schemas/BotChatsResponseSpeakersItems"}},"chatMessages":{"type":"array","items":{"$ref":"#/components/schemas/BotChatsResponseChatMessagesItems"}},"messagesBySpeaker":{"type":"object","additionalProperties":{"description":"Any type"}},"serverMetadata":{"$ref":"#/components/schemas/BotChatsResponseServerMetadata"}},"title":"BotChatsResponse"},"BotScreenshotsResponseScreenshotsItems":{"type":"object","properties":{},"title":"BotScreenshotsResponseScreenshotsItems"},"BotScreenshotsResponse":{"type":"object","properties":{"bot_id":{"type":"string"},"screenshots_count":{"type":"integer"},"screenshots":{"type":"array","items":{"$ref":"#/components/schemas/BotScreenshotsResponseScreenshotsItems"}}},"title":"BotScreenshotsResponse"},"FetchParticipantsResponseItems":{"type":"object","properties":{"deviceId":{"type":"string"},"displayName":{"type":"string"},"fullName":{"type":"string"},"profilePicture":{"type":"string"},"status":{"type":"integer"},"humanized_status":{"type":"string"},"streamIds":{"type":"array","items":{"type":"string"}},"lastUpdated":{"type":"string"},"parentDeviceId":{"type":"string","description":"Present only for secondary devices."}},"title":"FetchParticipantsResponseItems"},"FetchParticipantsResponse":{"type":"array","items":{"$ref":"#/components/schemas/FetchParticipantsResponseItems"},"title":"FetchParticipantsResponse"},"DeleteDataResponse":{"type":"object","properties":{"message":{"type":"string"},"bot_id":{"type":"string"},"deleted_objects":{"type":"integer"}},"title":"DeleteDataResponse"},"ApiV1BotsGetParametersPlatform":{"type":"string","enum":["GMeet","Zoom","Teams"],"title":"ApiV1BotsGetParametersPlatform"},"ListBotsResponse":{"type":"object","properties":{"bots":{"type":"array","items":{"type":"object","additionalProperties":{"description":"Any type"}}},"hasNextPage":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"title":"ListBotsResponse"},"SendMessageRequestMetadata":{"type":"object","properties":{"message_type":{"type":"string"}},"title":"SendMessageRequestMetadata"},"SendMessageRequest":{"type":"object","properties":{"message":{"type":"string"},"metadata":{"$ref":"#/components/schemas/SendMessageRequestMetadata"}},"required":["message"],"title":"SendMessageRequest"},"SendMessageResponse":{"type":"object","properties":{"status":{"type":"string"},"bot_id":{"type":"string"},"command":{"type":"string"}},"title":"SendMessageResponse"},"SendImageRequestMetadata":{"type":"object","properties":{"message_type":{"type":"string"}},"title":"SendImageRequestMetadata"},"SendImageRequest":{"type":"object","properties":{"img_url":{"type":"string"},"display_duration":{"type":"integer"},"metadata":{"$ref":"#/components/schemas/SendImageRequestMetadata"}},"required":["img_url"],"title":"SendImageRequest"},"SendImageResponse":{"type":"object","properties":{"status":{"type":"string"},"bot_id":{"type":"string"},"command":{"type":"string"}},"title":"SendImageResponse"},"GetTranscriptionSchemaItemsWordsItems":{"type":"object","properties":{"word":{"type":"string"},"punctuated_word":{"type":"string"},"start":{"type":"number","format":"double"},"end":{"type":"number","format":"double"},"confidence":{"type":"number","format":"double"},"speaker":{"type":"integer"},"speaker_confidence":{"type":"number","format":"double"}},"title":"GetTranscriptionSchemaItemsWordsItems"},"GetTranscriptionSchemaItems":{"type":"object","properties":{"speaker":{"type":"string"},"transcript":{"type":"string"},"start_time":{"type":"number","format":"double"},"end_time":{"type":"number","format":"double"},"absolute_start_time":{"type":"string"},"absolute_end_time":{"type":"string"},"words":{"type":"array","items":{"$ref":"#/components/schemas/GetTranscriptionSchemaItemsWordsItems"}}},"title":"GetTranscriptionSchemaItems"},"GetTranscriptionSchema":{"type":"array","items":{"$ref":"#/components/schemas/GetTranscriptionSchemaItems"},"title":"GetTranscriptionSchema"},"GetRawTranscriptionSchemaWordsItems":{"type":"object","properties":{"text":{"type":"string"},"start":{"type":"integer"},"end":{"type":"integer"},"confidence":{"type":"number","format":"double"},"speaker":{"type":"string"}},"title":"GetRawTranscriptionSchemaWordsItems"},"GetRawTranscriptionSchema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"text":{"type":"string"},"language_code":{"type":"string"},"audio_url":{"type":"string"},"confidence":{"type":"number","format":"double"},"audio_duration":{"type":"integer"},"speaker_labels":{"type":"boolean"},"words":{"type":"array","items":{"$ref":"#/components/schemas/GetRawTranscriptionSchemaWordsItems"}},"utterances":{"type":"array","items":{"type":"object","additionalProperties":{"description":"Any type"}}}},"title":"GetRawTranscriptionSchema"},"Transcription_getTranscription_Response_200":{"oneOf":[{"$ref":"#/components/schemas/GetTranscriptionSchema"},{"$ref":"#/components/schemas/GetRawTranscriptionSchema"}],"title":"Transcription_getTranscription_Response_200"},"TranscribeRequestProviderDeepgramModel":{"type":"string","enum":["nova-3"],"title":"TranscribeRequestProviderDeepgramModel"},"TranscribeRequestProviderDeepgram":{"type":"object","properties":{"model":{"$ref":"#/components/schemas/TranscribeRequestProviderDeepgramModel"},"language":{"type":"string"},"punctuate":{"type":"boolean"},"smart_format":{"type":"boolean"},"diarize":{"type":"boolean"},"paragraphs":{"type":"boolean"},"numerals":{"type":"boolean"},"filler_words":{"type":"boolean"},"keywords":{"type":"array","items":{"type":"string"}},"utterances":{"type":"boolean"},"utt_split":{"type":"number","format":"double"},"detect_language":{"type":"boolean"},"search":{"type":"array","items":{"type":"string"}},"tag":{"type":"array","items":{"type":"string"}}},"title":"TranscribeRequestProviderDeepgram"},"TranscribeRequestProviderMeetstream":{"type":"object","properties":{"language":{"type":"string"},"translate":{"type":"boolean"}},"title":"TranscribeRequestProviderMeetstream"},"TranscribeRequestProviderJigsawstack":{"type":"object","properties":{"language":{"type":"string","description":"Automatic detection (`auto`) or one of JigsawStack's 163 codes for 162 supported languages. See https://jigsawstack.com/docs/additional-resources/languages."},"translate":{"type":"boolean"},"by_speaker":{"type":"boolean"}},"title":"TranscribeRequestProviderJigsawstack"},"TranscribeRequestProviderSarvamModel":{"type":"string","enum":["saaras:v3"],"title":"TranscribeRequestProviderSarvamModel"},"TranscribeRequestProviderSarvamMode":{"type":"string","enum":["transcribe","translate"],"title":"TranscribeRequestProviderSarvamMode"},"TranscribeRequestProviderSarvam":{"type":"object","properties":{"model":{"$ref":"#/components/schemas/TranscribeRequestProviderSarvamModel"},"language_code":{"type":"string"},"mode":{"$ref":"#/components/schemas/TranscribeRequestProviderSarvamMode"},"with_diarization":{"type":"boolean"}},"title":"TranscribeRequestProviderSarvam"},"TranscribeRequestProviderAssemblyaiSpeechModelsItems":{"type":"string","enum":["universal-2"],"title":"TranscribeRequestProviderAssemblyaiSpeechModelsItems"},"TranscribeRequestProviderAssemblyai":{"type":"object","properties":{"speech_models":{"type":"array","items":{"$ref":"#/components/schemas/TranscribeRequestProviderAssemblyaiSpeechModelsItems"}},"language_code":{"type":"string"},"speaker_labels":{"type":"boolean"},"punctuate":{"type":"boolean"},"format_text":{"type":"boolean"},"filter_profanity":{"type":"boolean"},"redact_pii":{"type":"boolean"},"auto_chapters":{"type":"boolean"},"entity_detection":{"type":"boolean"},"keyterms_prompt":{"type":"array","items":{"type":"string"}}},"title":"TranscribeRequestProviderAssemblyai"},"TranscribeRequestProvider":{"type":"object","properties":{"deepgram":{"$ref":"#/components/schemas/TranscribeRequestProviderDeepgram"},"meetstream":{"$ref":"#/components/schemas/TranscribeRequestProviderMeetstream"},"jigsawstack":{"$ref":"#/components/schemas/TranscribeRequestProviderJigsawstack"},"sarvam":{"$ref":"#/components/schemas/TranscribeRequestProviderSarvam"},"assemblyai":{"$ref":"#/components/schemas/TranscribeRequestProviderAssemblyai"}},"title":"TranscribeRequestProvider"},"TranscribeRequest":{"type":"object","properties":{"provider":{"$ref":"#/components/schemas/TranscribeRequestProvider"},"callback_url":{"type":"string"}},"required":["provider"],"title":"TranscribeRequest"},"TranscribeResponse":{"type":"object","properties":{"bot_id":{"type":"string"},"transcript_id":{"type":"string"},"provider":{"type":"string"},"message":{"type":"string"}},"title":"TranscribeResponse"},"BotTranscriptionsResponseTranscriptionsItemsStatus":{"type":"string","enum":["Success","Processing","Failed"],"title":"BotTranscriptionsResponseTranscriptionsItemsStatus"},"BotTranscriptionsResponseTranscriptionsItemsDownloadUrls":{"type":"object","properties":{"raw_transcript":{"type":"string","description":"Pre-signed S3 URL for the raw transcript. Valid for 1 hour."},"processed_transcript":{"type":"string","description":"Pre-signed S3 URL for the processed transcript. Valid for 1 hour."}},"title":"BotTranscriptionsResponseTranscriptionsItemsDownloadUrls"},"BotTranscriptionsResponseTranscriptionsItems":{"type":"object","properties":{"transcript_id":{"type":"string"},"provider":{"type":"string"},"status":{"$ref":"#/components/schemas/BotTranscriptionsResponseTranscriptionsItemsStatus"},"created_at":{"type":"string"},"config":{"type":"object","additionalProperties":{"description":"Any type"}},"download_urls":{"oneOf":[{"$ref":"#/components/schemas/BotTranscriptionsResponseTranscriptionsItemsDownloadUrls"},{"type":"null"}]}},"title":"BotTranscriptionsResponseTranscriptionsItems"},"BotTranscriptionsResponse":{"type":"object","properties":{"bot_id":{"type":"string"},"transcriptions":{"type":"array","items":{"$ref":"#/components/schemas/BotTranscriptionsResponseTranscriptionsItems"}}},"title":"BotTranscriptionsResponse"},"CalendarCreateRequest":{"type":"object","properties":{"google_client_id":{"type":"string"},"google_client_secret":{"type":"string"},"google_refresh_token":{"type":"string"}},"required":["google_client_id","google_client_secret","google_refresh_token"],"title":"CalendarCreateRequest"},"CreateCalendarResponseCalendarsItems":{"type":"object","properties":{"id":{"type":"string"},"summary":{"type":"string"},"description":{"type":["string","null"]},"isPrimary":{"type":"boolean"},"accessRole":{"type":"string"},"timeZone":{"type":"string"},"backgroundColor":{"type":"string"},"foregroundColor":{"type":"string"},"selected":{"type":"boolean"}},"title":"CreateCalendarResponseCalendarsItems"},"CreateCalendarResponseWatchSetupFailedCalendarsItems":{"type":"object","properties":{},"title":"CreateCalendarResponseWatchSetupFailedCalendarsItems"},"CreateCalendarResponseWatchSetupWatchResultsItems":{"type":"object","properties":{"calendar_id":{"type":"string"},"calendar_summary":{"type":"string"},"channel_id":{"type":"string"},"expiration":{"type":"string"}},"title":"CreateCalendarResponseWatchSetupWatchResultsItems"},"CreateCalendarResponseWatchSetup":{"type":"object","properties":{"success":{"type":"boolean"},"status":{"type":"string"},"watches_setup":{"type":"integer"},"message":{"type":"string"},"failed_calendars":{"type":"array","items":{"$ref":"#/components/schemas/CreateCalendarResponseWatchSetupFailedCalendarsItems"}},"watch_results":{"type":"array","items":{"$ref":"#/components/schemas/CreateCalendarResponseWatchSetupWatchResultsItems"}}},"title":"CreateCalendarResponseWatchSetup"},"CreateCalendarResponse":{"type":"object","properties":{"calendar_id":{"type":"string"},"platform":{"type":"string"},"user_email":{"type":"string"},"user_name":{"type":"string"},"primary_calendar_id":{"type":"string"},"message":{"type":"string"},"calendars":{"type":"array","items":{"$ref":"#/components/schemas/CreateCalendarResponseCalendarsItems"}},"watch_setup":{"$ref":"#/components/schemas/CreateCalendarResponseWatchSetup"}},"title":"CreateCalendarResponse"},"Calendar_disconnectCalendar_Response_200":{"type":"object","properties":{},"description":"Empty response body","title":"Calendar_disconnectCalendar_Response_200"},"GetCalendarsResponseCalendarsItems":{"type":"object","properties":{"id":{"type":"string"},"summary":{"type":"string"},"description":{"type":["string","null"]},"isPrimary":{"type":"boolean"},"accessRole":{"type":"string"},"timeZone":{"type":"string"},"backgroundColor":{"type":"string"},"foregroundColor":{"type":"string"},"selected":{"type":"boolean"},"hidden":{"type":"boolean"}},"title":"GetCalendarsResponseCalendarsItems"},"GetCalendarsResponse":{"type":"object","properties":{"total":{"type":"integer"},"user_id":{"type":"string"},"calendars":{"type":"array","items":{"$ref":"#/components/schemas/GetCalendarsResponseCalendarsItems"}}},"title":"GetCalendarsResponse"},"ScheduleEventResponseBotConfig":{"type":"object","properties":{"bot_name":{"type":"string"},"bot_message":{"type":"string"},"bot_image_url":{"type":"string"},"audio_required":{"type":"boolean"},"video_required":{"type":"boolean"},"callback_url":{"type":"string"},"meeting_url":{"type":"string"},"join_at":{"type":"string"},"deduplication_key":{"type":"string"},"automatic_leave":{"type":"object","additionalProperties":{"description":"Any type"}},"recording_config":{"type":"object","additionalProperties":{"description":"Any type"}},"custom_attributes":{"type":"object","additionalProperties":{"description":"Any type"}},"live_audio_required":{"type":"object","additionalProperties":{"description":"Any type"}},"live_transcription_required":{"type":"object","additionalProperties":{"description":"Any type"}}},"title":"ScheduleEventResponseBotConfig"},"ScheduleEventResponse":{"type":"object","properties":{"scheduled":{"type":"boolean"},"schedule_id":{"type":"string"},"bot_id":{"type":"string"},"schedule_group":{"type":"string"},"event_id":{"type":"string"},"scheduled_time":{"type":"string"},"existing_schedules":{"type":"integer"},"occurrence_date":{"type":["string","null"]},"is_recurring_occurrence":{"type":"boolean"},"bot_config":{"$ref":"#/components/schemas/ScheduleEventResponseBotConfig"}},"title":"ScheduleEventResponse"},"Calendar_removeScheduleEvent_Response_200":{"type":"object","properties":{},"description":"Empty response body","title":"Calendar_removeScheduleEvent_Response_200"},"FetchEventsResponseResultsItems":{"type":"object","properties":{"id":{"type":"string"},"start_time":{"type":"string"},"end_time":{"type":"string"},"calendar_id":{"type":"string"},"platform":{"type":"string"},"platform_id":{"type":"string"},"ical_uid":{"type":"string"},"meeting_platform":{"type":"string"},"meeting_url":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"is_deleted":{"type":"boolean"},"raw":{"type":"object","additionalProperties":{"description":"Any type"}},"bots":{"type":"array","items":{"type":"object","additionalProperties":{"description":"Any type"}}}},"title":"FetchEventsResponseResultsItems"},"FetchEventsResponse":{"type":"object","properties":{"next":{"type":["string","null"]},"previous":{"type":["string","null"]},"has_more":{"type":"boolean"},"results":{"type":"array","items":{"$ref":"#/components/schemas/FetchEventsResponseResultsItems"}}},"title":"FetchEventsResponse"},"ToggleRecurringEventRequest":{"type":"object","properties":{"event_id":{"type":"string"},"recurring_enabled":{"type":"boolean"}},"required":["event_id","recurring_enabled"],"title":"ToggleRecurringEventRequest"},"Calendar_toggleRecurringEvent_Response_200":{"type":"object","properties":{},"description":"Empty response body","title":"Calendar_toggleRecurringEvent_Response_200"},"SetupCronRequestDefaultBotConfig":{"type":"object","properties":{"bot_name":{"type":"string"},"audio_required":{"type":"boolean"},"video_required":{"type":"boolean"},"bot_message":{"type":"string"},"bot_image_url":{"type":"string"},"automatic_leave":{"$ref":"#/components/schemas/AutomaticLeaveConfig"}},"title":"SetupCronRequestDefaultBotConfig"},"SetupCronRequest":{"type":"object","properties":{"default_bot_config":{"$ref":"#/components/schemas/SetupCronRequestDefaultBotConfig"}},"title":"SetupCronRequest"},"SetupCronResponseDefaultBotConfigAutomaticLeave":{"type":"object","properties":{"waiting_room_timeout":{"type":"integer"},"everyone_left_timeout":{"type":"integer"},"voice_inactivity_timeout":{"type":"integer"},"in_call_recording_timeout":{"type":"integer"},"recording_permission_denied_timeout":{"type":"integer"}},"title":"SetupCronResponseDefaultBotConfigAutomaticLeave"},"SetupCronResponseDefaultBotConfig":{"type":"object","properties":{"bot_name":{"type":"string"},"audio_required":{"type":"boolean"},"video_required":{"type":"boolean"},"bot_message":{"type":"string"},"bot_image_url":{"type":"string"},"automatic_leave":{"$ref":"#/components/schemas/SetupCronResponseDefaultBotConfigAutomaticLeave"}},"title":"SetupCronResponseDefaultBotConfig"},"SetupCronResponse":{"type":"object","properties":{"message":{"type":"string"},"auto_schedule_enabled":{"type":"boolean"},"default_bot_config":{"$ref":"#/components/schemas/SetupCronResponseDefaultBotConfig"}},"title":"SetupCronResponse"},"Calendar_disableCron_Response_200":{"type":"object","properties":{},"description":"Empty response body","title":"Calendar_disableCron_Response_200"},"ApiV1CalendarAutoScheduleSettingsGetResponsesContentApplicationJsonSchemaDefaultBotConfig":{"type":"object","properties":{},"title":"ApiV1CalendarAutoScheduleSettingsGetResponsesContentApplicationJsonSchemaDefaultBotConfig"},"Calendar_getAutoScheduleSettings_Response_200":{"type":"object","properties":{"auto_schedule_enabled":{"type":"boolean"},"default_bot_config":{"$ref":"#/components/schemas/ApiV1CalendarAutoScheduleSettingsGetResponsesContentApplicationJsonSchemaDefaultBotConfig"}},"title":"Calendar_getAutoScheduleSettings_Response_200"},"ApiV1CalendarScheduledBotsGetResponsesContentApplicationJsonSchemaScheduledBotsItems":{"type":"object","properties":{"bot_id":{"type":"string"},"platform":{"type":"string"},"status":{"type":"string"},"scheduled_join_time":{"type":"string"},"bot_username":{"type":"string"},"meeting_link":{"type":"string"},"custom_attributes":{"type":"object","additionalProperties":{"type":"string"}}},"title":"ApiV1CalendarScheduledBotsGetResponsesContentApplicationJsonSchemaScheduledBotsItems"},"Calendar_listScheduledBots_Response_200":{"type":"object","properties":{"scheduled_bots":{"type":"array","items":{"$ref":"#/components/schemas/ApiV1CalendarScheduledBotsGetResponsesContentApplicationJsonSchemaScheduledBotsItems"}}},"title":"Calendar_listScheduledBots_Response_200"},"OutlookCalendarCreateRequest":{"type":"object","properties":{"microsoft_client_id":{"type":"string"},"microsoft_client_secret":{"type":"string"},"microsoft_refresh_token":{"type":"string"},"replace":{"type":"boolean","default":false,"description":"Allow overwriting an existing connection for the same account (token rotation). Without it, reconnecting returns 409."}},"required":["microsoft_client_id","microsoft_client_secret","microsoft_refresh_token"],"title":"OutlookCalendarCreateRequest"},"Calendar_createOutlookCalendar_Response_200":{"type":"object","properties":{},"description":"The stored connection record. Credential/token material is never returned.","title":"Calendar_createOutlookCalendar_Response_200"},"Zoom OAuth (OBF)_getZoomAuthorizeUrl_Response_200":{"type":"object","properties":{"authorize_url":{"type":"string"}},"title":"Zoom OAuth (OBF)_getZoomAuthorizeUrl_Response_200"},"ZoomOAuthConnectionCreateRequest":{"type":"object","properties":{"code":{"type":"string","description":"The authorization code from Zoom's redirect to your callback"},"redirect_uri":{"type":"string","description":"The exact same redirect URL registered on your Zoom app and used on authorize-url"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Your own key/values to store with the connection (e.g. tenant_user_id)"}},"required":["code","redirect_uri"],"title":"ZoomOAuthConnectionCreateRequest"},"ZoomOAuthConnection":{"type":"object","properties":{"zoom_user_id":{"type":"string","description":"The end-user's Zoom user ID - pass as zoom.zoom_oauth_connection_user_id on create_bot"},"zoom_account_id":{"type":"string"},"email":{"type":"string"},"display_name":{"type":"string"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"state":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"has_refresh_token":{"type":"boolean"}},"title":"ZoomOAuthConnection"},"Zoom OAuth (OBF)_deleteZoomOAuthConnection_Response_200":{"type":"object","properties":{"message":{"type":"string"}},"title":"Zoom OAuth (OBF)_deleteZoomOAuthConnection_Response_200"},"ApiV1AdminConfigsPutParametersConfigType":{"type":"string","enum":["storage"],"title":"ApiV1AdminConfigsPutParametersConfigType"},"StorageConfigRequestProvider":{"type":"string","enum":["aws"],"description":"Only aws is supported","title":"StorageConfigRequestProvider"},"StorageConfigRequestAccessMode":{"type":"string","enum":["read_write","write_only"],"default":"read_write","description":"write_only makes MeetStream fetch endpoints return 403 for media in your bucket","title":"StorageConfigRequestAccessMode"},"StorageConfigRequestPrefixes":{"type":"object","properties":{"audio":{"type":"string"},"video":{"type":"string"},"transcript":{"type":"string"},"metadata":{"type":"string"}},"description":"Per-artifact-category prefix overrides","title":"StorageConfigRequestPrefixes"},"StorageConfigRequest":{"type":"object","properties":{"provider":{"$ref":"#/components/schemas/StorageConfigRequestProvider","description":"Only aws is supported"},"bucket_name":{"type":"string"},"region":{"type":"string"},"access_key_id":{"type":"string"},"secret_key":{"type":"string"},"access_mode":{"$ref":"#/components/schemas/StorageConfigRequestAccessMode","default":"read_write","description":"write_only makes MeetStream fetch endpoints return 403 for media in your bucket"},"prefix":{"type":"string","default":"meetstream","description":"Base key prefix. Leading/trailing slashes stripped; '..' segments rejected. Files are keyed {prefix}/{bot_id}_<file>."},"prefixes":{"$ref":"#/components/schemas/StorageConfigRequestPrefixes","description":"Per-artifact-category prefix overrides"},"endpoint_url":{"type":"string","description":"Custom S3-compatible endpoint (MinIO, Cloudflare R2). Omit for AWS S3."}},"required":["provider","bucket_name","region","access_key_id","secret_key"],"title":"StorageConfigRequest"},"Storage Config_setStorageConfig_Response_200":{"type":"object","properties":{},"description":"Empty response body","title":"Storage Config_setStorageConfig_Response_200"},"Storage Config_getStorageConfig_Response_200":{"type":"object","properties":{},"title":"Storage Config_getStorageConfig_Response_200"},"ApiV1AdminConfigsDeleteParametersKeyName":{"type":"string","enum":["aws"],"title":"ApiV1AdminConfigsDeleteParametersKeyName"},"Storage Config_deleteStorageConfig_Response_200":{"type":"object","properties":{},"description":"Empty response body","title":"Storage Config_deleteStorageConfig_Response_200"},"LoginGroupRequestLoginMode":{"type":"string","enum":["always","if_required"],"title":"LoginGroupRequestLoginMode"},"LoginGroupRequest":{"type":"object","properties":{"user_id":{"type":"string"},"name":{"type":"string"},"login_mode":{"$ref":"#/components/schemas/LoginGroupRequestLoginMode"}},"required":["user_id","name"],"title":"LoginGroupRequest"},"CreateGoogleDomainResponse":{"type":"object","properties":{"sso_workspace_domain":{"type":"string"},"name":{"type":"string"},"login_mode":{"type":"string"},"max_concurrent_per_login":{"type":"integer"},"created_at":{"type":"string"}},"title":"CreateGoogleDomainResponse"},"ListGoogleDomainsResponseDomainsItems":{"type":"object","properties":{"sso_workspace_domain":{"type":"string"},"name":{"type":"string"},"login_mode":{"type":"string"},"max_concurrent_per_login":{"type":"string"},"login_count":{"type":"integer"},"active_login_count":{"type":"integer"},"created_at":{"type":"string"}},"title":"ListGoogleDomainsResponseDomainsItems"},"ListGoogleDomainsResponse":{"type":"object","properties":{"domains":{"type":"array","items":{"$ref":"#/components/schemas/ListGoogleDomainsResponseDomainsItems"}}},"title":"ListGoogleDomainsResponse"},"GetGoogleDomainResponseLoginsItems":{"type":"object","properties":{"login_id":{"type":"string"},"email":{"type":"string"},"is_active":{"type":"boolean"},"active_sessions":{"type":"integer"},"last_test_status":{"type":"string"},"last_tested_at":{"type":["string","null"]}},"title":"GetGoogleDomainResponseLoginsItems"},"GetGoogleDomainResponse":{"type":"object","properties":{"sso_workspace_domain":{"type":"string"},"name":{"type":"string"},"login_mode":{"type":"string"},"max_concurrent_per_login":{"type":"string"},"logins":{"type":"array","items":{"$ref":"#/components/schemas/GetGoogleDomainResponseLoginsItems"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"title":"GetGoogleDomainResponse"},"UpdateGoogleDomainResponseDomain":{"type":"object","properties":{"sso_workspace_domain":{"type":"string"},"name":{"type":"string"},"login_mode":{"type":"string"},"updated_at":{"type":"string"}},"title":"UpdateGoogleDomainResponseDomain"},"UpdateGoogleDomainResponse":{"type":"object","properties":{"success":{"type":"boolean"},"domain":{"$ref":"#/components/schemas/UpdateGoogleDomainResponseDomain"}},"title":"UpdateGoogleDomainResponse"},"Google Login_deleteGoogleDomain_Response_200":{"type":"object","properties":{},"description":"Empty response body","title":"Google Login_deleteGoogleDomain_Response_200"},"CreateGoogleLoginResponse":{"type":"object","properties":{"login_id":{"type":"string"},"domain":{"type":"string"},"email":{"type":"string"},"is_active":{"type":"boolean"},"created_at":{"type":"string"}},"title":"CreateGoogleLoginResponse"},"ListGoogleLoginsResponseLoginsItems":{"type":"object","properties":{"login_id":{"type":"string"},"email":{"type":"string"},"is_active":{"type":"boolean"},"active_sessions":{"type":"integer"},"last_test_status":{"type":"string"},"last_tested_at":{"type":["string","null"]},"created_at":{"type":"string"}},"title":"ListGoogleLoginsResponseLoginsItems"},"ListGoogleLoginsResponse":{"type":"object","properties":{"logins":{"type":"array","items":{"$ref":"#/components/schemas/ListGoogleLoginsResponseLoginsItems"}}},"title":"ListGoogleLoginsResponse"},"UpdateGoogleLoginResponseLogin":{"type":"object","properties":{"login_id":{"type":"string"},"email":{"type":"string"},"is_active":{"type":"boolean"},"updated_at":{"type":"string"}},"title":"UpdateGoogleLoginResponseLogin"},"UpdateGoogleLoginResponse":{"type":"object","properties":{"success":{"type":"boolean"},"login":{"$ref":"#/components/schemas/UpdateGoogleLoginResponseLogin"}},"title":"UpdateGoogleLoginResponse"},"DeleteGoogleLoginResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"}},"title":"DeleteGoogleLoginResponse"},"MiaCreateConfigRequestMode":{"type":"string","enum":["pipeline","realtime"],"title":"MiaCreateConfigRequestMode"},"MiaModelConfigThinkingConfig":{"type":"object","properties":{"include_thoughts":{"type":"boolean"},"thinking_budget":{"type":"integer"}},"title":"MiaModelConfigThinkingConfig"},"MIAModelConfig":{"type":"object","properties":{"provider":{"type":"string"},"model":{"type":"string"},"system_prompt":{"type":"string"},"first_message":{"type":"string"},"max_token":{"type":"integer"},"temperature":{"type":"number","format":"double"},"voice":{"type":"string","description":"Used for realtime mode models that have a built-in voice."},"modalities":{"type":"array","items":{"type":"string"}},"max_response_output_tokens":{"type":"integer"},"max_tokens":{"type":"integer"},"top_p":{"type":"number","format":"double"},"frequency_penalty":{"type":"number","format":"double"},"presence_penalty":{"type":"number","format":"double"},"thinking_config":{"$ref":"#/components/schemas/MiaModelConfigThinkingConfig"},"enable_affective_dialog":{"type":"boolean"},"proactivity":{"type":"boolean"},"disable_automatic_activity_detection":{"type":"boolean"}},"title":"MIAModelConfig"},"MIAVoiceConfig":{"type":"object","properties":{"provider":{"type":"string"},"model":{"type":"string"},"voice_id":{"type":"string"},"speed":{"type":"number","format":"double"}},"title":"MIAVoiceConfig"},"MIATranscriberConfig":{"type":"object","properties":{"provider":{"type":"string"},"model":{"type":"string"},"language":{"type":"string"},"boostwords":{"type":"array","items":{"type":"string"}}},"title":"MIATranscriberConfig"},"MiaAgentConfigInterruptionMode":{"type":"string","enum":["adaptive","vad"],"title":"MiaAgentConfigInterruptionMode"},"MIAInterruptionsConfig":{"type":"object","properties":{"min_duration_seconds":{"type":"number","format":"double"},"word_threshold":{"type":"integer"}},"title":"MIAInterruptionsConfig"},"MIAAgentConfig":{"type":"object","properties":{"tools":{"type":"array","items":{"type":"string"}},"preemptive_generation":{"type":"boolean"},"user_away_timeout":{"type":"number","format":"double"},"interruption_mode":{"$ref":"#/components/schemas/MiaAgentConfigInterruptionMode"},"interruptions":{"$ref":"#/components/schemas/MIAInterruptionsConfig"},"false_interruption_timeout":{"type":"number","format":"double"},"vad_eagerness":{"type":"string"},"vad_type":{"type":"string"},"enable_interruptions":{"type":"boolean"},"resume_false_interruption":{"type":"boolean"},"response_modality":{"type":"string"},"mcp_servers":{"type":"object","additionalProperties":{"description":"Any type"}},"tools_enabled":{"type":"boolean"},"vad_threshold":{"type":"number","format":"double"},"vad_prefix_padding_ms":{"type":"integer"},"vad_silence_duration_ms":{"type":"integer"},"turn_detection":{"type":"string"},"vad_activation_threshold":{"type":"number","format":"double"},"vad_deactivation_threshold":{"type":["number","null"],"format":"double"},"vad_min_silence_duration_ms":{"type":"integer"},"vad_min_speech_duration_ms":{"type":"integer"},"vad_prefix_padding_duration_ms":{"type":"integer"},"endpointing_mode":{"type":"string"},"min_endpointing_delay":{"type":"number","format":"double"},"max_endpointing_delay":{"type":"number","format":"double"}},"title":"MIAAgentConfig"},"MIAAudioConfig":{"type":"object","properties":{"sample_rate":{"type":"integer"},"num_channels":{"type":"integer"}},"title":"MIAAudioConfig"},"MIAWakeWordConfig":{"type":"object","properties":{"enabled":{"type":"boolean"},"words":{"type":"array","items":{"type":"string"}},"timeout":{"type":"integer"}},"title":"MIAWakeWordConfig"},"MIAAvatarConfig":{"type":"object","properties":{"provider":{"type":"string"},"enabled":{"type":"boolean"},"avatar_id":{"type":"string"}},"title":"MIAAvatarConfig"},"MIACreateConfigRequest":{"type":"object","properties":{"agent_name":{"type":"string"},"mode":{"$ref":"#/components/schemas/MiaCreateConfigRequestMode"},"model":{"$ref":"#/components/schemas/MIAModelConfig"},"voice":{"$ref":"#/components/schemas/MIAVoiceConfig"},"transcriber":{"$ref":"#/components/schemas/MIATranscriberConfig"},"agent":{"$ref":"#/components/schemas/MIAAgentConfig"},"audio":{"$ref":"#/components/schemas/MIAAudioConfig"},"wake_word":{"oneOf":[{"$ref":"#/components/schemas/MIAWakeWordConfig"},{"type":"null"}]},"Avatar":{"$ref":"#/components/schemas/MIAAvatarConfig"}},"required":["agent_name","mode","model"],"title":"MIACreateConfigRequest"},"MiaAgentConfigObjectMode":{"type":"string","enum":["pipeline","realtime"],"title":"MiaAgentConfigObjectMode"},"MIAAgentConfigObject":{"type":"object","properties":{"AgentConfigID":{"type":"string"},"UserID":{"type":"string"},"AgentName":{"type":"string"},"Mode":{"$ref":"#/components/schemas/MiaAgentConfigObjectMode"},"Model":{"$ref":"#/components/schemas/MIAModelConfig"},"Voice":{"oneOf":[{"$ref":"#/components/schemas/MIAVoiceConfig"},{"type":"null"}]},"Transcriber":{"oneOf":[{"$ref":"#/components/schemas/MIATranscriberConfig"},{"type":"null"}]},"Agent":{"$ref":"#/components/schemas/MIAAgentConfig"},"Audio":{"$ref":"#/components/schemas/MIAAudioConfig"},"Avatar":{"$ref":"#/components/schemas/MIAAvatarConfig"},"WakeWord":{"type":"object","additionalProperties":{"description":"Any type"}},"CreatedAt":{"type":"string"},"UpdatedAt":{"type":"string"}},"description":"A full agent configuration object as returned by the API.","title":"MIAAgentConfigObject"},"MIACreateConfigResponse":{"type":"object","properties":{"message":{"type":"string"},"agent_config_id":{"type":"string"},"agent_config":{"$ref":"#/components/schemas/MIAAgentConfigObject"}},"title":"MIACreateConfigResponse"},"MiaUpdateConfigRequestMode":{"type":"string","enum":["pipeline","realtime"],"title":"MiaUpdateConfigRequestMode"},"MIAUpdateConfigRequest":{"type":"object","properties":{"agent_config_id":{"type":"string"},"agent_name":{"type":"string"},"mode":{"$ref":"#/components/schemas/MiaUpdateConfigRequestMode"},"model":{"$ref":"#/components/schemas/MIAModelConfig"},"voice":{"$ref":"#/components/schemas/MIAVoiceConfig"},"transcriber":{"$ref":"#/components/schemas/MIATranscriberConfig"},"agent":{"$ref":"#/components/schemas/MIAAgentConfig"},"audio":{"$ref":"#/components/schemas/MIAAudioConfig"}},"required":["agent_config_id"],"title":"MIAUpdateConfigRequest"},"MIAUpdateConfigResponse":{"type":"object","properties":{"message":{"type":"string"},"agent_config":{"$ref":"#/components/schemas/MIAAgentConfigObject"}},"title":"MIAUpdateConfigResponse"},"MIAGetConfigsResponse":{"type":"object","properties":{"agent_configs":{"type":"array","items":{"$ref":"#/components/schemas/MIAAgentConfigObject"}},"count":{"type":"integer"}},"title":"MIAGetConfigsResponse"},"MIADeleteConfigResponse":{"type":"object","properties":{"message":{"type":"string"}},"title":"MIADeleteConfigResponse"}},"securitySchemes":{"TokenAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Format: Token <your_api_key>"}}}}