لوكلاء AI: ملف markdown لهذه الصفحة — /docs-content-en/task-history.md فهرس التوثيق — /llms.txt

مقالات التوثيق متاحة حاليًا باللغة الإنجليزية فقط.

Task change history

GET /v1/tasks/:taskId/history

Returns the full change history of a single task in one call — kanban column transitions, moves between sprint and backlog, changes of status, responsible person, deadline and other events. Used to reconstruct a task's actual path across the board with real transition dates.

Bitrix24 API: tasks.task.history.list Scope: task

Parameters

Parameter Type Required Default Description
ParametertaskId (path) Typenumber Requiredyes Default— DescriptionTask identifier. Source: GET /v1/tasks
Parameterfield (query) Typestring Requiredno Default— DescriptionFilter by event type. A single value — ?field=STAGE, multiple values — comma-separated ?field=STAGE,MOVE_TO_SPRINT. Kanban column transition — value STAGE. Other values: MOVE_TO_SPRINT, MOVE_TO_BACKLOG, STATUS, RESPONSIBLE_ID, DEADLINE, NEW, COMMENT, TAGS and others
Parameterorder (query) Typestring Requiredno Defaultasc DescriptionOrder by date: asc — oldest to newest, desc — newest to oldest

Without the field parameter the method returns events of all types. The method returns the entire task history in one call — there is no page-by-page traversal, meta.hasMore is always false.

Examples

curl — personal key

Terminal
curl "https://vibecode.bitrix24.com/v1/tasks/61/history?field=STAGE&order=asc" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth application

Terminal
curl "https://vibecode.bitrix24.com/v1/tasks/61/history?field=STAGE&order=asc" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — personal key

javascript
const params = new URLSearchParams({ field: 'STAGE', order: 'asc' })
const res = await fetch(`https://vibecode.bitrix24.com/v1/tasks/61/history?${params}`, {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})

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

JavaScript — OAuth application

javascript
const params = new URLSearchParams({ field: 'STAGE', order: 'asc' })
const res = await fetch(`https://vibecode.bitrix24.com/v1/tasks/61/history?${params}`, {
  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 events, order set by the order parameter
Fielddata[].id Typenumber DescriptionLog record identifier. Stable, suitable for deduplication
Fielddata[].createdDate Typestring DescriptionEvent timestamp in the user's timezone (ISO 8601)
Fielddata[].field Typestring DescriptionEvent type: STAGE, MOVE_TO_SPRINT, STATUS and others
Fielddata[].value Typeobject DescriptionPrevious and new value of the field
Fielddata[].value.from Typestring | null DescriptionPrevious value. For STAGE — the column name. An empty string or null when there is no previous value
Fielddata[].value.to Typestring | null DescriptionNew value. For STAGE — the column name. null for events without a value, e.g. NEW
Fielddata[].user Typeobject DescriptionChange author
Fielddata[].user.id Typenumber DescriptionAuthor identifier. Source: GET /v1/users
Fieldmeta.total Typenumber DescriptionNumber of records in the response
Fieldmeta.hasMore Typeboolean DescriptionAlways false — the response contains the entire task history

Response example

Task 61, filtered by kanban columns field=STAGE:

JSON
{
  "success": true,
  "data": [
    {
      "id": 378,
      "createdDate": "2026-06-11T14:14:14+02:00",
      "field": "STAGE",
      "value": { "from": "", "to": "Backlog" },
      "user": { "id": 1 }
    },
    {
      "id": 413,
      "createdDate": "2026-06-17T00:35:43+02:00",
      "field": "STAGE",
      "value": { "from": "Working on specifications", "to": "Code review" },
      "user": { "id": 1 }
    }
  ],
  "meta": {
    "total": 22,
    "hasMore": false
  }
}

Error response example

400 — taskId is not a positive number:

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

Errors

HTTP Code Description
HTTP400 CodeINVALID_PARAMS DescriptiontaskId is less than one or not a number
HTTP403 CodeSCOPE_DENIED DescriptionThe key is missing the task scope
HTTP401 CodeTOKEN_MISSING DescriptionThe key has no access tokens configured
HTTP401 CodeMISSING_API_KEY DescriptionThe X-Api-Key header was not passed
HTTP400 CodeUNSUPPORTED_FILTER DescriptionA filter parameter was passed, and this endpoint has none. The error text names what to use instead

Full list of common API errors — Errors.

Known specifics

The value field for STAGE is the column name. The value.from and value.to fields for a STAGE event contain the kanban column name at the moment of the transition, not its identifier. The value.from value is empty on the task's first arrival on the board.

See also