Для AI-агентов: markdown этой страницы — /docs-content/chats.md индекс документации — /llms.txt

Чаты и сообщения

Работайте с мессенджером Битрикс24 от имени авторизованного пользователя: находите чаты CRM-сущностей, читайте и отправляйте сообщения, управляйте участниками, загружайте файлы и получайте события через опрос.

Скоуп: im | Базовый URL: https://vibecode.bitrix24.tech/v1 | Авторизация: X-Api-Key

Быстрый старт | Полный пример | Справочник эндпоинтов | Коды ошибок

Разделы документации

  • Ссылки и гости — ссылки на чат для сотрудников, вступление по коду, гостевые ссылки и приглашения по почте и SMS
  • Поиск чатов — последние диалоги, счётчики непрочитанного, папки, проверка доступа и внешний ID, каналы, коллабы и внешние чаты, общие чаты, изменения с момента, чат CRM-сущности, поиск и сведения о диалоге
  • Сообщения — чтение, загрузка, контекст, отправка, редактирование, удаление, отметка прочитанными, «прочитать позже», массовая загрузка
  • Управление чатами — групповые чаты, владение, уведомления, метка «непрочитано», вступление, родительские чаты, удаление, закреп, прочтение всех чатов или раздела списка, выход
  • Участники — участники, упоминания, проверка участия и менеджеры, добавление и удаление
  • Файлы — загрузка файлов в чат, загрузка без публикации и публикация загруженных файлов, сохранение на Диск, расшифровка аудио, метаданные файла, папка чата на Диске
  • CoPilot — черновой чат CoPilot, модель и роль ассистента, переписывание и оценка ответов
  • Стикеры — наборы стикеров, подключение чужих наборов, удаление, недавние стикеры
  • Настройки мессенджера — общие настройки пользователя, статус
  • Служебные методы — формы задачи и потока, контекст для ботов, Zoom, состояние обновлений, ограничения тарифа, промо-подсказки, отдел пользователя, выход десктоп-приложения
  • События — подписка, опрос событий мессенджера, отписка

Оформление сообщений

Справочники по оформлению текста при отправке и редактировании сообщений:

Идентификаторы чатов

В запросах встречаются два вида идентификаторов:

  • dialogId — идентификатор диалога: число (ID пользователя) для личной переписки, строка вида chatN (например chat123) для групповых чатов.
  • chatId — числовой ID чата без префикса chat. Нужен для управления чатом, участниками и файлами.

Вместо своего идентификатора можно передать литерал me — он заменяется на ID текущего пользователя, которому принадлежит ключ. Так можно отправить сообщение самому себе, не запрашивая свой ID отдельным вызовом. Литерал пишется строчными буквами и работает везде, где принимается dialogId. Исключение — отметка прочитанным: там me принимается только в режиме v2.

Пример — отправить себе уведомление:

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/chats/me/messages" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message": "Квартальный отчёт готов"}'

Личное сообщение сотруднику

Чтобы отправить сотруднику личное сообщение, подставьте его числовой ID пользователя Битрикс24 в качестве dialogId. Отдельный поиск или создание диалога не нужны — POST /v1/chats/:dialogId/messages с числовым dialogId доставляет сообщение в личную переписку с этим сотрудником. Поиск чата GET /v1/chats/find находит чаты CRM-сущностей, для личного диалога он не требуется.

Числовой ID сотрудника — из списка пользователей GET /v1/users.

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/chats/42/messages" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message": "Дайджест продаж за сегодня готов"}'

Быстрый старт

Найдите чат CRM-сделки, прочитайте сообщения и отправьте ответ.

1. Найдите чат сделки

Terminal
curl -H "X-Api-Key: YOUR_API_KEY" \
  "https://vibecode.bitrix24.tech/v1/chats/find?entityType=CRM&entityId=DEAL|123"

Ответ:

JSON
{
  "success": true,
  "data": {
    "id": 2741
  }
}

