{% note tip "" %}
Choose a tool for developing with an AI agent:
- use Alaio Vibecode to build an app for Bitrix24 from a task description without knowing any programming language. The agent writes the code and deploys the app to a server, with no manual hosting setup
- use the MCP server to develop a REST API integration in your own project. The agent refers to the official REST documentation
{% endnote %}
Scope:
imbotWho can execute the method: a user of the application that registered the chat bot
{% note warning "DEPRECATED" %}
Development of this method has been halted. Please use imbot.v2.Command.update.
{% endnote %}
The method imbot.command.update updates the parameters of a registered chat bot command.
{% include Note on required parameters %}
#|
|| Name
type | Description ||
|| COMMAND_ID*
integer | Identifier of the command to be updated ||
|| FIELDS*
object | Object containing fields to update. The structure is described below ||
|| CLIENT_ID
string | This parameter is required only for webhooks. Pass the same CLIENT_ID that was specified during the registration of the chat bot ||
|#
{% note warning "" %}
At least one modifiable parameter must be provided in FIELDS. If an empty object is passed, the method will return an error.
{% endnote %}
#|
|| Name
type | Description ||
|| COMMAND
string | Command text ||
|| EVENT_COMMAND_ADD
string | URL of the event handler ONIMCOMMANDADD ||
|| HIDDEN
string | Command visibility:
Y- hiddenN- visible || || EXTRANET_SUPPORTstring| Availability for extranet users:Y- availableN- not available || || LANGarray| Array of command localizations. The structure is described below || |#
#|
|| Name
type | Description ||
|| LANGUAGE_ID*
string | Language identifier, e.g., de or en ||
|| TITLE*
string | Command title in the selected language ||
|| PARAMS
string | Parameter hint for the command in the selected language ||
|#
{% include Note on examples %}
{% list tabs %}
-
cURL (Webhook)
curl -X POST / -H "Content-Type: application/json" / -H "Accept: application/json" / -d '{"COMMAND_ID":99,"FIELDS":{"COMMAND":"echo2","EVENT_COMMAND_ADD":"https://example.com/bot/command.php","HIDDEN":"N","EXTRANET_SUPPORT":"Y","LANG":[{"LANGUAGE_ID":"de","TITLE":"Echo 2","PARAMS":"text"},{"LANGUAGE_ID":"en","TITLE":"Echo 2","PARAMS":"text"}]},"CLIENT_ID":"**put_your_client_id_here**"}' / https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imbot.command.update
-
cURL (OAuth)
curl -X POST / -H "Content-Type: application/json" / -H "Accept: application/json" / -d '{"COMMAND_ID":99,"FIELDS":{"COMMAND":"echo2","EVENT_COMMAND_ADD":"https://example.com/bot/command.php","HIDDEN":"N","EXTRANET_SUPPORT":"Y","LANG":[{"LANGUAGE_ID":"de","TITLE":"Echo 2","PARAMS":"text"},{"LANGUAGE_ID":"en","TITLE":"Echo 2","PARAMS":"text"}]},"auth":"**put_access_token_here**"}' / https://**put_your_bitrix24_address**/rest/imbot.command.update
-
JS
try { const response = await $b24.callMethod( 'imbot.command.update', { COMMAND_ID: 99, FIELDS: { COMMAND: 'echo2', EVENT_COMMAND_ADD: 'https://example.com/bot/command.php', HIDDEN: 'N', EXTRANET_SUPPORT: 'Y', LANG: [ { LANGUAGE_ID: 'de', TITLE: 'Echo 2', PARAMS: 'text' }, { LANGUAGE_ID: 'en', TITLE: 'Echo 2', PARAMS: 'text' } ] } } ); const result = response.getData().result; console.log('Updated command with ID:', result); processResult(result); } catch( error ) { console.error('Error:', error); }
-
PHP
try { $response = $b24Service ->core ->call( 'imbot.command.update', [ 'COMMAND_ID' => 99, 'FIELDS' => [ 'COMMAND' => 'echo2', 'EVENT_COMMAND_ADD' => 'https://example.com/bot/command.php', 'HIDDEN' => 'N', 'EXTRANET_SUPPORT' => 'Y', 'LANG' => [ ['LANGUAGE_ID' => 'de', 'TITLE' => 'Echo 2', 'PARAMS' => 'text'], ['LANGUAGE_ID' => 'en', 'TITLE' => 'Echo 2', 'PARAMS' => 'text'] ] ] ] ); $result = $response ->getResponseData() ->getResult(); echo 'Success: ' . print_r($result, true); processData($result); } catch (Throwable $e) { error_log($e->getMessage()); echo 'Error updating command: ' . $e->getMessage(); }
-
BX24.js
BX24.callMethod( 'imbot.command.update', { COMMAND_ID: 99, FIELDS: { COMMAND: 'echo2', EVENT_COMMAND_ADD: 'https://example.com/bot/command.php', HIDDEN: 'N', EXTRANET_SUPPORT: 'Y', LANG: [ { LANGUAGE_ID: 'de', TITLE: 'Echo 2', PARAMS: 'text' }, { LANGUAGE_ID: 'en', TITLE: 'Echo 2', PARAMS: 'text' } ] } }, function(result) { if (result.error()) console.error(result.error()); else console.dir(result.data()); } );
-
PHP CRest
require_once('crest.php'); $result = CRest::call( 'imbot.command.update', [ 'COMMAND_ID' => 99, 'FIELDS' => [ 'COMMAND' => 'echo2', 'EVENT_COMMAND_ADD' => 'https://example.com/bot/command.php', 'HIDDEN' => 'N', 'EXTRANET_SUPPORT' => 'Y', 'LANG' => [ ['LANGUAGE_ID' => 'de', 'TITLE' => 'Echo 2', 'PARAMS' => 'text'], ['LANGUAGE_ID' => 'en', 'TITLE' => 'Echo 2', 'PARAMS' => 'text'] ] ] ] ); echo '<PRE>'; print_r($result); echo '</PRE>';
-
Go
// client and ctx are already created — see the Go SDK section res, err := client.Core().Call(ctx, "imbot.command.update", b24.Params{ "COMMAND_ID": 99, "FIELDS": b24.Params{ "COMMAND": "echo2", "EVENT_COMMAND_ADD": "https://example.com/bot/command.php", "HIDDEN": "N", "EXTRANET_SUPPORT": "Y", "LANG": []b24.Params{ { "LANGUAGE_ID": "ru", "TITLE": "Echo 2", "PARAMS": "text", }, { "LANGUAGE_ID": "en", "TITLE": "Echo 2", "PARAMS": "text", }, }, }, "CLIENT_ID": "**put_your_client_id_here**", }) if err != nil { return fmt.Errorf("imbot.command.update: %w", err) } var ok bool if err := json.Unmarshal(res.Result, &ok); err != nil { return fmt.Errorf("parse response: %w", err) } fmt.Println("done:", ok)
{% endlist %}
HTTP Status: 200
{
"result": true,
"time": {
"start": 1772103002,
"finish": 1772103003.109342,
"duration": 1.109342098236084,
"processing": 0,
"date_start": "2026-02-26T13:50:02+01:00",
"date_finish": "2026-02-26T13:50:03+01:00",
"operating_reset_at": 1772103603,
"operating": 0
}
}#|
|| Name
type | Description ||
|| result
boolean | true if the command was successfully updated ||
|| time
time | Information about the request execution time ||
|#
HTTP Status: 400
{
"error": "WRONG_REQUEST",
"error_description": "Update fields can't be empty"
}{% include notitle error handling %}
#|
|| Code | Description | Value ||
|| COMMAND_ID_ERROR | Command not found | Command not found ||
|| APP_ID_ERROR | Command was installed by another rest application | Command registered by another application ||
|| EVENT_COMMAND_ADD_ERROR | Wrong handler URL | Invalid event handler URL ||
|| WRONG_REQUEST | Update fields can't be empty | No fields provided for update ||
|| WRONG_REQUEST | Command can't be updated | Failed to update command ||
|#
{% include system errors %}