Skribby
API Reference

Get Bot

GET/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

NameTypeDescription
idrequired
string<uuid>Bot ID

Query Parameters

NameTypeDescription
with-speaker-events
booleanInclude speaker events in participant data

Responses

Returns Bot
idstring<uuid>

Unique bot identifier

Example: "3c09b2aa-6708-42c1-8145-aa55ee223613"
statusstring

The 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.

Allowed values:
scheduledbootingjoiningrecordingprocessingtranscribingleavingfinishednot_admittedbot_detectedauth_requiredinvalid_credentialsfailed
stop_reasonstring | null

The 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.

Allowed values:
invalid_meeting_urlcall_already_finishedwaiting_room_timeoutrequest_deniedhost_in_another_meetingmanually_stoppedkickedmeeting_endedlast_person_detectedsilence_detection_triggered
servicestring

Service the bot joined

Allowed values:
gmeetteamszoom
scheduled_forstring<date-time> | null

When the bot is scheduled to join (for scheduled bots)

time_limitinteger | null

Use time_limit property in stop_options.

stop_optionsobject

Defined options when the bot should stop on certain conditions.

bot_namestring

Name of the bot in the meeting

bot_avatarstring<uri> | null

URL to bot avatar image

meeting_urlstring<uri>

URL of the meeting

webhook_urlstring<uri> | null

Webhook URL for receiving updates. Refer to the Webhooks section for details on webhook format and available events.

custom_metadataobject

Metadata 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> | null

URL to download the recording

recording_available_untilstring<date-time> | null

When the recording will be automatically deleted

websocket_urlstring<uri> | null

WebSocket URL for real-time transcription (realtime models only)

websocket_read_only_urlstring<uri> | null

WebSocket 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> | null

WebSocket 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.

videoboolean

Whether video is recorded for this meeting

langstring | null

Language specified when creating the bot

detected_langstring | null

Language detected from the conversation (if supported by the model)

transcriptTranscriptSegment[]

Array of transcript segments

transcription_modelstring

Model used for transcription

participantsParticipant[]

List of meeting participants

eventsEvent[]

List of bot lifecycle events

profanity_filterboolean

Whether 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> | null

When 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

200 OKapplication/json
{
  "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"
}