Skip to main content
POST
/
api
/
bots
/
update
Update bot configuration
curl --request POST \
  --url http://localhost:8080/api/bots/update \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": 1,
  "name": "Updated Bot Name",
  "proxy_enabled": true,
  "backend_url": "https://my-backend.example.com/webhook",
  "long_poll_enabled": false
}
'
{
  "id": 123,
  "token": "<string>",
  "name": "<string>",
  "source": "cli",
  "manage_enabled": true,
  "proxy_enabled": true,
  "backend_url": "<string>",
  "secret_token": "<string>",
  "long_poll_enabled": true,
  "description": "<string>",
  "running": true,
  "webhook_mode": true
}

Authorizations

Authorization
string
header
required

API key with bmx_ prefix. Obtain via /api/auth/api-keys.

Body

application/json
id
integer
required

Bot ID to update

name
string

New display name

manage_enabled
boolean

Enable/disable management features

proxy_enabled
boolean

Enable/disable proxy forwarding

backend_url
string

New backend URL

secret_token
string

New secret token

long_poll_enabled
boolean

Enable/disable long-poll buffering

Response

Bot updated successfully

id
integer

Unique bot ID

token
string

Telegram bot token

name
string

Display name

source
enum<string>

Registration source (informational only — both types are functionally identical)

Available options:
cli,
web
manage_enabled
boolean

Whether chat management features are active for this bot

proxy_enabled
boolean

Whether this bot forwards updates to a backend URL

backend_url
string

Backend URL to forward updates to (when proxy_enabled)

secret_token
string

Secret token for validating backend webhook requests

long_poll_enabled
boolean

Whether the long-poll endpoint buffers updates for this bot

description
string

Natural-language description used by the LLM router

running
boolean

Whether the bot is currently active (polling or webhook-registered)

webhook_mode
boolean

Whether the bot is in webhook mode (not polled by BotMux)