Get Bot
/bot/{id}https://platform.skribby.io/api/v1/bot/{id}Retrieve information about a specific bot, including its current status, transcript (if available), participants, and lifecycle events.
Path Parameters
| Name | Type | Description |
|---|---|---|
idrequired | string<uuid> | Bot ID |
Query Parameters
| Name | Type | Description |
|---|---|---|
with-speaker-events | boolean | Include speaker events in participant data |
Responses
idstring<uuid>Unique bot identifier
"3c09b2aa-6708-42c1-8145-aa55ee223613"statusstringThe current lifecycle status of the bot.
Refer to the Bot Lifecycle guide for a detailed explanation of each state.
*Note on bot_detected:* This is often non-terminal. Skribby automatically retries up to 3 times. You may see the status toggle between bot_detected and booting during retries.
scheduledbootingjoiningrecordingprocessingtranscribingleavingfinishednot_admittedbot_detectedauth_requiredinvalid_credentialsfailedstop_reasonstring | nullThe reason why the bot stopped. This field is only populated when the status is finished or not_admitted.
Refer to the Bot Lifecycle guide for the machine-to-human mapping of these codes.
invalid_meeting_urlcall_already_finishedwaiting_room_timeoutrequest_deniedhost_in_another_meetingmanually_stoppedkickedmeeting_endedlast_person_detectedsilence_detection_triggeredservicestringService the bot joined
gmeetteamszoomscheduled_forstring<date-time> | nullWhen the bot is scheduled to join (for scheduled bots)
time_limitinteger | nullUse time_limit property in stop_options.
stop_optionsobjectDefined options when the bot should stop on certain conditions.
bot_namestringName of the bot in the meeting
bot_avatarstring<uri> | nullURL to bot avatar image
meeting_urlstring<uri>URL of the meeting
webhook_urlstring<uri> | nullWebhook URL for receiving updates. Refer to the Webhooks section for details on webhook format and available events.
custom_metadataobjectMetadata attached to the bot for tracking requests in your system. Keys and values must be strings. Up to 50 keys, each value up to 500 characters. Clearing metadata returns an empty object in responses.
recording_urlstring<uri> | nullURL to download the recording
recording_available_untilstring<date-time> | nullWhen the recording will be automatically deleted
websocket_urlstring<uri> | nullWebSocket URL for real-time transcription (realtime models only)
websocket_read_only_urlstring<uri> | nullWebSocket URL for real-time transcription (realtime models only) - Only provides access to events, no actions. Useful if you want to use the websocket directly in your front-end without providing access to the user.
websocket_audio_urlstring<uri> | nullWebSocket URL for receiving realtime audio data from the bot.
Only available when using a realtime model or when realtime_audio: true was set when creating the bot.
Audio is streamed as 16-bit PCM at 16kHz sample rate.
videobooleanWhether video is recorded for this meeting
langstring | nullLanguage specified when creating the bot
detected_langstring | nullLanguage detected from the conversation (if supported by the model)
transcriptTranscriptSegment[]Array of transcript segments
transcription_modelstringModel used for transcription
participantsParticipant[]List of meeting participants
eventsEvent[]List of bot lifecycle events
profanity_filterbooleanWhether profanity filter was enabled
custom_vocabularystring[]Words or phrases provided when creating meeting bot for transcription model
created_atstring<date-time>When the bot was created
finished_atstring<date-time> | nullWhen the bot finished
Request
curl -X GET \
"https://platform.skribby.io/api/v1/bot/{id}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Response
{
"id": "3c09b2aa-6708-42c1-8145-aa55ee223613",
"status": "scheduled",
"stop_reason": "invalid_meeting_url",
"service": "gmeet",
"scheduled_for": null,
"time_limit": null,
"stop_options": {
"time_limit": 5,
"waiting_room_timeout": 1,
"last_person_detection": 0,
"silence_detection": 0
},
"bot_name": "string"
}