Update a bot

Updates a bot. The join_at, meeting_url, bot_name, bot_image and recording_settings fields can only be updated when the bot is in the scheduled state. The metadata field can be updated at any time.

Path Parameters
  • object_id
    Type: string
    required

    Bot ID

Headers
  • Authorization
    Type: string
    required

    API key for authentication

  • Content-Type
    Type: string
    required

    Should always be application/json

Body
application/json

Mixin class providing validation for common attributes used in both patching and creating bots.

  • bot_image
    Type: object · BotImageRequest

    The image for the bot

  • bot_name
    Type: string
    min length:  
    1

    The name of the bot, e.g. 'My Bot'

  • join_at
    Type: stringFormat: date-time

    The time the bot should join the meeting. ISO 8601 format, e.g. 2025-06-13T12:00:00Z

  • meeting_url
    Type: string
    min length:  
    1

    The URL of the meeting to join, e.g. https://zoom.us/j/123?pwd=456

  • metadata
    Type: object

    JSON object containing metadata to associate with the bot

  • recording_settings
    Type: object

    The settings for the bot's recording. The settings specified here will completely replace the existing settings.

Responses
  • application/json
  • 400

    Invalid input or bot cannot be updated

  • 404

    Bot not found

Request Example for patch/api/v1/bots/{object_id}
curl https://app.attendee.dev/api/v1/bots/bot_xxxxxxxxxxx \
  --request PATCH \
  --header 'Authorization: Token YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
  "join_at": "2025-06-13T12:00:00Z"
}'
{
  "id": "string",
  "metadata": {},
  "meeting_url": "string",
  "state": "ready",
  "events": [
    {
      "type": "string",
      "sub_type": null,
      "created_at": "2026-04-10T17:14:55.003Z"
    }
  ],
  "transcription_state": "not_started",
  "recording_state": "not_started",
  "join_at": "2026-04-10T17:14:55.003Z",
  "deduplication_key": "string"
}