{% note tip "" %}
If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the MCP server so that the assistant can utilize the official REST documentation.
{% endnote %}
Scope:
taskWho can execute the method: any user with read access permission to the task or higher.
The method task.checklistitem.getlist retrieves a list of checklist items in a task.
{% include Note on required parameters %}
#|
|| Name
type | Description ||
|| TASKID*
integer | Identifier of the task.
The identifier can be obtained when creating a task or by using the get task list method ||
|| ORDER
object | An object for sorting the result in the form {"field": "sort value", ... }.
You can sort by the following fields:
ID— identifier of the checklist itemPARENT_ID— identifier of the parent itemCREATED_BY— identifier of the item authorTITLE— text of the checklist itemSORT_INDEX— sort indexIS_COMPLETE— completion status of the itemIS_IMPORTANT— importance mark of the itemTOGGLED_BY— identifier of the user who last changed the item's statusTOGGLED_DATE— date and time of the item's status change
The sort direction can take the following values:
asc— ascendingdesc— descending
By default, the result is sorted by ID in descending order ||
|#
{% include Examples Note %}
{% list tabs %}
-
cURL (Webhook)
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"TASKID":8017,"ORDER":{"IS_COMPLETE":"ASC"}}' \ https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/task.checklistitem.getlist
-
cURL (OAuth)
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"TASKID":8017,"ORDER":{"IS_COMPLETE":"ASC"},"auth":"**put_access_token_here**"}' \ https://**put_your_bitrix24_address**/rest/task.checklistitem.getlist
-
JS (TS)
// This snippet is an ES module: top-level await requires type="module" or a bundler. // $b24 is an already-initialized SDK instance (see the SDK "Get started" guide). import { Text } from '@bitrix24/b24jssdk' import type { B24Frame, ISODate } from '@bitrix24/b24jssdk' declare const $b24: B24Frame type ChecklistItem = { ID: string TASK_ID: string PARENT_ID: string CREATED_BY: string TITLE: string SORT_INDEX: string IS_COMPLETE: 'Y' | 'N' IS_IMPORTANT: 'Y' | 'N' TOGGLED_BY: string | null TOGGLED_DATE: ISODate | null MEMBERS: Array<{ ID: string TYPE: string NAME: string PERSONAL_PHOTO: string PERSONAL_GENDER: string IMAGE: string IS_COLLABER: boolean }> ATTACHMENTS: Record<string, { ATTACHMENT_ID: number NAME: string SIZE: string FILE_ID: string DOWNLOAD_URL: string VIEW_URL: string }> } try { // task.checklistitem.getlist returns a single page (max 50 records). For the whole result set // use a list helper: $b24.actions.v2.callList.make() returns every record as one // array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator). // NOTE: the list helpers do not accept `order` (it is excluded from their params, so // passing it is a TS error) — keep this call.make + `start` variant when sort matters. const response = await $b24.actions.v2.call.make<ChecklistItem[]>({ method: 'task.checklistitem.getlist', params: { TASKID: 8017, ORDER: { IS_COMPLETE: 'ASC', }, start: 0, }, requestId: Text.getUuidRfc4122() }) // The payload is available only on a successful response if (!response.isSuccess) { console.error(response.getErrorMessages().join('; ')) } else { const result = response.getData()!.result console.info('Checklist items count:', result.length, 'First item:', result[0]?.ID, result[0]?.TITLE) } } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) }
-
JS (UMD)
<!-- Load the SDK (UMD build); it is exposed as the global B24Js --> <script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script> <script> async function getChecklistItems() { try { // Initialize the SDK inside a Bitrix24 frame const $b24 = await B24Js.initializeB24Frame() // task.checklistitem.getlist returns a single page (max 50 records). For the whole result set // use a list helper: $b24.actions.v2.callList.make() returns every record as one // array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator). // NOTE: the list helpers do not accept `order` (it is excluded from their params, so // passing it is a TS error) — keep this call.make + `start` variant when sort matters. const response = await $b24.actions.v2.call.make({ method: 'task.checklistitem.getlist', params: { TASKID: 8017, ORDER: { IS_COMPLETE: 'ASC', }, start: 0, }, requestId: B24Js.Text.getUuidRfc4122() }) // The payload is available only on a successful response if (!response.isSuccess) { console.error(response.getErrorMessages().join('; ')) return } const result = response.getData().result console.info('Checklist items count:', result.length, 'First item:', result[0]?.ID, result[0]?.TITLE) } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) } } document.addEventListener('DOMContentLoaded', getChecklistItems) </script>
-
PHP
try { $response = $b24Service ->core ->call( 'task.checklistitem.getlist', [ 'TASKID' => 8017, 'ORDER' => [ 'IS_COMPLETE' => 'ASC' ] ] ); $result = $response ->getResponseData() ->getResult(); echo 'Success: ' . print_r($result, true); processData($result); } catch (Throwable $e) { error_log($e->getMessage()); echo 'Error fetching checklist items: ' . $e->getMessage(); }
-
BX24.js
BX24.callMethod( 'task.checklistitem.getlist', { 'TASKID': 8017, 'ORDER': { 'IS_COMPLETE': 'ASC' } }, function(result){ console.info(result.data()); console.log(result); } );
-
PHP CRest
require_once('crest.php'); $result = CRest::call( 'task.checklistitem.getlist', [ 'TASKID' => 8017, 'ORDER' => [ 'IS_COMPLETE' => 'ASC' ] ] ); echo '<PRE>'; print_r($result); echo '</PRE>';
-
Go
// client and ctx are already created — see the Go SDK section res, err := client.Core().Call(ctx, "task.checklistitem.getlist", b24.Params{ "TASKID": 8017, "ORDER": b24.Params{ "IS_COMPLETE": "ASC", }, }, b24.WithIdempotent()) if err != nil { return fmt.Errorf("task.checklistitem.getlist: %w", err) } var items []struct { ID b24.ID `json:"ID"` TaskID b24.ID `json:"TASK_ID"` ParentID b24.ID `json:"PARENT_ID"` CreatedBy string `json:"CREATED_BY"` Title string `json:"TITLE"` SortIndex string `json:"SORT_INDEX"` } if err := json.Unmarshal(res.Result, &items); err != nil { return fmt.Errorf("parse response: %w", err) } for _, it := range items { fmt.Println(it.ID, it.TaskID) }
{% endlist %}
HTTP Status: 200
{
"result": [
{
"ID": "477",
"TASK_ID": "8017",
"PARENT_ID": "431",
"CREATED_BY": "503",
"TITLE": "Prepare contract Sarah Johnson",
"SORT_INDEX": "2",
"IS_COMPLETE": "N",
"IS_IMPORTANT": "N",
"TOGGLED_BY": "503",
"TOGGLED_DATE": "2025-11-10T15:02:30+02:00",
"MEMBERS": [
{
"ID": "103",
"TYPE": "A",
"NAME": "Sarah Johnson",
"PERSONAL_PHOTO": "8644",
"PERSONAL_GENDER": "F",
"IMAGE": "https://mysite.com/b17053/resize_cache/8644/c0120a8d7c10d63c83e32398d1ec4d9e/main/45f/45fff10d17d398a5583184c8350cd197/buh.jpg",
"IS_COLLABER": false
}
],
"ATTACHMENTS": {
"1113": {
"ATTACHMENT_ID": 1113,
"NAME": "Instructions.docx",
"SIZE": "115161",
"FILE_ID": "5065",
"DOWNLOAD_URL": "/bitrix/tools/disk/uf.php?attachedId=1113&action=download&ncc=1",
"VIEW_URL": "/bitrix/tools/disk/uf.php?attachedId=1113&action=show&ncc=1"
},
"1115": {
"ATTACHMENT_ID": 1115,
"NAME": "Document List.xlsx",
"SIZE": "14675",
"FILE_ID": "5067",
"DOWNLOAD_URL": "/bitrix/tools/disk/uf.php?attachedId=1115&action=download&ncc=1",
"VIEW_URL": "/bitrix/tools/disk/uf.php?attachedId=1115&action=show&ncc=1"
}
}
},
{
"ID": "431",
"TASK_ID": "8017",
"PARENT_ID": 0,
"CREATED_BY": "503",
"TITLE": "Checklist 1",
"SORT_INDEX": "0",
"IS_COMPLETE": "N",
"IS_IMPORTANT": "N",
"TOGGLED_BY": null,
"TOGGLED_DATE": "",
"MEMBERS": [],
"ATTACHMENTS": []
},
{
"ID": "447",
"TASK_ID": "8017",
"PARENT_ID": "431",
"CREATED_BY": "503",
"TITLE": "Agree on details with the client",
"SORT_INDEX": "1",
"IS_COMPLETE": "N",
"IS_IMPORTANT": "N",
"TOGGLED_BY": null,
"TOGGLED_DATE": "",
"MEMBERS": [],
"ATTACHMENTS": []
},
{
"ID": "469",
"TASK_ID": "8017",
"PARENT_ID": "447",
"CREATED_BY": "503",
"TITLE": "Agree with the manager Andrew Smith John Doe",
"SORT_INDEX": "2",
"IS_COMPLETE": "N",
"IS_IMPORTANT": "N",
"TOGGLED_BY": null,
"TOGGLED_DATE": "",
"MEMBERS": [
{
"ID": "3",
"TYPE": "A",
"NAME": "Andrew Smith",
"PERSONAL_PHOTO": "249",
"PERSONAL_GENDER": "M",
"IMAGE": "https://mysite.com/b17053/resize_cache/249/c0120a8d7c10d63c83e32398d1ec4d9e/main/cd526b0644e7ff4d794ea41cb36bc423/odmin.png",
"IS_COLLABER": false
},
{
"ID": "11",
"TYPE": "U",
"NAME": "John Doe",
"PERSONAL_PHOTO": "231",
"PERSONAL_GENDER": "",
"IMAGE": "https://mysite.com/b17053/resize_cache/231/c0120a8d7c10d63c83e32398d1ec4d9e/main/026bf59e161a0bd50f401d3796800651/66b.jpg",
"IS_COLLABER": false
}
],
"ATTACHMENTS": []
},
{
"ID": "471",
"TASK_ID": "8017",
"PARENT_ID": "447",
"CREATED_BY": "503",
"TITLE": "Prepare solution",
"SORT_INDEX": "1",
"IS_COMPLETE": "N",
"IS_IMPORTANT": "N",
"TOGGLED_BY": null,
"TOGGLED_DATE": "",
"MEMBERS": [],
"ATTACHMENTS": []
},
{
"ID": "491",
"TASK_ID": "8017",
"PARENT_ID": "431",
"CREATED_BY": "503",
"TITLE": "Sign contract",
"SORT_INDEX": "3",
"IS_COMPLETE": "N",
"IS_IMPORTANT": "N",
"TOGGLED_BY": null,
"TOGGLED_DATE": "",
"MEMBERS": [],
"ATTACHMENTS": []
},
{
"ID": "433",
"TASK_ID": "8017",
"PARENT_ID": "431",
"CREATED_BY": "503",
"TITLE": "Find all documents for the client",
"SORT_INDEX": "0",
"IS_COMPLETE": "Y",
"IS_IMPORTANT": "N",
"TOGGLED_BY": "503",
"TOGGLED_DATE": "2025-11-10T15:02:30+02:00",
"MEMBERS": [],
"ATTACHMENTS": []
},
{
"ID": "485",
"TASK_ID": "8017",
"PARENT_ID": "447",
"CREATED_BY": "503",
"TITLE": "Arrange a meeting John Doe",
"SORT_INDEX": "0",
"IS_COMPLETE": "Y",
"IS_IMPORTANT": "N",
"TOGGLED_BY": "503",
"TOGGLED_DATE": "2025-11-10T15:02:33+02:00",
"MEMBERS": [
{
"ID": "11",
"TYPE": "U",
"NAME": "John Doe",
"PERSONAL_PHOTO": "231",
"PERSONAL_GENDER": "",
"IMAGE": "https://mysite.com/b17053/resize_cache/231/c0120a8d7c10d63c83e32398d1ec4d9e/main/026bf59e161a0bd50f401d3796800651/66b.jpg",
"IS_COLLABER": false
}
],
"ATTACHMENTS": []
}
],
"time": {
"start": 1762780903,
"finish": 1762780903.978847,
"duration": 0.9788470268249512,
"processing": 0,
"date_start": "2025-11-10T16:21:43+02:00",
"date_finish": "2025-11-10T16:21:43+02:00",
"operating_reset_at": 1762781503,
"operating": 0.3446669578552246
}
}#|
|| Name
type | Description ||
|| result
array | A list of objects with description of checklist item fields ||
|| time
time | Information about the request execution time ||
|#
#|
|| Name
type | Description ||
|| ID
string | Identifier of the checklist item ||
|| TASK_ID
string | Identifier of the task to which the item belongs ||
|| PARENT_ID
string | Identifier of the parent item.
A value of 0 indicates a root item ||
|| CREATED_BY
string | Identifier of the item author ||
|| TITLE
string | Text of the checklist item.
If PARENT_ID = 0, the field contains the name of the checklist ||
|| SORT_INDEX
string | Sort index.
The smaller the value, the higher the item in the list or sublist ||
|| IS_COMPLETE
boolean | Completion status of the item. Possible values:
Y— completed,N— not completed || || IS_IMPORTANTboolean| Importance mark of the item. Possible values:Y— important,N— regular || || TOGGLED_BYstring| Identifier of the user who last changed the item's status.
Can be null if the status has not been changed ||
|| TOGGLED_DATE
string | Date and time of the item's status change in ISO 8601 format ||
|| MEMBERS
array | A list of objects with description of participants ||
|| ATTACHMENTS
object | An object with description of attached files.
The key is the identifier of the attached file ATTACHMENT_ID ||
|#
#|
|| Name
type | Description ||
|| ID
string | Identifier of the user ||
|| TYPE
string | User's role in the checklist item. Possible values:
A— Participant,U— Observer || || NAMEstring| User's name || || PERSONAL_PHOTOstring| Identifier of the user's avatar file on Drive || || PERSONAL_GENDERstring| User's gender. Possible values:M— male,F— female || || IMAGEstring| Link to the user's avatar || || IS_COLLABERboolean| Indicates that the user is an external participant || |#
#|
|| Name
type | Description ||
|| ATTACHMENT_ID
integer | Identifier of the attachment ||
|| NAME
string | File name ||
|| SIZE
string | File size in bytes ||
|| FILE_ID
string | Identifier of the file on Drive ||
|| DOWNLOAD_URL
string | Link to download the file ||
|| VIEW_URL
string | Link to view the file in the browser ||
|#
HTTP Status: 400
{
"error":"ERROR_CORE",
"error_description":"TASKS_ERROR_EXCEPTION_#8; Action failed; 8\/TE\/ACTION_FAILED_TO_BE_PROCESSED\u003Cbr\u003E"
}{% include notitle error handling %}
#|
|| Code | Description | Value ||
|| ERROR_CORE | TASKS_ERROR_EXCEPTION_#8; Action failed; 8/TE/ACTION_FAILED_TO_BE_PROCESSED\u003Cbr\u003E | User does not have access to the task ||
|| ERROR_CORE | TASKS_ERROR_EXCEPTION_#256; Param #0 (taskId) for method ctaskchecklistitem::getlist() expected to be of type \u0022integer\u0022, but given something else.; 256/TE/WRONG_ARGUMENTS\u003Cbr\u003E | Required parameter TASKID is missing or has an incorrect type ||
|| ERROR_CORE | TASKS_ERROR_EXCEPTION_#256; Param #1 (arOrder) for method ctaskchecklistitem::getlist() must not contain key \u0022IS_COMPLETED\u0022.; 256/TE/WRONG_ARGUMENTS\u003Cbr\u003E | An invalid field was specified in ORDER ||
|#
{% include system errors %}