Skribby
API Reference

Validate Bot Configuration

POST/bot/validate
https://platform.skribby.io/api/v1/bot/validate

Validate a meeting bot configuration without actually creating or starting the bot. This endpoint accepts the same parameters as the Create Bot endpoint and performs all validation checks including meeting URL format, authenticated account validity, and configuration parameters. Use this endpoint to verify your bot configuration before deploying, or to validate user input in your application before scheduling a bot.

Request Body

required
application/json
transcription_modelstringrequired

The transcription model to use for transcribing the audio. Refer to your billing page for cost and availability per model.

Allowed values:
nonewhisperassembly-ai-realtimedeepgramdeepgram-v3assembly-aispeechmaticsrev-aielevenlabselevenlabs-v2elevenlabs-realtime-v2deepgram-realtimedeepgram-realtime-v3speechmatics-realtimesonioxsoniox-realtimegladiagladia-realtimesalad
transcription_credentialsstring<uuid>

Optional credential identifier issued by the Skribby platform when bringing your own API key for the selected transcription model.

servicestringrequired

The service the bot needs to join: - gmeet - Google Meet - teams - Microsoft Teams - zoom - Zoom

Allowed values:
gmeetteamszoom
meeting_urlstring<uri>required

The URL to the meeting itself which the bot will use to join

Example: "https://meet.google.com/osk-sbwe-nff"
bot_namestringrequired

The name of the bot that'll join the meeting

Example: "My Meeting Bot"
bot_avatar_filestring

Binary image file for bot avatar. Ideally should be in 16:9 aspect ratio.

bot_avatar_urlstring<uri>

URL to an image that will be used as the bot's avatar. This will be ignored if botavatarfile is provided.

langstring

Language of the meeting. Optional but can improve transcription accuracy. When using deepgram-realtime, this parameter is highly recommended. Refer to the Bot Language page for more information.

Example: "en"
videoboolean

Whether video should also be recorded during the meeting. Refer to your billing page for cost implications and availability.

webhook_urlstring<uri>

URL to receive live updates on bot status changes, participant changes, etc. Refer to the Webhooks section for details on webhook format and available events.

custom_metadataobject | null

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. When provided in updates, this replaces the entire metadata object. Set to null to clear it.

store_recording_for_1_yearboolean

Audio recordings are stored for 1 week by default. This addon extends storage to 1 year. Refer to your billing page for cost implications and availability.

time_limitinteger

Use timelimit on `stopoptions`.

scheduled_start_timeinteger

Unix timestamp for when the bot should join the meeting. If not provided, the bot will attempt to join immediately.

profanity_filterboolean

Whether the transcription should censor profanity. Only available on select models. Refer to your billing page for availability per model.

initial_chat_messagestring

Whenever the bot joins the meeting, it'll send this message to the chat.

stop_optionsobject

Define if and when the bot should stop on certain conditions.

authenticationobject

Authentication credentials for joining private meetings. Refer to the Bot Authentication page for more information.

custom_vocabularystring[]

Provide certain words or phrases to improve transcription. Only supported on certain models, refer to your billing page to view availability per model.

realtime_audioboolean

Enable realtime audio streaming addon via a separate WebSocket connection. Refer to your billing page for cost implications and availability.

Responses

messagestring
Example: "Meeting bot configuration is valid."

Request

curl -X POST \
  "https://platform.skribby.io/api/v1/bot/validate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "transcription_model": "none",
    "transcription_credentials": "123e4567-e89b-12d3-a456-426614174000",
    "service": "gmeet",
    "meeting_url": "https://meet.google.com/osk-sbwe-nff",
    "bot_name": "My Meeting Bot",
    "bot_avatar_file": "string",
    "bot_avatar_url": "https://example.com",
    "lang": "en"
  }'

Response

200 OKapplication/json
{
  "message": "Meeting bot configuration is valid."
}