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

Список записей учёта времени

GET /v1/tasks/:taskId/time

Возвращает все записи учёта времени конкретной задачи, отсортированные по id (сначала новые).

Параметры

Параметр Тип Обяз. По умолч. Описание
taskId (path) number да — ID задачи
limit (query) number 50 Размер страницы
offset (query) number 0 Пропустить N записей

Формат фильтра. Задача задаётся path-параметром taskId. Generic-envelope filter не поддерживается: любой bracket-ключ filter[...], непустое значение filter, JSON-вариант, включая filter={}, или повтор параметра filter возвращает 400 UNSUPPORTED_FILTER. Единственный пустой параметр filter= означает отсутствие фильтра и сохраняет статус 200. Для отбора по сотруднику или периоду используйте GET /v1/task-time с именованными параметрами userId, taskId, from и to.

Примеры

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/tasks/289/time" \
  -H "X-Api-Key: YOUR_API_KEY"

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/tasks/289/time" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/tasks/289/time', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data, meta } = await res.json()
const totalSeconds = data.reduce((sum, r) => sum + r.seconds, 0)
console.log(`Всего по задаче: ${totalSeconds / 60} мин`)

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/tasks/289/time', {
  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[].userId number Автор. Профиль: GET /v1/users/:userId
data[].seconds number Длительность в секундах
data[].minutes number Длительность в минутах (производное от seconds)
data[].commentText string Комментарий к записи
data[].source string Источник: 2 — REST API
data[].createdDate datetime Когда запись была создана
data[].dateStart datetime Начало учтённого интервала (заполняется автоматически)
data[].dateStop datetime Окончание учтённого интервала (заполняется автоматически)
meta.total number Общее число записей учёта времени по задаче

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

JSON
{
  "success": true,
  "data": [
    {
      "id": 163,
      "taskId": 289,
      "userId": 1,
      "commentText": "Подготовка черновика",
      "seconds": 1800,
      "minutes": 30,
      "source": "2",
      "createdDate": "2026-05-13T16:15:43+03:00",
      "dateStart": "2026-05-13T17:15:43+03:00",
      "dateStop": "2026-05-13T17:15:43+03:00"
    },
    {
      "id": 161,
      "taskId": 289,
      "userId": 1,
      "commentText": "",
      "seconds": 600,
      "minutes": 10,
      "source": "2",
      "createdDate": "2026-05-13T16:15:41+03:00",
      "dateStart": "2026-05-13T17:15:41+03:00",
      "dateStop": "2026-05-13T17:15:41+03:00"
    }
  ],
  "meta": {
    "total": 2
  }
}

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

403 — нет скоупа:

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "This endpoint requires 'task' scope"
  }
}

Ошибки

HTTP Код Описание
400 UNSUPPORTED_FILTER Передан неподдерживаемый filter; задача задаётся в path, а отбор по сотруднику или периоду доступен в GET /v1/task-time
403 SCOPE_DENIED API-ключ не имеет скоупа task
401 TOKEN_MISSING API-ключ не имеет настроенных токенов
404 TASK_NOT_FOUND Задачи с таким taskId нет либо она недоступна этому ключу
422 BITRIX_ERROR Битрикс24 вернул ошибку при чтении

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

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

Сортировка по убыванию id. Сначала возвращаются последние добавленные записи. limit и offset работают поверх этой сортировки.

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