#Обновить задачу

PATCH /v1/tasks/:id

Обновляет поля существующей задачи. Передавайте только изменяемые поля. Полный список — Поля задачи.

#Параметры

Параметр Тип Обяз. Описание
id (path) number да ID задачи

#Поля запроса (body)

Передавайте только изменяемые поля — поведение PATCH, остальные значения не затрагиваются.

Поле Тип Описание
title string Название
description string Описание задачи (поддерживает BB-код)
responsibleId number Новый ответственный. Список сотрудников: GET /v1/users
status number Статус задачи. Полный список значений: GET /v1/tasks/fieldsfields.status.enum
priority number Приоритет: 0 — низкий, 1 — обычный, 2 — высокий
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[] Метки задачи

Поля id, createdBy, createdDate, changedDate, closedDate — read-only, в body не передаются. Попытка → 400 READONLY_FIELD.

#Часто обновляемые поля

Поле Когда используется
status Закрытие (5), возврат в работу (3), отказ (7). Расшифровка: GET /v1/tasks/fieldsfields.status.enum
responsibleId Передача задачи другому сотруднику. Источник: GET /v1/users
deadline Перенос срока (ISO 8601 со смещением часового пояса портала)

#Примеры

#curl — личный ключ

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/tasks/3871" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "status": 5,
    "priority": 2
  }'

#curl — OAuth-приложение

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/tasks/3871" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "status": 5,
    "priority": 2
  }'

#JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/tasks/3871', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    status: 5,
    priority: 2,
  }),
})

const { success, data } = await res.json()

#JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/tasks/3871', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    status: 5,
    priority: 2,
  }),
})

const { success, data } = await res.json()

#Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data object Обновлённый объект задачи со всеми полями — см. Поля задачи

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

JSON
{
  "success": true,
  "data": {
    "id": "3871",
    "title": "Подготовить отчёт за квартал",
    "status": "5",
    "priority": "2",
    "responsibleId": "1",
    "createdBy": "1",
    "createdDate": "2026-05-12T11:46:12+03:00",
    "changedDate": "2026-05-12T13:02:48+03:00",
    "closedDate": "2026-05-12T13:02:48+03:00",
    "deadline": "2026-05-19T18:00:00+03:00",
    "accomplices": [],
    "auditors": []
  }
}

#Пример ответа при ошибке

400 — попытка изменить read-only поле:

JSON
{
  "success": false,
  "error": {
    "code": "READONLY_FIELD",
    "message": "Field 'createdBy' is read-only and cannot be set"
  }
}

#Ошибки

HTTP Код Описание
404 ENTITY_NOT_FOUND Задача с таким ID не найдена
400 READONLY_FIELD Попытка обновить поле, доступное только на чтение (id, createdBy, createdDate, changedDate, closedDate)
400 BITRIX_ERROR Некорректное значение поля (например, status вне диапазона 1..7)
403 SCOPE_DENIED API-ключ не имеет скоупа tasks
401 TOKEN_MISSING API-ключ не имеет настроенных токенов

Полный список общих ошибок API — Ошибки.

#Известные особенности

Закрытие задачи. Чтобы пометить задачу выполненной, отправьте status: 5. После этого автоматически заполняется closedDate — это поле read-only и обновляется только при переводе в статус 5 (завершена) или 6 (отложена).

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