#Список комментариев

GET /v1/tasks/:taskId/comments

Возвращает комментарии конкретной задачи. На новой карточке задачи список читается из чата (системные сообщения отфильтрованы); на старой — из блока комментариев в самой карточке.

#Параметры

Параметр Тип Обяз. По умолч. Описание
taskId (path) number да ID родительской задачи
limit (query) number 50 Размер страницы (до 200)
sort (query) string id:desc Сортировка: id:asc или id:desc
filter (query) object Фильтр для старой карточки. Передаётся как JSON: ?filter={"AUTHOR_ID":1}. На новой карточке передача параметра переключает чтение в режим старой карточки

#Примеры

#curl — личный ключ

Terminal
curl "https://vibecode.bitrix24.tech/v1/tasks/289/comments?limit=20&sort=id:desc" \
  -H "X-Api-Key: YOUR_API_KEY"

#curl — OAuth-приложение

Terminal
curl "https://vibecode.bitrix24.tech/v1/tasks/289/comments?limit=20&sort=id:desc" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

#JavaScript — личный ключ

javascript
const url = 'https://vibecode.bitrix24.tech/v1/tasks/289/comments?limit=20&sort=id:desc'
const res = await fetch(url, {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data, meta } = await res.json()
console.log(`Получено ${data.length} комментариев`)

#JavaScript — OAuth-приложение

javascript
const url = 'https://vibecode.bitrix24.tech/v1/tasks/289/comments?limit=20&sort=id:desc'
const res = await fetch(url, {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { success, data, meta } = await res.json()

#Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data array Массив комментариев
data[].id number Идентификатор комментария
data[].taskId number ID родительской задачи
data[].authorId number Автор. Профиль: GET /v1/users/:authorId
data[].message string Текст комментария (поддерживает BB-код)
data[].createdAt datetime Дата создания (UTC ISO 8601)
meta.total number Оценка количества комментариев
meta.hasMore boolean Есть ли ещё комментарии за пределами limit

#Пример ответа

JSON
{
  "success": true,
  "data": [
    {
      "id": 36559,
      "taskId": 289,
      "authorId": 1,
      "message": "Добавил черновик отчёта в комментарии — посмотри, пожалуйста.",
      "createdAt": "2026-05-13T12:30:58.000Z"
    },
    {
      "id": 36557,
      "taskId": 289,
      "authorId": 79,
      "message": "[USER=99]Зуля[/USER], готово, спасибо.",
      "createdAt": "2026-05-12T15:11:04.000Z"
    }
  ],
  "meta": {
    "total": 2,
    "hasMore": false
  }
}

#Пример ответа при ошибке

400 — taskId не положительное целое:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "taskId must be a positive integer"
  }
}

#Ошибки

HTTP Код Описание
400 INVALID_PARAMS taskId некорректен (не целое положительное число)
403 SCOPE_DENIED API-ключ не имеет скоупа task
401 TOKEN_MISSING API-ключ не имеет настроенных токенов

Полный список общих ошибок API — Ошибки.

#Известные особенности

Пустая страница при meta.hasMore: true. Системные уведомления (постановка задачи, смена срока, назначение исполнителя) отфильтровываются на стороне API. Если их много в текущем срезе, data может прийти пустым при meta.hasMore: true — запросите следующую страницу или увеличьте limit.

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