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 |
|---|---|---|---|---|
ParametertaskId (path) |
Typenumber | Requiredyes | Default— | DescriptionTask ID |
Parameterlimit (query) |
Typenumber | Required | Default50 |
DescriptionPage size |
Parameteroffset (query) |
Typenumber | Required | Default0 |
DescriptionSkip N entries |
Filter format. The task is provided by the taskId path parameter. The generic filter envelope is not supported: any bracket key filter[...], a non-empty filter value, a JSON form including filter={}, or a repeated filter parameter returns 400 UNSUPPORTED_FILTER. A single empty filter= parameter means no filter and still returns 200. To filter by employee or period, use GET /v1/task-time with the named parameters userId, taskId, from, and to.
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/tasks/289/time" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
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
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 + r.seconds, 0)
console.log(`Total for the task: ${totalSeconds / 60} min`)
JavaScript — OAuth application
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 |
|---|---|---|
Fieldsuccess |
Typeboolean | DescriptionAlways true on success |
Fielddata |
Typearray | DescriptionArray of time-tracking entries |
Fielddata[].id |
Typenumber | DescriptionEntry identifier |
Fielddata[].taskId |
Typenumber | DescriptionParent task ID |
Fielddata[].userId |
Typenumber | DescriptionAuthor. Profile: GET /v1/users/:userId |
Fielddata[].seconds |
Typenumber | DescriptionDuration in seconds |
Fielddata[].minutes |
Typenumber | DescriptionDuration in minutes (derived from seconds) |
Fielddata[].commentText |
Typestring | DescriptionComment for the entry |
Fielddata[].source |
Typestring | DescriptionSource: 2 — REST API |
Fielddata[].createdDate |
Typedatetime | DescriptionWhen the entry was created |
Fielddata[].dateStart |
Typedatetime | DescriptionStart of the tracked interval (filled automatically) |
Fielddata[].dateStop |
Typedatetime | DescriptionEnd of the tracked interval (filled automatically) |
Fieldmeta.total |
Typenumber | DescriptionTotal number of time-tracking entries for the task |
Response example
{
"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:
{
"success": false,
"error": {
"code": "SCOPE_DENIED",
"message": "This endpoint requires 'task' scope"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeUNSUPPORTED_FILTER |
DescriptionAn unsupported filter was provided; the task comes from the path, while employee and period filters are available on GET /v1/task-time |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe API key lacks the task scope |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionThe API key has no configured tokens |
| HTTP404 | CodeTASK_NOT_FOUND |
DescriptionThere is no task with this taskId, or it is not visible to this key |
| HTTP422 | CodeBITRIX_ERROR |
DescriptionBitrix24 returned an error while reading |
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.