Get the List of Tasks task.item.list
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.
Scope:
taskWho can execute the method: any user
The method returns an array of tasks, each containing an array of fields (similar to the array returned by task.item.getdata).
DEPRECATED
The development of this method has been halted. Please use tasks.task.list.
Method Parameters
|
Name |
Description |
|
ORDER |
An array of the form
The sorting direction can take the following values:
Optional parameter. By default, it is sorted in descending order by task ID. |
|
FILTER |
An array of the form
Before the name of the filter field, you can specify the type of filtering:
Filter values can be a single value or an array. Optional parameter. By default, records are not filtered. For the method |
|
PARAMS |
An array for call options. The element is an array
|
|
SELECT |
An array of record fields that will be returned by the method. If the array contains the value The default value (empty array |
Maintaining the order of parameters in the request is mandatory. If violated, the request will be executed with errors.
However, if some parameters need to be skipped, they still need to be passed, but as empty arrays: ORDER[]=&FILTER[]=&PARAMS[]=&SELECT[]=.
Code Examples
How to Use Examples in Documentation
Get the list of all tasks (pagination will default to 50 items per page).
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/task.item.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{}' \
https://**put_your_bitrix24_address**/rest/task.item.list?auth=**put_access_token_here**
// 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 } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (each task is a map of field values)
type TaskItemListResult = Record<string, unknown>[]
try {
// task.item.list 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<TaskItemListResult>({
method: 'task.item.list',
params: {},
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('Tasks fetched:', result.length)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- 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 fetchTaskList() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
// task.item.list 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.item.list',
params: {},
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('Tasks fetched:', result.length)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', fetchTaskList)
</script>
try {
$response = $b24Service
->core
->call(
'task.item.list',
[]
);
$result = $response
->getResponseData()
->getResult();
echo 'Data: ' . print_r($result, true);
echo 'Full Result: ' . print_r($response, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error fetching task list: ' . $e->getMessage();
}
BX24.callMethod(
'task.item.list',
[],
function(result)
{
console.info(result.data());
console.log(result);
}
);
require_once('crest.php');
$result = CRest::call(
'task.item.list',
[]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Get the list of tasks with IDs 1, 2, 3, 4, 5, 6, selecting only the fields ID and TITLE. Pagination mode — 2 items per page, 2nd page. Sorting by ID — descending.
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"order":{"ID":"desc"},"filter":{"ID":[1,2,3,4,5,6]},"params":{"NAV_PARAMS":{"nPageSize":2,"iNumPage":2}}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/task.item.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"order":{"ID":"desc"},"filter":{"ID":[1,2,3,4,5,6]},"params":{"NAV_PARAMS":{"nPageSize":2,"iNumPage":2}},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/task.item.list
// 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 } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (each task is a map of field values)
type TaskItemListResult = Record<string, unknown>[]
try {
// task.item.list 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<TaskItemListResult>({
method: 'task.item.list',
params: {
order: { ID: 'desc' },
filter: { ID: [1, 2, 3, 4, 5, 6] },
params: {
NAV_PARAMS: {
nPageSize: 2,
iNumPage: 2,
},
},
},
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('Tasks on page:', result.length)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- 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 fetchFilteredTaskList() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
// task.item.list 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.item.list',
params: {
order: { ID: 'desc' },
filter: { ID: [1, 2, 3, 4, 5, 6] },
params: {
NAV_PARAMS: {
nPageSize: 2,
iNumPage: 2,
},
},
},
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('Tasks on page:', result.length)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', fetchFilteredTaskList)
</script>
try {
$response = $b24Service
->core
->call(
'task.item.list',
[
['ID' => 'desc'], // Sorting by ID — descending.
['ID' => [1, 2, 3, 4, 5, 6]], // Filter
[
'NAV_PARAMS' => [ // pagination
'nPageSize' => 2, // 2 items per page.
'iNumPage' => 2 // page number 2
]
]
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Your logic for processing data
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error fetching task list: ' . $e->getMessage();
}
BX24.callMethod(
'task.item.list',
[
{ID : 'desc'}, // Sorting by ID — descending.
{ID: [1,2,3,4,5,6]}, // Filter
{
NAV_PARAMS: { // pagination
nPageSize : 2, // 2 items per page.
iNumPage : 2 // page number 2
}
}
],
function(result)
{
console.info(result.data());
console.log(result);
}
);
require_once('crest.php');
$result = CRest::call(
'task.item.list',
[
'order' => ['ID' => 'desc'],
'filter' => ['ID' => [1, 2, 3, 4, 5, 6]],
'params' => [
'NAV_PARAMS' => [
'nPageSize' => 2,
'iNumPage' => 2
]
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';