data.id — числовой chatId. Для построения dialogId при обращении к эндпоинтам сообщений добавьте префикс chat: chat2741.

2. Прочитайте сообщения

Terminal
curl -H "X-Api-Key: YOUR_API_KEY" \
  "https://vibecode.bitrix24.tech/v1/chats/chat2741/messages?limit=5"

Ответ:

JSON
{
  "success": true,
  "data": {
    "chatId": 2741,
    "messages": [
      {
        "id": 9357,
        "chatId": 2741,
        "authorId": 1,
        "date": "2026-04-26T18:10:54+03:00",
        "text": "Коллеги, КП утверждено. Можно выставлять счёт.",
        "unread": false
      }
    ],
    "users": [
      {
        "id": 1,
        "name": "Иван Петров",
        "firstName": "Иван",
        "lastName": "Петров"
      }
    ],
    "files": []
  }
}

3. Отправьте ответ

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/chats/chat2741/messages" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message": "Счёт выставлен. Номер: СЧ-2026-0458"}'

Ответ:

JSON
{
  "success": true,
  "data": 36889
}

data — ID отправленного сообщения.

Полный пример

Непрерывный сценарий: создать групповой чат, отправить приветствие, отметить переписку прочитанной, переименовать чат и выйти из него.

javascript
const VIBE_KEY = process.env.VIBE_KEY
const BASE = 'https://vibecode.bitrix24.tech/v1'

async function api(method, path, body = null) {
  const opts = { method, headers: { 'X-Api-Key': VIBE_KEY } }
  if (body) {
    opts.headers['Content-Type'] = 'application/json'
    opts.body = JSON.stringify(body)
  }
  const res = await fetch(`${BASE}${path}`, opts)
  return res.json()
}

// 1. Создаём групповой чат
const created = await api('POST', '/chats', {
  title: 'Рабочая группа',
  users: [1, 5, 12],
})
const chatId = created.data            // числовой chatId
const dialogId = `chat${chatId}`       // dialogId для эндпоинтов сообщений
console.log('Чат создан, ID:', chatId)

// 2. Отправляем приветствие
const sent = await api('POST', `/chats/${dialogId}/messages`, {
  message: 'Добро пожаловать в рабочую группу!',
})
console.log('Сообщение отправлено, ID:', sent.data)

// 3. Отмечаем переписку прочитанной
const read = await api('POST', `/chats/${dialogId}/read`, {})
console.log('Непрочитанных осталось:', read.data.counter)

// 4. Переименовываем чат — управление идёт по числовому chatId, без префикса chat
await api('PATCH', `/chats/${chatId}`, {
  title: 'Проект: Поставка оборудования',
})

// 5. Выходим из чата
await api('POST', `/chats/${chatId}/leave`, {})
console.log('Готово')

Если вы владелец чата, сначала передайте владение через POST /v1/chats/:chatId/owner, затем покидайте чат — иначе выход зафиксируется, но владельцем останетесь вы.

Справочник эндпоинтов

Все 150 эндпоинтов раздела:

