Skip to main content
PATCH
Edit bot
Auth: TokenAccount or TokenInstanceRate limit: Global (100/min) • Idempotent: no

Description

Updates an existing Typebot bot on the instance. This is a partial update: only the fields you send are changed, every other field keeps its current value. After saving, RyzeAPI activates the instance’s integration.
The bot to edit is identified by botId in the body (required).
Partial semantics, omit a field to leave it untouched. To clear a text field, send it explicitly as an empty string (""). To create a new bot instead, use POST /api/typebot/set/:instance.
Changing enabled, triggerType, triggerOperator or triggerValue is still subject to the uniqueness rules: each instance can have only one enabled all bot, and keyword bots are unique per (triggerOperator, triggerValue). A conflicting change returns 400.

Example

Editing only a couple of fields (enable the bot and change the expiration):
You only need to send botId plus the fields you want to change. In the example above typebotUrl, triggerType, description and every other field keep their current values.

Success response

200 OK

Path parameters

string
required
Instance name (e.g., suporte).

Headers

string
required
TokenAccount or TokenInstance.
string
required
application/json

Request body

string
required
UUID of the bot to edit, obtained from GET /api/typebot/list/:instance.
string
New URL of the published Typebot (viewer). Must be a valid URL. The trailing / is removed.
string
How the bot is triggered: all or keyword.
string
Trigger operator, required if you set triggerType to keyword. One of: contains, equals, startsWith, endsWith, regex.
string
Trigger word or expression, required if you set triggerType to keyword.
boolean
Whether the bot is active in routing.
string
Bot label in the panel.
integer
Expires the session by inactivity after N minutes. 0 = never expires.
string
Message sent to the user when the session expires.
string
Word that, when sent by the user, ends the bot immediately.
string
Farewell sent when the bot is ended by the keywordFinish.
integer
Delay of the “typing…” indicator before each reply, in milliseconds.
boolean
If true, the bot is paused in that conversation when you (the operator) reply manually.
integer
Groups fragments sent by the customer for N seconds before processing.
boolean
If true, group messages do not trigger the bot.
boolean
default:"false"
If true, the bot does not auto-start when you started the conversation. When you send the first message and the contact replies, the bot does not trigger. The reactivation window reuses expireMinutes (counted from your first message; 0 = permanent).
boolean
default:"false"
If true, when the flow ends the conversation stays open instead of closing. The bot stays silent (it does not restart) and the session only ends via keywordFinish or manually, appearing with status held.

Errors

Error payload example

botId that does not belong to the instance:

Next

List bots

Confirm the new values with GET /api/typebot/list/:instance.

Create bot

Add another bot with POST /api/typebot/set/:instance.