For AI agents: markdown of this page — /docs-content-en/entities/tasks/checklist.md documentation index — /llms.txt
Task checklist
Task checklist items are a nested resource of a task. Each item has a title, a completion status, an importance flag, a sort order, members, and (optionally) a parent item for nested checklists. Base path — /v1/tasks/:taskId/checklist. Every operation is addressed by the task identifier :taskId.
Bitrix24 API: task.checklistitem.*
Scope: task
Why a separate resource. Bitrix24 does not accept the
CHECKLISTfield insidePOST /v1/tasks(tasks.task.add) — a checklist cannot be created together with the task. The only supported way to manage items is thetask.checklistitem.*family of methods, which this resource wraps. First create the task, then add items one by one.
List checklist items
GET /v1/tasks/:taskId/checklist
Returns all items of a task's checklist, including nested (child) items.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
taskId (path) |
integer | yes | Task ID |
sort (query) |
string | no | Sorting in the field:direction format, for example sortIndex:asc. Fields: id, parentId, createdBy, title, sortIndex, isComplete, isImportant, toggledBy, toggledDate. Direction — asc / desc (default asc). Without the parameter, Bitrix24 sorts by id descending |
start (query) |
integer | no | Offset in the result set. Bitrix24 returns pages of 50 items — for the next page pass start=50, then 100, and so on |
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/tasks/3943/checklist?sort=sortIndex:asc" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/tasks/3943/checklist?sort=sortIndex:asc" \
-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/3943/checklist?sort=sortIndex:asc",
{ headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const { data } = await res.json();
JavaScript — OAuth application
const res = await fetch(
"https://vibecode.bitrix24.com/v1/tasks/3943/checklist?sort=sortIndex:asc",
{
headers: {
"X-Api-Key": "YOUR_APP_KEY",
"Authorization": "Bearer USER_SESSION_TOKEN",
},
}
);
const { data } = await res.json();
Response fields
| Field | Type | Description |
|---|---|---|
success |
boolean | Always true on success |
data |
array | Array of checklist items |
data[].id |
string | Item ID |
data[].taskId |
string | Parent task ID |
data[].parentId |
integer / string | Parent item ID. 0 — a top-level item (itself a checklist) |
data[].title |
string | Item text |
data[].sortIndex |
string | Sort index |
data[].isComplete |
string | Completion status — "Y" / "N" |
data[].isImportant |
string | Importance flag — "Y" / "N" |
data[].createdBy |
string | Item author |
data[].toggledBy |
string | null | Who last changed the completion status |
data[].toggledDate |
string | When the status was last changed. An empty string if never changed |
data[].members |
array | Item members — objects { id, type, name, personalPhoto, personalGender, image, isCollaber } |
data[].attachments |
array | Attached files |
meta.total |
number | Total number of items in the result set |
Response example
{
"success": true,
"data": [
{
"id": "211",
"taskId": "3943",
"parentId": 0,
"createdBy": "1317",
"title": "Documents",
"sortIndex": "1",
"isComplete": "N",
"isImportant": "N",
"toggledBy": null,
"toggledDate": "",
"members": [],
"attachments": []
},
{
"id": "213",
"taskId": "3943",
"parentId": "211",
"createdBy": "1317",
"title": "Collect and check documents",
"sortIndex": "100",
"isComplete": "N",
"isImportant": "Y",
"toggledBy": null,
"toggledDate": "",
"members": [
{
"id": "1317",
"type": "A",
"name": "Jane Doe",
"personalPhoto": "35959",
"personalGender": "",
"image": "https://example.bitrix24.com/...",
"isCollaber": false
}
],
"attachments": []
}
],
"meta": { "total": 2 }
}
Error response example
422 — the task does not exist or is not accessible:
{
"success": false,
"error": {
"code": "BITRIX_ERROR",
"message": "TASKS_ERROR_EXCEPTION_#8; Action failed; 8/TE/ACTION_FAILED_TO_BE_PROCESSED",
"b24Code": "ERROR_CORE"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 400 | INVALID_PARAMS |
taskId is not a positive integer, or an unknown sort field |
| 422 | BITRIX_ERROR |
The task with the given taskId does not exist or is not accessible to the key — Bitrix24 threw an exception. An existing task with no items answers 200 with an empty array |
| 403 | SCOPE_DENIED |
The API key lacks the task scope |
| 401 | TOKEN_MISSING |
The API key has no configured tokens |
Full list of common API errors — Errors.
Known specifics
parentId: 0— a top-level item that is itself a checklist. Child items reference itsidvia their ownparentId.- Numeric values and flags are strings.
id,taskId,sortIndexarrive as strings.isComplete/isImportantare the strings"Y"/"N", not booleans.