Change Log for API imbot.v2
- Entry Prefixes
- REST Revision 34
- BOT-NEW-0408-1: Documentation, General Error Codes for BotController
- BOT-NEW-0408-2: Documentation, Additional Materials
- BOT-FIX-0408-3: Command.list, Fixed Localization Display
- BOT-FIX-0408-4: Bot.register / Bot.update, Normalization of backgroundId
- BOT-FIX-0408-5: Chat.TextField.enabled, Support for P2P Chats
- BOT-FIX-0408-6: Error Code BOT_TOKEN_NOT_SPECIFIED
- REST Revision 33
- BOT-BC-0330-1: Command.register, Parameters Moved to Fields
- BOT-BC-0325-1: Event.get, Pagination via nextOffset
- See Also
If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the MCP server so that the assistant can utilize the official REST documentation.
The change log for API imbot.v2: new features, fixes, and changes with breaking changes. Entries are listed from newest to oldest.
Entry Prefixes
- BOT-NEW: new functionality
- BOT-FIX: bug fix or incorrect behavior
- BOT-BC: breaking change. The old format is supported for 6 months from the date of publication, after which it may be discontinued without notice.
Code format: BOT-{TYPE}-{MMDD}-{N}, where MMDD is the publication date, and N is a sequential number for that date.
REST Revision 34
Publication Date: 04/08/2026
BOT-NEW-0408-1: Documentation, General Error Codes for BotController
Descriptions of basic error codes that may occur at the BotController level have been added to all methods of imbot.v2:
BOT_TOKEN_NOT_SPECIFIED:botTokennot provided during webhook authorizationBOT_ID_REQUIRED:botIdnot providedBOT_NOT_FOUND: bot not foundBOT_OWNERSHIP_ERROR: bot does not belong to the application
BOT-NEW-0408-2: Documentation, Additional Materials
Links to documentation on advanced messaging capabilities have been added to the Quick Start: text formatting, Attach attachments, and Keyboard keyboards.
BOT-FIX-0408-3: Command.list, Fixed Localization Display
Before
imbot.v2.Command.list returned empty title and params for commands registered via REST, including imbot.v2.Command.register and imbot.v2.Command.update. Localizations were saved to the database correctly but were not read due to an error in mapping identifiers.
After
title and params are now correctly returned in the current account's language with a fallback to the default language.
Affected Method: imbot.v2.Command.list
BOT-FIX-0408-4: Bot.register / Bot.update, Normalization of backgroundId
Before
backgroundId did not pass validation through the enum of allowed values. Invalid values, such as typos in case or non-existent IDs, were saved to the database as is.
After
backgroundId is normalized through Background::normalizeBackgroundId(). Invalid values are converted to null. Allowed values: azure, mint, steel, slate, teal, cornflower, sky, peach, frost.
Affected Methods: imbot.v2.Bot.register, imbot.v2.Bot.update
BOT-FIX-0408-5: Chat.TextField.enabled, Support for P2P Chats
Before
imbot.v2.Chat.TextField.enabled returned ACCESS_DENIED in private P2P chats with the bot, even though this is the primary use case for the method.
After
The method checks the bot's membership in the chat instead of the edit permission. It works in any chat where the bot is a participant.
Affected Method: imbot.v2.Chat.TextField.enabled
BOT-FIX-0408-6: Error Code BOT_TOKEN_NOT_SPECIFIED
Before
When calling methods via webhook without botToken, the error CLIENT_ID_NOT_SPECIFIED was returned.
After
BOT_TOKEN_NOT_SPECIFIED is returned, which corresponds to the actual reason for the error.
Affected Methods: imbot.v2.Bot.register, imbot.v2.Bot.list, imbot.v2.Bot.get, imbot.v2.Bot.update, imbot.v2.Bot.unregister
REST Revision 33
Publication Date: 04/02/2026
BOT-NEW-0402-1: New Method Revision.get
The method imbot.v2.Revision.get has been added to retrieve API revision numbers. It allows determining the compatibility of Bitrix24 with specific methods and fields and does not require botId and botToken.
BOT-FIX-0402-2: Chat.Message.send, Normalization of Boolean Fields
Before
When passing fields.system, fields.urlPreview, fields.skipConnector, fields.silentConnector as JSON booleans, i.e., true or false, the values were not converted to Y or N and could be ignored.
After
All four boolean fields are now correctly normalized. Allowed values are true, false, "Y", "N".
Affected Method: imbot.v2.Chat.Message.send
BOT-BC-0330-1: Command.register, Parameters Moved to Fields
Publication Date: 03/30/2026 | Support for the old format until: 09/30/2026
Before (legacy)
Parameters were passed at the top level of the request:
{
"botId": 456,
"botToken": "...",
"command": "help",
"title": {"en": "Help"},
"hidden": false
}
After
Command parameters are grouped in the fields object, as in other imbot.v2 methods.
{
"botId": 456,
"botToken": "...",
"fields": {
"command": "help",
"title": {"en": "Help"},
"hidden": false
}
}
Compatibility
If fields is provided, the new format is used. If fields is absent, the legacy format is used. The old flat format is supported until 09/30/2026.
Affected Method: imbot.v2.Command.register
BOT-BC-0325-1: Event.get, Pagination via nextOffset
Publication Date: 03/25/2026 | Support for the old format until: 09/25/2026
Before
The response contained the lastEventId field, and the client had to compute the next offset as lastEventId + 1.
After
The response now contains the nextOffset field. To retrieve the next batch, pass this value in the offset parameter.
{
"result": {
"events": [],
"nextOffset": 1002,
"hasMore": false
}
}
The next request:
{
"botId": 456,
"botToken": "...",
"offset": 1002
}
If hasMore: false, there are no new events, but nextOffset still needs to be saved for the next polling cycle.
Affected Method: imbot.v2.Event.get
See Also
- Quick Start: Getting started with the bot platform
- Migration from imbot to imbot.v2: Transition from the legacy API