Метод Путь Bitrix24 метод Описание
GET /v1/chats/recent im.recent.list, с format=v2 — im.v2.Recent.load, im.v2.Recent.tail Последние диалоги
GET /v1/chats/counters im.v2.Counter.get Счётчики непрочитанного
GET /v1/chats/recent/channels im.v2.Recent.Channel.tail Список каналов
GET /v1/chats/recent/collabs im.v2.Recent.Collab.tail Список коллаб
GET /v1/chats/projects/:projectId/recent im.v2.Recent.load, im.v2.Recent.tail Чаты проекта
GET /v1/chats/recent/external im.v2.Recent.ExternalChat.tail Внешние чаты раздела
GET /v1/chats/shared im.v2.Chat.listShared Общие чаты с пользователем
GET /v1/chats/sync im.v2.Sync.list Изменения чатов с момента
GET /v1/chats/find im.chat.get Найти чат CRM-сущности
GET /v1/chats/search im.search.chat.list Поиск чатов по тексту
GET /v1/chats/folders im.v2.Folder.list Папки чатов
GET /v1/chats/folders/:folderId/recent im.v2.Folder.Recent.tail Чаты папки
GET /v1/chats/:dialogId im.dialog.get, с format=v2 — im.v2.Chat.get Информация о диалоге
GET /v1/chats/:dialogId/messages im.dialog.messages.get, с format=v2 — im.v2.Chat.Message.tail Чтение сообщений
GET /v1/chats/:dialogId/load im.v2.Chat.load, с shallow=true — im.v2.Chat.shallowLoad Загрузка чата
GET /v1/chats/messages/:messageId/context im.v2.Chat.Message.getContext Сообщения вокруг сообщения
GET /v1/chats/:dialogId/messages/initial im.v2.Chat.Message.list Первая страница чата
GET /v1/chats/messages/:messageId/viewers im.v2.Chat.Message.tailViewers Кто просмотрел сообщение
POST /v1/chats/:dialogId/messages im.message.add, с format=v2 — im.v2.Chat.Message.send Отправка сообщения
PATCH /v1/chats/:dialogId/messages/:messageId im.message.update, с format=v2 — im.v2.Chat.Message.update Редактирование сообщения
DELETE /v1/chats/:dialogId/messages/:messageId im.message.delete, с format=v2 — im.v2.Chat.Message.delete Удаление сообщения
POST /v1/chats/messages/:messageId/disappear im.v2.Chat.Message.disappear Исчезающее сообщение
POST /v1/chats/messages/:messageId/inform im.v2.Chat.Message.inform Сообщить собеседнику в «Не беспокоить»
DELETE /v1/chats/messages/:messageId/url-preview im.v2.Chat.Message.deleteRichUrl Убрать превью ссылки
POST /v1/chats/:dialogId/read im.dialog.read, с format=v2 — im.v2.Chat.read Отметить прочитанным
POST /v1/chats/messages/read im.v2.Chat.Message.read Отметить сообщения прочитанными
POST /v1/chats/messages/:messageId/mark im.v2.Chat.Message.mark Прочитать позже
POST /v1/chats/messages/bulk batch (im.dialog.messages.get) Массовая загрузка из нескольких диалогов
GET /v1/chats/:dialogId/messages/search im.v2.Chat.Message.search Поиск сообщений в чате
POST /v1/chats/:dialogId/forward im.v2.Chat.Message.send Пересылка сообщений
GET /v1/chats/messages/:messageId/reactions im.v2.Chat.Message.Reaction.tail Список реакций
POST /v1/chats/messages/:messageId/reactions im.v2.Chat.Message.Reaction.add Поставить реакцию
DELETE /v1/chats/messages/:messageId/reactions/:reaction im.v2.Chat.Message.Reaction.delete Снять реакцию
GET /v1/chats/:dialogId/pins im.v2.Chat.Pin.tail Список закрепов
POST /v1/chats/messages/:messageId/pin im.v2.Chat.Message.pin Закрепить сообщение
DELETE /v1/chats/messages/:messageId/pin im.v2.Chat.Message.unpin Открепить сообщение
GET /v1/chats/:dialogId/pins/count im.v2.Chat.Pin.count Число закреплённых сообщений
POST /v1/chats/:dialogId/typing im.v2.Chat.InputAction.notify Индикатор «печатает»
POST /v1/chats/:dialogId/anchors/read im.v2.Chat.Anchor.read Снять якоря чата
POST /v1/chats/anchors/read im.v2.Anchor.read Снять якоря сообщений
GET /v1/chats/messages/comments im.v2.Chat.Message.CommentInfo.list Сводка комментариев постов
POST /v1/chats/:dialogId/comments/read-all im.v2.Chat.Comment.readAll Отметить прочитанными все комментарии канала
POST /v1/chats/messages/:messageId/comments/subscription im.v2.Chat.Comment.subscribe Следить за комментариями поста
DELETE /v1/chats/messages/:messageId/comments/subscription im.v2.Chat.Comment.unsubscribe Перестать следить за комментариями поста
POST /v1/chats/messages/:messageId/blocks im.v2.Chat.Message.Block.Element.append Добавить блок в сообщение
PATCH /v1/chats/messages/:messageId/blocks/:blockId im.v2.Chat.Message.Block.Element.update Заменить блок в сообщении
DELETE /v1/chats/messages/:messageId/blocks/:blockId im.v2.Chat.Message.Block.Element.delete Удалить блок из сообщения
GET /v1/chats/:dialogId/commands im.v2.Chat.Command.list Команды ботов в чате
POST /v1/chats/messages/:messageId/command im.message.command Выполнить команду бота
POST /v1/chats/messages/:messageId/unread im.dialog.unread Непрочитано с сообщения
POST /v1/chats im.chat.add, с format=v2 — im.v2.Chat.add Создать групповой чат
PATCH /v1/chats/:chatId im.chat.updateTitle, с format=v2 — im.v2.Chat.update Переименовать чат
POST /v1/chats/:chatId/owner im.chat.setOwner, с format=v2 — im.v2.Chat.setOwner Передать владение
POST /v1/chats/:chatId/leave im.chat.leave Покинуть чат
POST /v1/chats/:chatId/mute im.chat.mute Выключить или включить уведомления чата
PUT /v1/chats/:dialogId/description im.v2.Chat.setDescription Изменить описание чата
PUT /v1/chats/:dialogId/color im.v2.Chat.setColor Изменить цвет чата
PUT /v1/chats/:dialogId/avatar im.v2.Chat.setAvatar, с полем avatarId — im.v2.Chat.setAvatarId Изменить аватар чата
PUT /v1/chats/:dialogId/permissions/messages im.v2.Chat.setManageMessages Кто пишет сообщения
PUT /v1/chats/:dialogId/permissions/guest-invites im.v2.Chat.setManageGuestInvites Кто приглашает гостей
PUT /v1/chats/:dialogId/permissions/settings im.v2.Chat.setManageSettings Кто меняет права чата
PUT /v1/chats/:dialogId/permissions/ui im.v2.Chat.setManageUI Кто меняет оформление чата
PUT /v1/chats/:dialogId/permissions/users-add im.v2.Chat.setManageUsersAdd Кто добавляет участников
PUT /v1/chats/:dialogId/permissions/users-delete im.v2.Chat.setManageUsersDelete Кто удаляет участников
PUT /v1/chats/:dialogId/auto-delete im.v2.Chat.setMessagesAutoDeleteDelay Настроить автоудаление сообщений
GET /v1/chats/:dialogId/users im.dialog.users.list, с format=v2 — im.v2.Chat.Member.tail Список участников
POST /v1/chats/:chatId/users im.chat.user.add, с format=v2 — im.v2.Chat.addUsers Добавить участников
DELETE /v1/chats/:chatId/users im.chat.user.delete, с format=v2 — im.v2.Chat.deleteUser Удалить участника
POST /v1/chats/:dialogId/managers im.v2.Chat.addManagers Назначить менеджеров
PUT /v1/chats/:dialogId/managers im.v2.Chat.setManagers Заменить менеджеров
DELETE /v1/chats/:dialogId/managers im.v2.Chat.deleteManagers Снять менеджеров
GET /v1/chats/:dialogId/member-entities im.v2.Chat.MemberEntities.list Состав чата по сущностям
GET /v1/chats/:dialogId/users/active im.v2.Chat.User.list Активные участники
GET /v1/chats/:dialogId/users/relations im.v2.Chat.Member.filterUsersByParticipation Записи участия
GET /v1/chats/access im.v2.Access.check Проверить доступ к чату или сообщению
POST /v1/chats/dialog-id im.v2.Chat.getDialogId ID диалога по внешнему идентификатору
GET /v1/chats/messages/:messageId/load im.v2.Chat.loadInContext Загрузка вокруг сообщения
POST /v1/chats/:dialogId/join im.v2.Chat.join Вступить в чат
PUT /v1/chats/:dialogId/parent im.v2.Chat.attachToParent Привязать к родительскому чату
DELETE /v1/chats/:dialogId/parent im.v2.Chat.detachFromParent Отвязать от родительского чата
DELETE /v1/chats/:dialogId im.v2.Chat.delete Удалить чат — необратимо
POST /v1/chats/:dialogId/history/clear im.v2.Chat.clearHistory / im.v2.Chat.clearHistoryForAll Очистить историю для себя или всех
POST /v1/chats/:dialogId/unread im.v2.Chat.unread Поставить метку «непрочитано»
DELETE /v1/chats/:dialogId/unread im.v2.Chat.read Снять метку «непрочитано»
POST /v1/chats/folders im.v2.Folder.add Создать папку чатов
GET /v1/chats/folders/:folderId im.v2.Folder.get Папка с её чатами
PATCH /v1/chats/folders/:folderId im.v2.Folder.update Переименовать папку, заменить состав
DELETE /v1/chats/folders/:folderId im.v2.Folder.delete Удалить папку
PUT /v1/chats/folders/order im.v2.Folder.sort Порядок папок
POST /v1/chats/folders/:folderId/chats im.v2.Folder.addChats Добавить чаты в папку
DELETE /v1/chats/folders/:folderId/chats im.v2.Folder.deleteChats Убрать чаты из папки
PUT /v1/chats/:dialogId/folders im.v2.Folder.setChatFolders Задать папки чата
GET /v1/chats/folders/:folderId/sources im.v2.Folder.getSources Источники папки «Все» (доступен не на всех порталах)
PUT /v1/chats/folders/:folderId/sources im.v2.Folder.updateSources Задать источники папки «Все» (доступен не на всех порталах)
POST /v1/chats/:dialogId/pin im.v2.Chat.pin Закрепить чат
PUT /v1/chats/:dialogId/pin im.v2.Chat.sortPin Порядок закреплённого чата
DELETE /v1/chats/:dialogId/pin im.v2.Chat.unpin Открепить чат
POST /v1/chats/read-all im.v2.Chat.readAll Прочитать все чаты
POST /v1/chats/recent/read im.v2.Chat.readByRecentSection Прочитать раздел списка
GET /v1/chats/:dialogId/users/mentionable im.v2.Chat.Mention.list Кого можно упомянуть
GET /v1/chats/:dialogId/users/membership im.v2.Chat.Member.checkMembership Проверка участия
POST /v1/chats/:chatId/files im.disk.folder.get + disk.folder.uploadfile + im.disk.file.commit, с format=v2 — im.v2.File.upload Загрузить файл в чат
POST /v1/chats/:chatId/files/uploads im.v2.File.uploadToFolder Загрузить файл в папку чата без публикации
POST /v1/chats/files/uploads/status im.v2.File.download Проверить наличие загруженного файла
POST /v1/chats/:chatId/files/uploads/discard im.disk.file.delete Убрать загруженный файл
POST /v1/chats/:chatId/files/uploads/publish im.disk.file.commit Опубликовать загруженные файлы
GET /v1/chats/files/:fileId disk.file.get Метаданные файла
GET /v1/chats/:chatId/folder im.disk.folder.get Папка чата на Диске
POST /v1/chats/:dialogId/sharing-links/primary im.v2.Chat.SharingLink.getPrimary Получить основную ссылку чата
POST /v1/chats/:dialogId/sharing-links/individual im.v2.Chat.SharingLink.getIndividual Получить личную ссылку на чат
POST /v1/chats/:dialogId/sharing-links/individual/regenerate im.v2.Chat.SharingLink.regenerateIndividual Перевыпустить личную ссылку
GET /v1/chats/sharing-links/:code im.v2.SharingLink.get Получить ссылку по коду
DELETE /v1/chats/sharing-links/:code im.v2.Chat.SharingLink.revoke Отозвать ссылку по коду
POST /v1/chats/join-by-code im.v2.Chat.joinByCode Вступить в чат по коду
POST /v1/chats/:dialogId/guest-links im.v2.Guest.Link.generate Получить гостевую ссылку
POST /v1/chats/:dialogId/guest-links/regenerate im.v2.Guest.Link.regenerate Перевыпустить гостевую ссылку
DELETE /v1/chats/:dialogId/guest-links im.v2.Guest.Link.revoke Отозвать гостевую ссылку
POST /v1/chats/:dialogId/guest-invites/email im.v2.Guest.Link.inviteByEmail Пригласить гостей по почте
POST /v1/chats/:dialogId/guest-invites/phone im.v2.Guest.Link.inviteByPhoneNumber Пригласить гостей по SMS
GET /v1/chats/stickers/packs im.v2.Sticker.Pack.load, с курсором — im.v2.Sticker.Pack.tail Список наборов стикеров
GET /v1/chats/stickers/packs/:packId im.v2.Sticker.Pack.get Набор стикеров
PATCH /v1/chats/stickers/packs/:packId im.v2.Sticker.Pack.rename Переименовать набор
DELETE /v1/chats/stickers/packs/:packId im.v2.Sticker.Pack.delete Удалить набор
POST /v1/chats/stickers/packs/:packId/link im.v2.Sticker.Pack.link Подключить набор
DELETE /v1/chats/stickers/packs/:packId/link im.v2.Sticker.Pack.unlink Отключить набор
DELETE /v1/chats/stickers/packs/:packId/stickers im.v2.Sticker.delete Удалить стикеры из набора
DELETE /v1/chats/stickers/recent im.v2.Sticker.Recent.deleteAll Очистить недавние стикеры
DELETE /v1/chats/stickers/recent/:stickerId im.v2.Sticker.Recent.delete Убрать стикер из недавних
POST /v1/chats/files/save im.v2.Disk.File.save Сохранить файлы на Диск
POST /v1/chats/files/:fileId/transcribe im.v2.Disk.File.transcribe Расшифровать аудиофайл
POST /v1/chats/copilot/draft im.v2.Copilot.DraftChat.get Черновой чат CoPilot
PUT /v1/chats/:dialogId/copilot/engine im.v2.Chat.Copilot.updateEngine Сменить модель CoPilot
PUT /v1/chats/:dialogId/copilot/role im.v2.Chat.Copilot.updateRole Сменить роль CoPilot
POST /v1/chats/messages/:messageId/regenerate im.v2.Copilot.Message.regenerate Переписать ответ CoPilot
POST /v1/chats/messages/:messageId/vote im.v2.Chat.Message.Vote.send Оценить ответ
GET /v1/chats/settings im.v2.Settings.General.list Общие настройки мессенджера
PATCH /v1/chats/settings im.v2.Settings.General.update Изменить настройку
PUT /v1/chats/settings/status im.v2.Settings.Status.update Установить статус
GET /v1/chats/:dialogId/task-form im.v2.Chat.Task.prepare Форма задачи для чата
POST /v1/chats/messages/:messageId/task-form im.v2.Chat.Task.prepare Форма задачи для сообщения
GET /v1/chats/:dialogId/flow-form im.v2.Chat.Flow.prepare Форма потока коллаба
POST /v1/chats/:dialogId/bot-context im.v2.Chat.Bot.sendContext Контекст для ботов чата
POST /v1/chats/:dialogId/zoom im.v2.Call.Zoom.create Конференция Zoom
GET /v1/chats/state im.v2.UpdateState.getStateData Состояние обновлений
GET /v1/chats/tariff-restrictions im.v2.Tariff.Restriction.get Ограничения тарифа
GET /v1/chats/promotions im.v2.Promotion.listActive Промо-подсказки
GET /v1/chats/users/:userId/department im.v2.User.getDepartment Отдел пользователя
POST /v1/chats/desktop/logout im.v2.Desktop.logout Выход десктоп-приложения
POST /v1/chats/events/subscribe im.v2.Event.subscribe Подписаться на события
POST /v1/chats/events/unsubscribe im.v2.Event.unsubscribe Отписаться от событий
GET /v1/chats/events im.v2.Event.get Получить события

