Для AI-агентов: markdown этой страницы — /docs-content/entities/tasks/checklist-actions.md индекс документации — /llms.txt

Действия над чек-листом и файл задачи

Эти маршруты оборачивают tasks.task.checklist.* и tasks.task.files.attach. Это другое семейство Bitrix24, чем старые маршруты task.checklistitem.*. Для всех вызовов нужны API-ключ со скоупом task или tasks и право на запись. Каждый ответ имеет вид { "success": true, "data": <result Bitrix24> }: значение result передаётся без перестройки. Ошибки Bitrix24 проходят через обычную обработку ошибок /v1.

Метод и путь Bitrix24 Тело JSON
POST /v1/tasks/:taskId/checklist/tree tasks.task.checklist.save { "items": [...], "parameters"?: { ... } }
POST /v1/tasks/:taskId/checklist/:itemId/complete-all tasks.task.checklist.completeAll не требуется
POST /v1/tasks/:taskId/checklist/:itemId/move-before tasks.task.checklist.moveBefore { "beforeItemId": 123 }
POST /v1/tasks/:taskId/checklist/:itemId/move-after tasks.task.checklist.moveAfter { "afterItemId": 123 }
POST /v1/tasks/:taskId/checklist/:itemId/members tasks.task.checklist.addMembers { "members": { "42": "A" } }
POST /v1/tasks/:taskId/checklist/:itemId/members/remove tasks.task.checklist.removeMembers { "membersIds": [42] }
POST /v1/tasks/:taskId/checklist/:itemId/attachments/content tasks.task.checklist.addAttachmentByContent { "attachmentParameters": { "NAME": "file.txt", "CONTENT": "<base64>" } }
POST /v1/tasks/:taskId/checklist/:itemId/attachments/disk tasks.task.checklist.addAttachmentsFromDisk { "filesIds": [123] }
POST /v1/tasks/:taskId/checklist/:itemId/attachments/remove tasks.task.checklist.removeAttachments { "attachmentsIds": [456] }
POST /v1/tasks/:taskId/files/attach tasks.task.files.attach { "fileId": 123 }

taskId и itemId — положительные целые числа. save передаёт массив items как есть: формирование узлов дерева и проверка прав выполняются Bitrix24. Массив плоский: у каждого пункта есть уникальный NODE_ID, корневой пункт задаёт PARENT_NODE_ID: 0, а дочерний ссылается на NODE_ID родителя через PARENT_NODE_ID. Новому пункту нужен TITLE; вложенное поле CHILDREN контроллер не сохраняет.

save заменяет весь чек-лист задачи: старые пункты, которых нет в items, удаляются. "items": [] удаляет все пункты. Для сохранения существующего пункта передайте его верхнерегистровый ID вместе с полным актуальным набором; без ID Bitrix24 создаёт новую запись и удаляет старую. Успешный вызов с непустым массивом возвращает data.checkListItem.traversedItems как объект с ключами NODE_ID и data.checkListItem.taskId: null. При пустом массиве data.checkListItem равен [].

JSON
{"items":[{"ID":9,"NODE_ID":"root-1","PARENT_NODE_ID":0,"TITLE":"Подготовить выпуск","IS_COMPLETE":false,"IS_IMPORTANT":false},{"NODE_ID":"child-1","PARENT_NODE_ID":"root-1","TITLE":"Проверить чек-лист","IS_COMPLETE":false,"IS_IMPORTANT":false}]}

completeAll возвращает массив пунктов, действия над одним пунктом — объект checkListItem; files.attach возвращает объект attachmentId с ID связи файла с задачей. fileId — ID уже существующего файла Диска. Загрузка файла здесь не выполняется.

Содержимое для addAttachmentByContent передаётся в JSON как base64; действует обычный лимит размера тела /v1 (1 MiB). Отдельный multipart или URL transport для этого маршрута не добавлен.