Для AI-агентов: markdown этой страницы — /docs-content/entities/tasks/chat.md индекс документации — /llms.txt
Чат задачи
GET /v1/tasks/:taskId/chat/messages
Читает ленту чата задачи — новые сообщения первыми. У каждой задачи в Битрикс24 есть групповой чат, и эндпоинт сам определяет чат по ID задачи — знать ID чата не нужно. Типичный сценарий — выгрузка финальных сообщений по закрытой задаче.
Общий параметр filter этим эндпоинтом не применяется. По умолчанию API сохраняет прежний ответ HTTP 200 и прежние данные, добавляет заголовок Warning: 299 - "filter is not supported on this endpoint and was ignored", а сервер фиксирует использование неподдерживаемого фильтра в журнале.
Параметры
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
ПараметрtaskId (path) |
Типnumber | Обяз.да | ОписаниеID задачи. Список: GET /v1/tasks |
Параметрlimit (query) |
Типnumber | Обяз.нет | ОписаниеСообщений на страницу, 1..200, по умолчанию 50. Для ключа только для чтения — не больше 50: большее значение уменьшается до 50 |
ПараметрlastId (query) |
Типnumber | Обяз.нет | ОписаниеКурсор: вернуть сообщения старше этого id. Для следующей страницы передайте минимальный id из текущей |
Примеры
curl — личный ключ
curl 'https://vibecode.bitrix24.tech/v1/tasks/289/chat/messages?limit=50' \
-H 'X-Api-Key: YOUR_API_KEY'
curl — OAuth-приложение
curl 'https://vibecode.bitrix24.tech/v1/tasks/289/chat/messages?limit=50' \
-H 'X-Api-Key: YOUR_APP_KEY' \
-H 'Authorization: Bearer USER_SESSION_TOKEN'
JavaScript — личный ключ
const response = await fetch('https://vibecode.bitrix24.tech/v1/tasks/289/chat/messages?limit=50', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const result = await response.json()
console.log(result.data.messages)
JavaScript — OAuth-приложение
const response = await fetch('https://vibecode.bitrix24.tech/v1/tasks/289/chat/messages?limit=50', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const result = await response.json()
console.log(result.data.messages)
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
Полеsuccess |
Типboolean | Описаниеtrue при успехе |
Полеdata.messages |
Типarray | ОписаниеСообщения страницы, от новых к старым |
Полеdata.messages[].id |
Типnumber | ОписаниеID сообщения — используйте минимальный из страницы как lastId для следующей |
Полеdata.messages[].authorId |
Типnumber | ОписаниеАвтор (0 у системных сообщений) |
Полеdata.messages[].text |
Типstring | ОписаниеТекст сообщения. Может содержать BB-коды Битрикс24 |
Полеdata.messages[].createdAt |
Типstring | ОписаниеДата создания, ISO 8601 |
Полеdata.messages[].isSystem |
Типboolean | ОписаниеСистемное сообщение («задача поставлена», «срок изменён», …) — фильтруйте по этому флагу, если нужны только реплики людей |
Полеdata.hasNextPage |
Типboolean | ОписаниеЕсть ли следующая страница. При true передайте минимальный id текущей страницы как lastId |
Пример ответа
{
"success": true,
"data": {
"messages": [
{
"id": 43247,
"authorId": 0,
"text": "[USER=1]Иван Петров[/USER] начал выполнять задачу",
"createdAt": "2026-10-19T18:20:03+03:00",
"isSystem": true
},
{
"id": 43241,
"authorId": 0,
"text": "[USER=1]Иван Петров[/USER] создал [URL=/company/personal/user/1/tasks/task/view/289/]задачу[/URL]",
"createdAt": "2026-10-19T18:20:00+03:00",
"isSystem": true
}
],
"hasNextPage": false
}
}
Пример ответа при ошибке
404 — у задачи нет чата или задачи не существует:
{
"success": false,
"error": {
"code": "TASK_CHAT_NOT_FOUND",
"message": "Task 289 has no chat yet (B24 allocates the chat lazily) or the task does not exist."
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| HTTP200 | КодWarning: 299 |
ОписаниеФильтр игнорируется по умолчанию; прежние данные сохраняются, предупреждение передаётся заголовком Warning. |
| HTTP400 только при включённом строгом режиме | КодUNSUPPORTED_FILTER |
ОписаниеСерверный режим выключен по умолчанию; до его включения эндпоинт сохраняет HTTP 200 и прежние данные. |
| HTTP400 | КодINVALID_PARAMS |
ОписаниеtaskId не положительное целое число: taskId must be a positive integer |
| HTTP400 | КодINVALID_PARAMS |
Описаниеlimit не положительное целое число: limit must be a positive integer (1..200). Значение limit больше 200 не ошибка — оно ограничивается до 200, для ключа только для чтения — до 50 |
| HTTP400 | КодINVALID_PARAMS |
ОписаниеlastId не положительное целое число: lastId must be a positive integer (message id cursor) |
| HTTP401 | КодMISSING_API_KEY |
ОписаниеНе передан X-Api-Key |
| HTTP401 | КодINVALID_API_KEY |
ОписаниеКлюч не найден |
| HTTP401 | КодTOKEN_MISSING |
ОписаниеУ ключа нет действующего токена Битрикс24 |
| HTTP403 | КодSCOPE_DENIED |
ОписаниеУ ключа нет скоупа task |
| HTTP404 | КодTASK_CHAT_NOT_FOUND |
ОписаниеУ задачи нет чата (или задачи не существует) |
| HTTP422 | КодBITRIX_ERROR |
ОписаниеОшибка Битрикс24: insufficient_scope (нет im), ACCESS_ERROR (не участник чата) |
Полный список общих ошибок API — Ошибки.
Известные особенности
- Нужен скоуп
imна стороне Битрикс24. Эндпоинт читает чат черезim.*-методы Битрикс24 — вебхук или OAuth-грант ключа должен включать скоупimпомимоtask, иначе портал вернётinsufficient_scope. - Доступ — по членству в чате. Битрикс24 отдаёт сообщения, только если пользователь, от имени которого работает ключ, — участник чата задачи (постановщик, исполнитель, наблюдатель) или администратор портала. Ключ только для чтения читает ленту другим способом, который не делает пользователя участником чата, поэтому его страница — не больше 50 сообщений при любом
limit.hasNextPageу такого ключа означает, что страница заполнена целиком: если на последней странице ровно столько сообщений, сколько на неё помещается, придётtrue, а следующий запрос вернёт пустую страницу сfalse. Листайте курсоромlastIdдоhasNextPage: false. До 200 сообщений на страницу отдаётся ключу с правом записи, см. права доступа. - Сообщения идут от новых к старым. Первый элемент — самое свежее сообщение. Пагинация курсором
lastIdуходит вглубь истории. - 404, если чата ещё нет. Битрикс24 создаёт чат задачи не сразу — у задачи без единого сообщения чата может не быть (
TASK_CHAT_NOT_FOUND). - Старые порталы. На порталах без современной
im.v2-поверхности API прозрачно переключается на устаревший метод: страница там ограничена 50 сообщениями, аhasNextPageвычисляется по заполненности страницы. - Комментарии и чат.
GET /v1/tasks/:taskId/commentsвозвращает только пользовательские комментарии. Этот эндпоинт — сырую ленту чата целиком, включая системные сообщения.