Коды ошибок

Ошибки чатов

Код HTTP Описание
MISSING_PARAMS 400 Не переданы обязательные параметры, например entityType/entityId при поиске чата CRM-сущности, filename/content при загрузке файла, users или userId при добавлении и удалении участников
INVALID_REQUEST 400 Некорректное тело запроса (например, пустой массив dialogs в массовой загрузке)
BATCH_LIMIT_EXCEEDED 400 Превышен лимит 50 диалогов в массовой загрузке
INVALID_CHAT_ID 400 chatId не является положительным целым числом
INVALID_PARAMS 400 Некорректный messageId или fileId. Для format=v2, load, counters, context, ссылок и гостей, папок, метки «непрочитано», «прочитать позже», упоминаний, проверки участия, разделов списка, общих чатов, синхронизации, закрепа, настроек и служебных методов — неизвестный, повторный или некорректный параметр запроса либо поле тела. CoPilot, сохранение и расшифровка файлов также отклоняют отсутствующие или некорректные поля тела. Проверяется до обращения в Битрикс24.
MESSAGE_REQUIRED 400 Пустой текст при отправке или редактировании сообщения
TITLE_EMPTY 400 Пустое название при переименовании чата
INVALID_OFFSET 400 Некорректный offset при опросе событий
INVALID_LIMIT 400 limit при опросе событий не целое число от 1 до 1000
WRONG_PATH 400 Вызван GET /v1/chats — такого эндпоинта нет. В message перечислены последние диалоги, поиск по тексту и поиск чата CRM-сущности
PAYLOAD_TOO_LARGE 413 Тело запроса больше допустимого: 40 МиБ при загрузке файла, 1 МиБ при смене аватара изображением
BITRIX_ACCESS_DENIED 403 Битрикс24 отказал в изменении настроек чата: пользователь не участник чата или право чата ему это не разрешает
CHAT_NOT_FOUND_OR_NO_ACCESS 404 Чат не существует или нет прав на операцию
DIALOG_NOT_FOUND_OR_NO_ACCESS 404 Диалог не существует или нет доступа
FILE_NOT_FOUND 404 Файл с указанным fileId не найден
FOLDER_NOT_FOUND 404 Папка чата на Диске не найдена
UPLOAD_FAILED 500 Не удалось загрузить файл на Диск
ME_ALIAS_RESOLUTION_FAILED 502 Не удалось определить текущего пользователя для алиаса me

