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

Создать задачу

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/fieldsfields.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 — личный ключ

Terminal
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-приложение

Terminal
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 — личный ключ

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-приложение

javascript
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.

Пример ответа

JSON
{
  "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 — не указан ответственный:

JSON
{
  "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 — Ошибки.

Смотрите также