AI Chatbot Platform API v3
AI Chatbot
Version 3

Update an AI chatbot

Copy link

Updates information on an AI chatbot.


HTTP request

Copy link
PUT https://api-{application_id}.sendbird.com/v3/bots/{bot_userid}

Parameters

Copy link

The following table lists the parameters that this action supports.

Required
Parameter nameTypeDescription

bot_userid

string

Specifies the unique ID of a bot.


Request body

Copy link

The following table lists the properties of an HTTP request that this action supports.

Optional
Property nameTypeDescription

bot_nickname

string

Specifies the bot's nickname. The length is limited to 80 characters.

bot_profile_url

string

Specifies the URL of the bot's profile image. The size is limited to 2,048 characters.

bot_callback_url

string

Specifies the server URL of where the bot is located to receive all events, requests, and data forwarded from an application. For security reasons, it is highly recommended that you use an SSL server. The length is limited to 1,024 characters.

is_privacy_mode

boolean

Determines whether to forward all or specific messages to the bot in channels where the bot is a member. If set to true, only messages starting with a "/" or mentioning the bot_userid are forwarded to the bot. If set to false, all messages are forwarded. This property can help protect the privacy of users' chat logs by configuring the bot to only receive messages addressed to the bot.

enable_mark_as_read

boolean

Determines whether to mark the bot's message as read upon sending it. (Default: true)

show_member

boolean

Determines whether to include information about the members of each channel in a callback response. (Default: false)

channel_invitation_preference

int

Determines whether the bot automatically joins the channel when invited or joins the channel after manually accepting an invitation using the API. If set to 0, the bot automatically joins the channel. If set to 1, the bot first has to respond to an invitation. (Default: 0)

ai

nested object

Specifies attributes of an AI bot. If specified, the bot functions as an AI bot, which can generate responses automatically and independently of the client's server-side operations.

If this property is specified, the bot_callback_url property is no longer required but can be optionally specified.

ai.backend

string

Specifies the system that powers the AI bot. Acceptable value is chatgpt. Currently, only ChatGPT-powered bots are supported.

ai.system_message

array of strings

Specifies a message used to help set the behavior of a ChatGPT bot. (Default: You are a helpful assistant.)

ai.temperature

number

Specifies the temperature of a ChatGPT bot which controls the randomness or creativity in the generated responses. A higher temperature value will result in more diverse and unpredictable responses, while a lower temperature value will produce more conservative and predictable responses. Acceptable values range from 0.00 to 2.00. (Default:1.00)

ai.max_tokens

integer

Specifies the maximum number of tokens to generate in the response by ChatGPT bots. One token generates roughly four characters for normal English text. Acceptable values range from 1 to 2048 tokens. (Default:256)

ai.top_p

number

Specifies a value that determines the diversity of response generated by ChatGPT bots via nucleus sampling. Higher values can lead to a variety of responses, but less reliable answers.(Default:1.00)

ai.presence_penalty

number

Specifies a value between -2.0 and 2.0 that determines how to penalize new tokens based on whether they've appeared in the text before. The higher the value, more likely it is for ChatGPT bots to talk about new topics.(Default:0.00)

*For further information, see OpenAI's documentation on frequency and presence penalties.

ai.frequency_penalty

number

Specifies a value between -2.0 and 2.0 that determines how to penalize new tokens based on their existing frequency in the text. The higher the value, less likely it is for ChatGPT bots to repeat the same words or phrases. (Default:0.00)

*For further information, see OpenAI's documentation on frequency and presence penalties.

{
    "ai": {
        "backend": "chatgpt",
        "system_message": "You are a 3rd grade assistant.",
        "temperature": 1.0,
        "max_tokens": 256,
        "top_p": 1.0,
        "presence_penalty": 1.0,
        "frequency_penalty": 1.0
    }
}

Response

Copy link

If successful, this action returns a bot resource in the response body.

{
    "bot_callback_url": "",
    "is_privacy_mode": false,
    "enable_mark_as_read": true,
    "show_member": false,
    "channel_invitation_preference": 0,
    "created_at": 1686141160,
    "bot": {
        "bot_userid": "Janes_ai_assistant",
        "bot_nickname": "G.I.Jane",
        "bot_profile_url": "https://GI/bots/img/sendbird_512px.png",
        "bot_require_auth_for_profile_image": false,
        "bot_metadata": {},
        "bot_token": "10f514b570affa358002ae1a3edcbb27cb5cd1f9",
        "bot_type": "AI assistant"
    },
    "ai": {
        "backend": "chatgpt",
        "system_message": "You are a 3rd grade assistant.", // Updated system message.
        "temperature": 1.0,
        "max_tokens": 256,
        "top_p": 1.0,
        "presence_penalty": 1.0,                            // Updated presence penalty.
        "frequency_penalty": 1.0                            // Updated frequency penalty.
    }
}

In the case of an error, an error object is returned. A detailed list of error codes is available here.