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

Изменить стадию задач

PATCH /v1/task-stages/:stageId

Меняет название, цвет или место стадии в канбане рабочей группы или в «Моём плане».

Параметры

Параметр Тип Обяз. Описание
stageId (path) number да ID стадии. Список: GET /v1/tasks/stages/:entityId

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

Поле Тип Обяз. Описание
title string нет Новое название. Пустая строка и строка из пробелов отклоняются
color string нет Цвет в формате RRGGBB или #RRGGBB. Сохраняется без #
afterStageId number нет ID стадии того же канбана, после которой встанет изменяемая. 0 ставит стадию первой и делает её стадией по умолчанию

Нужно хотя бы одно поле. Пустое тело и другие поля, включая sort, отклоняются с 400 INVALID_PARAMS.

Примеры

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/task-stages/629" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Согласование", "color": "FF8800"}'

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/task-stages/629" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "Согласование", "color": "FF8800"}'

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/task-stages/629', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ title: 'Согласование', color: 'FF8800' }),
})

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

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/task-stages/629', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ title: 'Согласование', color: 'FF8800' }),
})

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

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data object Результат изменения
data.id number ID изменённой стадии
data.updated boolean Всегда true

Саму стадию ответ не содержит. Новые значения и порядок читайте через GET /v1/tasks/stages/:entityId.

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

JSON
{
  "success": true,
  "data": {
    "id": 629,
    "updated": true
  }
}

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

400 — пустое тело или поле, которого нет в таблице, например sort:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "Provide title, color or afterStageId; unsupported fields are refused"
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS stageId не положительное целое число, тело пустое, в нём другие поля, title пустой, color в неверном формате или afterStageId не целое неотрицательное число: Provide title, color or afterStageId; unsupported fields are refused
401 MISSING_API_KEY Не передан заголовок X-Api-Key
401 TOKEN_MISSING У ключа нет действующего токена Битрикс24
403 SCOPE_DENIED У ключа нет скоупа task или tasks
403 WRITE_BLOCKED_READONLY_KEY Ключ только для чтения
403 BITRIX_ACCESS_DENIED У пользователя ключа нет прав на канбан группы
404 ENTITY_NOT_FOUND Стадии с таким stageId нет. Текст message приходит от Битрикс24 на языке портала
422 BITRIX_ERROR Битрикс24 не подтвердил изменение: Bitrix24 did not confirm the update; reread stages before retrying
422 BITRIX_ERROR Битрикс24 отклонил изменение, текст в message

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

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

  • afterStageId: 0 закрепляет задачи без стадии за прежней стадией по умолчанию. Задачи группы, у которых не было стадии (stageId: 0), получают стадию, которая была первой до изменения. В истории этих задач запись о переносе не появляется.
  • afterStageId из другого канбана не даёт ошибку. Ответ 200, а стадия переезжает в конец своей доски.
  • sort соседних стадий пересчитывается. После переноса стадии Битрикс24 заново нумерует sort всех стадий доски шагом 100.

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