Коды портала приходят в error.b24Code при 422 BITRIX_ERROR. Для закрепа чатов это FOLDER_PINS_LIMIT_EXCEEDED — уже закреплено 45 чатов, и INVALID_PIN_POSITION — position больше 45 при смене порядка закреплённого чата.

Системные ошибки

Код HTTP Описание
SCOPE_DENIED 403 API-ключ не имеет скоупа im
TOKEN_MISSING 401 У API-ключа не настроены токены Битрикс24
WRITE_BLOCKED_READONLY_KEY 403 Ключ только для чтения вызвал операцию, которая меняет данные
INVALID_JSON_BODY 400 Тело запроса — некорректный JSON
ENTITY_NOT_FOUND 404 Запрошенный объект не найден
BITRIX_ERROR 422 Битрикс24 вернул ошибку (текст в поле message)
METHOD_NOT_YET_AVAILABLE 422 Метод в процессе раскатки и ещё не доступен на портале — страница такого метода начинается с заметки об этом
BITRIX_UNAVAILABLE 502 Портал Битрикс24 недоступен или вернул ошибку сервера
BITRIX_TIMEOUT 503 Битрикс24 не ответил за отведённое время. Исход вызова неизвестен — как поступить, сказано на странице метода

Общие коды авторизации, ключей и лимитов — на странице Ошибки.

Смотрите также