Для AI-агентов: markdown этой страницы — /docs-content/entities/tasks.md индекс документации — /llms.txt
Задачи
Управление задачами портала: создание, чтение, обновление, удаление, фильтрация, агрегация. Задача — единица работы с ответственным, постановщиком, сроком и статусом. У одной задачи могут быть комментарии и записи учёта времени — это отдельные вложенные ресурсы.
Битрикс24 API: tasks.task.*
Скоуп: tasks
Создать задачу
POST /v1/tasks
Создаёт новую задачу. Минимум — название и ответственный.
Поля запроса (body)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
title |
string | ★ | Название задачи |
responsibleId |
number | ★ | Ответственный. Список сотрудников: GET /v1/users |
description |
string | Описание задачи. Поддерживает BB-код ([USER=ID]Имя[/USER], [B]...[/B], [QUOTE]...[/QUOTE]) |
|
priority |
number | Приоритет: 0 — низкий, 1 — обычный (по умолчанию), 2 — высокий |
|
status |
number | Статус. По умолчанию 2 (ждёт выполнения). Полный список значений: GET /v1/tasks/fields → fields.status.enum |
|
deadline |
datetime | Крайний срок (ISO 8601) | |
startDatePlan |
datetime | Плановая дата начала | |
endDatePlan |
datetime | Плановая дата окончания | |
timeEstimate |
number | Оценка трудозатрат в секундах | |
groupId |
number | Рабочая группа. Список: GET /v1/workgroups |
|
parentId |
number | Родительская задача. Список: GET /v1/tasks |
|
accomplices |
number[] | Соисполнители. Список сотрудников: GET /v1/users |
|
auditors |
number[] | Наблюдатели. Список сотрудников: GET /v1/users |
|
tags |
string[] | Метки задачи (массив строк-имён, принимаются прямо при создании) | |
ufTaskWebdavFiles |
string[] | Файлы задачи. Массив строк вида n<id>, где id — идентификатор файла из ответа POST /v1/files/upload. Пример — ["n9759"]. Полное правило для полей-файлов — Поля задачи |
|
createdBy |
number | Постановщик. По умолчанию — пользователь ключа, переопределение применяется в пределах прав вызывающего пользователя. Только существующий сотрудник — см. предупреждение под таблицей. Список сотрудников: GET /v1/users |
|
changedBy |
number | Служебное поле: кто последним изменил задачу. Принимается на записи — см. раздел под таблицей. Список сотрудников: GET /v1/users |
|
closedBy |
number | Служебное поле: кто закрыл задачу. Принимается на записи — см. раздел под таблицей. Список сотрудников: GET /v1/users |
|
statusChangedBy |
number | Служебное поле: кто последним сменил статус. Принимается на записи — см. раздел под таблицей. Список сотрудников: GET /v1/users |
|
createdDate |
datetime | Служебное поле: дата создания задачи, ISO 8601. Принимается на записи — см. раздел под таблицей | |
changedDate |
datetime | Служебное поле: дата последнего изменения, ISO 8601. Переданное значение сохраняется вместо текущего времени — см. раздел под таблицей | |
closedDate |
datetime | Служебное поле: дата закрытия, ISO 8601. Принимается на записи даже у незакрытой задачи — см. раздел под таблицей |
Полный список полей — GET /v1/tasks/fields. Поля id, dateStart, activityDate, realStatus заполняются системой и в body не передаются.
Служебные поля задачи можно задавать
Кроме createdBy, при создании принимаются changedBy, closedBy, statusChangedBy, createdDate, changedDate, closedDate. Битрикс24 сохраняет переданные значения, а Вайбкод — обёртка над ним и не запрещает того, что разрешает платформа. Принимаются оба написания — и createdBy, и CREATED_BY. Передавайте одно из двух, а не оба сразу: при обоих в одном теле применится то, которое встретится позже. Те же поля принимаются и при обновлении — там же разобрано, что остаётся в журнале задачи и как ведёт себя дата без часового пояса.
Передавайте только существующего сотрудника. Битрикс24 не проверяет идентификатор пользователя на существование ни в
createdBy, ни вchangedBy,closedBy,statusChangedBy— он запишет любое число. Задача с несуществующим постановщиком перестаёт управляться через API: отказ приходит и на дальнейшее обновление, и на удаление, причём даже ключу администратора и напрямую в Битрикс24, минуя нас. Отменить это через API нельзя. Список сотрудников:GET /v1/users.
Важно: название длиннее 250 символов Битрикс24 не отклоняет — он молча обрезает его до 250. Эмодзи перед обрезкой заменяются служебной последовательностью, поэтому название с эмодзи обрезается раньше. Проверяйте
titleв ответе, если длина названия важна.
Примеры
curl — личный ключ
curl -X POST "https://vibecode.bitrix24.tech/v1/tasks" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Подготовить отчёт за квартал",
"responsibleId": 1,
"priority": 2,
"deadline": "2026-05-19T18:00:00+03:00"
}'
curl — OAuth-приложение
curl -X POST "https://vibecode.bitrix24.tech/v1/tasks" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Подготовить отчёт за квартал",
"responsibleId": 1,
"priority": 2,
"deadline": "2026-05-19T18:00:00+03:00"
}'
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/tasks', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: 'Подготовить отчёт за квартал',
responsibleId: 1,
priority: 2,
deadline: '2026-05-19T18:00:00+03:00',
}),
})
const { success, data } = await res.json()
console.log('ID новой задачи:', data.id)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/tasks', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: 'Подготовить отчёт за квартал',
responsibleId: 1,
priority: 2,
deadline: '2026-05-19T18:00:00+03:00',
}),
})
const { success, data } = await res.json()
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Всегда true при успехе |
data |
object | Полный объект созданной задачи (как у GET /v1/tasks/:id) — см. Поля задачи |
URL карточки задачи в Битрикс24 строится из id и ID сотрудника:
https://<portal>.bitrix24.ru/company/personal/user/<responsibleId>/tasks/task/view/<id>/
<responsibleId> — ID ответственного (поле responsibleId в ответе): задача откроется в его личном кабинете. Сегмент user/<...> задаёт, в чьём кабинете отображается страница задач — подставьте ID нужного сотрудника, например текущего. <portal> — домен портала. Доступ ограничен правами сотрудника в Битрикс24.
Пример ответа
{
"success": true,
"data": {
"id": 3871,
"title": "Подготовить отчёт за квартал",
"description": "",
"status": 2,
"priority": 2,
"responsibleId": 1,
"createdBy": 1,
"createdDate": "2026-05-12T08:46:12.000Z",
"deadline": "2026-05-19T15:00:00.000Z",
"groupId": 0,
"accomplices": [],
"auditors": [],
"creator": {
"id": "1",
"name": "Текущий пользователь",
"link": "/company/personal/user/1/"
},
"responsible": {
"id": "1",
"name": "Текущий пользователь",
"link": "/company/personal/user/1/"
}
}
}
Пример ответа при ошибке
422 — не указан ответственный:
{
"success": false,
"error": {
"code": "BITRIX_ERROR",
"message": "Не указан исполнитель"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 422 | BITRIX_ERROR |
Битрикс24 отклонил создание задачи — например, не передано обязательное поле title или responsibleId, либо переданное значение отклонено порталом |
| 400 | READONLY_FIELD |
В теле запроса передано поле, доступное только на чтение (id, dateStart, activityDate, realStatus) |
| 400 | INVALID_DISK_ATTACHMENT_VALUE |
Значение поля-файла передано не массивом строк вида n<id> — числом, строкой без префикса или одиночной строкой вместо массива |
| 403 | SCOPE_DENIED |
API-ключ не имеет скоупа tasks |
| 401 | TOKEN_MISSING |
API-ключ не имеет настроенных токенов |
Полный список общих ошибок API — Ошибки.