For AI agents: markdown of this page — /docs-content-en/entities/tasks/time/list.md documentation index — /llms.txt

List time-tracking entries

GET /v1/tasks/:taskId/time

Returns all time-tracking entries of a specific task, sorted by id (newest first).

Parameters

Parameter Type Required Default Description
taskId (path) number yes Task ID
limit (query) number 50 Page size
offset (query) number 0 Skip N entries

Examples

curl — personal key

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

curl — OAuth application

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

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/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 + Number(r.seconds), 0)
console.log(`Total for the task: ${totalSeconds / 60} min`)

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/tasks/289/time', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

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

Response fields

Field Type Description
success boolean Always true on success
data array Array of time-tracking entries
data[].id string Entry identifier
data[].taskId string Parent task ID
data[].userId string Author. Profile: GET /v1/users/:userId
data[].seconds string Duration in seconds
data[].minutes string Duration in minutes (derived from seconds)
data[].commentText string Comment for the entry
data[].source string Source: 2 — REST API
data[].createdDate datetime When the entry was created
data[].dateStart datetime Start of the tracked interval (filled automatically)
data[].dateStop datetime End of the tracked interval (filled automatically)
meta.total number Total number of time-tracking entries for the task

Response example

JSON
{
  "success": true,
  "data": [
    {
      "id": "163",
      "taskId": "289",
      "userId": "1",
      "commentText": "Draft preparation",
      "seconds": "1800",
      "minutes": "30",
      "source": "2",
      "createdDate": "2026-05-13T16:15:43+00:00",
      "dateStart": "2026-05-13T17:15:43+00:00",
      "dateStop": "2026-05-13T17:15:43+00:00"
    },
    {
      "id": "161",
      "taskId": "289",
      "userId": "1",
      "commentText": "",
      "seconds": "600",
      "minutes": "10",
      "source": "2",
      "createdDate": "2026-05-13T16:15:41+00:00",
      "dateStart": "2026-05-13T17:15:41+00:00",
      "dateStop": "2026-05-13T17:15:41+00:00"
    }
  ],
  "meta": {
    "total": 2
  }
}

Error response example

403 — no scope:

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

Errors

HTTP Code Description
403 SCOPE_DENIED The API key lacks the task scope
401 TOKEN_MISSING The API key has no configured tokens
422 BITRIX_ERROR Bitrix24 returned an error while reading — e.g. the parent task is missing or deleted

Full list of common API errors — Errors.

Known specifics

Descending sort by id. The most recently added entries are returned first. limit and offset work on top of this sort.

See also