Для 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-ключ не имеет настроенных токенов
422 BITRIX_ERROR Битрикс24 вернул ошибку при чтении — например, родительская задача отсутствует или удалена

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

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

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

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