Для 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 — личный ключ
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-приложение
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 — личный ключ
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-приложение
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.
Пример ответа
{
"success": true,
"data": {
"id": 629,
"updated": true
}
}
Пример ответа при ошибке
400 — пустое тело или поле, которого нет в таблице, например sort:
{
"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.