task.checklistitem.update
Изменить пункт чек-листа
Описание
Метод task.checklistitem.update изменяет существующий пункт чек-листа.
Проверить права на изменение пункта можно методом task.checklistitem.isactionallowed.
Параметры
TASKID
integer
обязательный
Идентификатор задачи.
Идентификатор задачи можно получить при создании новой задачи или методом получения списка задач
ITEMID
integer
обязательный
Идентификатор пункта чек-листа.
Идентификатор пункта можно получить при добавлении нового пункта или методом получения списка пунктов чек-листа
FIELDS
object
обязательный
Объект с полями пункта чек-листа
Параметр FIELDS
TITLE
string
необязательный
Текст пункта чек-листа.
Если передать PARENT_ID со значением 0, то TITLE — название чек-листа
SORT_INDEX
integer
необязательный
Индекс сортировки. Чем меньше значение, тем выше пункт в списке или подсписке
IS_COMPLETE
boolean
необязательный
Статус выполнения пункта. Возможные значения:
- Y — выполнен
- N — не выполнен
По умолчанию — N
IS_IMPORTANT
boolean
необязательный
Отметка, что пункт важный. Возможные значения:
- Y — важный
- N — обычный
MEMBERS
object
необязательный
Объект с описанием участников пункта чек-листа. Ключ — идентификатор пользователя, значение — объект с параметром типа участника TYPE. Возможные значения типа участника:
- 'TYPE': 'A' — соисполнитель
- 'TYPE': 'U' — наблюдатель
Поле MEMBERS заменяется полностью. Чтобы сохранить текущих участников, передайте их вместе с новыми значениями.
Система добавит участников пункта чек-листа в задачу в тех же ролях
PARENT_ID
integer
необязательный
Идентификатор родительского пункта. Используйте для вложенных чек-листов.
- Если передать
PARENT_IDсо значением0, система создаст в задаче новый чек-лист - Если в задаче нет пункта чек-листа с указанным
PARENT_ID, система создаст новый чек-лист - Если переместить главный пункт чек-листа под пункт другого чек-листа, то он переместится вместе со своими подпунктами с сохранением иерархии. Чек-листы объединятся в один
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"TASKID":13,"ITEMID":475,"FIELDS":{"TITLE":"Подготовить отчет","PARENT_ID":447,"SORT_INDEX":100,"IS_COMPLETE":"N","IS_IMPORTANT":"N","MEMBERS":{"547":{"TYPE":"A"},"125":{"TYPE":"U"}}}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/task.checklistitem.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"TASKID":13,"ITEMID":475,"FIELDS":{"TITLE":"Подготовить отчет","PARENT_ID":447,"SORT_INDEX":100,"IS_COMPLETE":"N","IS_IMPORTANT":"N","MEMBERS":{"547":{"TYPE":"A"},"125":{"TYPE":"U"}}},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/task.checklistitem.update
// 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 (match the "response handling" section of the page)
type ChecklistItemUpdateResult = null
try {
const response = await $b24.actions.v2.call.make<ChecklistItemUpdateResult>({
method: 'task.checklistitem.update',
params: {
TASKID: 13,
ITEMID: 475,
FIELDS: {
TITLE: 'Prepare report',
PARENT_ID: 447,
SORT_INDEX: 100,
IS_COMPLETE: 'N',
IS_IMPORTANT: 'N',
MEMBERS: {
547: { TYPE: 'A' },
125: { TYPE: 'U' },
},
},
},
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 item updated successfully, result:', result)
}
} 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 updateChecklistItem() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'task.checklistitem.update',
params: {
TASKID: 13,
ITEMID: 475,
FIELDS: {
TITLE: 'Prepare report',
PARENT_ID: 447,
SORT_INDEX: 100,
IS_COMPLETE: 'N',
IS_IMPORTANT: 'N',
MEMBERS: {
547: { TYPE: 'A' },
125: { TYPE: 'U' },
},
},
},
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 item updated successfully, result:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', updateChecklistItem)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
fields = {
"TITLE": "Подготовить отчет",
"PARENT_ID": 447,
"SORT_INDEX": 100,
"IS_COMPLETE": "N",
"IS_IMPORTANT": "N",
"MEMBERS": {
"547": {
"TYPE": "A",
},
"125": {
"TYPE": "U",
},
},
}
try:
bitrix_response = client.task.checklistitem.update(
task_id=13,
item_id=475,
fields=fields,
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'task.checklistitem.update',
[
'TASKID' => 13,
'ITEMID' => 475,
'FIELDS' => [
'TITLE' => 'Подготовить отчет',
'PARENT_ID' => 447,
'SORT_INDEX' => 100,
'IS_COMPLETE' => 'N',
'IS_IMPORTANT' => 'N',
'MEMBERS' => [
547 => [
'TYPE' => 'A'
],
125 => [
'TYPE' => 'U'
]
]
]
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating checklist item: ' . $e->getMessage();
}
BX24.callMethod(
'task.checklistitem.update',
{
'TASKID': 13,
'ITEMID': 475,
'FIELDS': {
'TITLE': 'Подготовить отчет',
'PARENT_ID': 447,
'SORT_INDEX': 100,
'IS_COMPLETE': 'N',
'IS_IMPORTANT': 'N',
'MEMBERS': {
547: {
'TYPE': 'A'
},
125: {
'TYPE': 'U'
}
}
}
},
function(result){
console.info(result.data());
console.log(result);
}
);
require_once('crest.php');
$result = CRest::call(
'task.checklistitem.update',
[
'TASKID' => 13,
'ITEMID' => 475,
'FIELDS' => [
'TITLE' => 'Подготовить отчет',
'PARENT_ID' => 447,
'SORT_INDEX' => 100,
'IS_COMPLETE' => 'N',
'IS_IMPORTANT' => 'N',
'MEMBERS' => [
547 => [
'TYPE' => 'A'
],
125 => [
'TYPE' => 'U'
]
]
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "task.checklistitem.update", b24.Params{
"TASKID": 13,
"ITEMID": 475,
"FIELDS": b24.Params{
"TITLE": "Подготовить отчет",
"PARENT_ID": 447,
"SORT_INDEX": 100,
"IS_COMPLETE": "N",
"IS_IMPORTANT": "N",
"MEMBERS": b24.Params{
"547": b24.Params{
"TYPE": "A",
},
"125": b24.Params{
"TYPE": "U",
},
},
},
})
if err != nil {
return fmt.Errorf("task.checklistitem.update: %w", err)
}
// Ответ приходит как json.RawMessage — разберите его
// в структуру под форму ответа, показанную ниже на этой странице.
fmt.Printf("%s\n", res.Result)
Ответ
HTTP-статус: 200
{
"result": null,
"time": {
"start": 1762432505,
"finish": 1762432505.206889,
"duration": 0.20688891410827637,
"processing": 0,
"date_start": "2025-11-06T15:35:05+03:00",
"date_finish": "2025-11-06T15:35:05+03:00",
"operating_reset_at": 1762433105,
"operating": 0.13953208923339844
}
}
Возвращаемые данные
result
null
Возвращает null, если пункт чек-листа успешно обновлен
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error":"ERROR_CORE",
"error_description":"TASKS_ERROR_EXCEPTION_#4; Нет доступа к редактированию задачи; 4\/TE\/ACTION_NOT_ALLOWED\u003Cbr\u003E"
}
| Код | Описание | Значение |
|---|---|---|
ERROR_CORE |
TASKS_ERROR_EXCEPTION_#4; Нет доступа к редактированию задачи; 4\/TE\/ACTION_NOT_ALLOWED\u003Cbr\u003E | Нет прав доступа к редактированию задачи, чтобы изменять пункт чек-листа |
ERROR_CORE |
TASKS_ERROR_EXCEPTION_#8; Указано некорректное значение [] для поля [ENTITY_ID] в элементе [, Подготовить отчет]; 8\/TE\/ACTION_FAILED_TO_BE_PROCESSED\u003Cbr\u003E | Нарушен порядок передачи параметров |
ERROR_CORE |
"TASKS_ERROR_EXCEPTION_#256; Param #1 (itemId) for method ctaskchecklistitem::update() expected to be of type \u0022integer\u0022, but given something else.; 256\/TE\/WRONG_ARGUMENTS\u003Cbr\u003E | Не передан обязательный параметр TASKID или указан неверный тип значения для TASKID |
ERROR_CORE |
"TASKS_ERROR_EXCEPTION_#256; Param #1 (itemId) expected by method ctaskchecklistitem::update(), but not given.; 256\/TE\/WRONG_ARGUMENTS\u003Cbr\u003E | Не передан обязательный параметр ITEMID или указан неверный тип значения для ITEMID |
ERROR_CORE |
TASKS_ERROR_EXCEPTION_#256; Param #2 (arFields) expected by method ctaskchecklistitem::update(), but not given.; 256\/TE\/WRONG_ARGUMENTS\u003Cbr\u003E | Не передан обязательный параметр FIELDS или передан пустой |

