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

Перенести задачу с порядком

POST /v1/tasks/:taskId/move-stage

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

Параметры

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

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

Поле Тип Обяз. Описание
stageId number да ID целевой стадии: стадия канбана группы задачи или стадия «Моего плана». Список: GET /v1/tasks/stages/:entityId, для группы — ID группы, для «Моего плана» — 0
beforeTaskId number нет ID задачи, перед которой встанет переносимая. Задача из той же группы при переносе по канбану группы или из «Моего плана» при переносе по плану. Не передаётся вместе с afterTaskId
afterTaskId number нет ID задачи, после которой встанет переносимая. Те же условия, что у beforeTaskId. Не передаётся вместе с beforeTaskId

Другие поля в теле отклоняются с 400 INVALID_PARAMS.

Примеры

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

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/tasks/4127/move-stage" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"stageId": 625, "beforeTaskId": 4125}'

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

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/tasks/4127/move-stage" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"stageId": 625, "beforeTaskId": 4125}'

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/tasks/4127/move-stage', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ stageId: 625, beforeTaskId: 4125 }),
})

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

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/tasks/4127/move-stage', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ stageId: 625, beforeTaskId: 4125 }),
})

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

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data object Результат переноса
data.taskId number ID перенесённой задачи
data.stageId number ID стадии, на которой задача оказалась
data.moved boolean Всегда true: перенос проверен повторным чтением задачи

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

JSON
{
  "success": true,
  "data": {
    "taskId": 4127,
    "stageId": 625,
    "moved": true
  }
}

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

409 — задачи нет в «Моём плане» владельца ключа, перенос не выполнен:

JSON
{
  "success": false,
  "error": {
    "code": "TASK_NOT_IN_PLAN",
    "message": "The task is not in your My Plan and was not moved"
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS taskId или stageId не положительное целое число либо в теле есть другие поля: taskId and stageId must be positive integers
400 INVALID_PARAMS Переданы оба поля beforeTaskId и afterTaskId: Use either beforeTaskId or afterTaskId
400 INVALID_PARAMS Задача для порядка совпадает с переносимой или не положительное целое число: The ordering task must be a different positive task id
400 INVALID_PARAMS Стадия не из канбана группы задачи и не из «Моего плана»: stageId must belong to the task group or your My Plan
400 INVALID_PARAMS Перенос по канбану группы, а задача для порядка из другой группы или её нет: Ordering task must belong to the same group
400 INVALID_PARAMS Перенос по «Моему плану», а задачи для порядка в нём нет: Ordering task must belong to your My Plan
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 Задачи с таким taskId нет: Task was not found
409 TASK_NOT_IN_PLAN Перенос по «Моему плану», а задачи в плане владельца ключа нет: The task is not in your My Plan and was not moved
422 BITRIX_ERROR Битрикс24 не подтвердил перенос: Bitrix24 did not confirm the move; reread the task before retrying
422 BITRIX_ERROR После переноса по канбану группы задача не на запрошенной стадии: Bitrix24 did not move the task to the requested stage; reread the task before retrying
422 BITRIX_ERROR Битрикс24 отклонил перенос, текст в message

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

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

  • «Мой план» не зависит от канбана группы. Перенос по «Моему плану» не меняет stageId задачи в группе. Позицию задачи в плане читают фильтром filter[stagesId]=<ID стадии> в списке задач.
  • В «Мой план» задачи не добавляются. В плане есть только задачи, где владелец ключа участвует, например постановщик или ответственный.
  • Порядок в канбане группы общий. Карточки группы видят в одном порядке все её участники, поэтому beforeTaskId и afterTaskId меняют доску для всех.
  • Задачи спринта Scrum переносятся другим методом. Для доски спринта используйте этапы Scrum-канбана.

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