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

Завершить активный спринт

POST /v1/scrum/groups/:groupId/sprints/active/complete

Завершает текущий активный спринт Scrum-проекта. ID спринта не передаётся: метод находит активный спринт по ID группы.

Параметры

Параметр Тип Обяз. Описание
ПараметрgroupId (path) Типnumber Обяз.да ОписаниеID Scrum-проекта. Список групп: GET /v1/workgroups

Тело запроса не передаётся. Если запрос всё же несёт заголовок Content-Type: application/json, передайте пустой объект {}.

Примеры

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

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/scrum/groups/211/sprints/active/complete \
  -H "X-Api-Key: YOUR_API_KEY"

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

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/scrum/groups/211/sprints/active/complete \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/scrum/groups/211/sprints/active/complete', {
  method: 'POST',
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})

const { data: sprint } = await res.json()
console.log(sprint.id, sprint.status)

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/scrum/groups/211/sprints/active/complete', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { data: sprint } = await res.json()
console.log(sprint.id, sprint.status)

Поля ответа

Поле Тип Описание
Полеsuccess Типboolean Описаниеtrue при успешном завершении
Полеdata Типobject ОписаниеЗавершённый спринт
Полеdata.id Типnumber ОписаниеID спринта
Полеdata.groupId Типnumber ОписаниеID Scrum-проекта
Полеdata.entityType Типstring ОписаниеТип записи, sprint
Полеdata.name Типstring ОписаниеНазвание спринта
Полеdata.goal Типstring ОписаниеЦель спринта
Полеdata.sort Типnumber ОписаниеПорядок спринта внутри проекта
Полеdata.createdBy Типnumber ОписаниеID пользователя-создателя
Полеdata.modifiedBy Типnumber ОписаниеID пользователя, изменившего спринт последним
Полеdata.dateStart Типstring ОписаниеНачало спринта в формате ISO 8601
Полеdata.dateEnd Типstring ОписаниеМомент завершения в формате ISO 8601
Полеdata.status Типstring Описаниеcompleted

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

JSON
{
  "success": true,
  "data": {
    "id": 45,
    "groupId": 211,
    "entityType": "sprint",
    "name": "Спринт 11",
    "goal": "",
    "sort": 0,
    "createdBy": 1317,
    "modifiedBy": 1317,
    "dateStart": "2026-11-02T00:00:00+03:00",
    "dateEnd": "2026-10-29T14:09:01+03:00",
    "status": "completed"
  }
}

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

404 — в проекте нет активного спринта, в том числе при повторном завершении:

JSON
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "Sprint not found"
  }
}

Ошибки

HTTP Код Описание
HTTP400 КодINVALID_PARAMS ОписаниеgroupId не положительное целое
HTTP400 КодFST_ERR_CTP_EMPTY_JSON_BODY ОписаниеПередан заголовок Content-Type: application/json с пустым телом
HTTP404 КодENTITY_NOT_FOUND ОписаниеВ проекте нет активного спринта или группы с таким groupId нет
HTTP403 КодSCOPE_DENIED ОписаниеКлючу не хватает скоупа task
HTTP403 КодWRITE_BLOCKED_READONLY_KEY ОписаниеКлюч работает только на чтение
HTTP401 КодTOKEN_MISSING ОписаниеУ ключа нет настроенных токенов

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

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

  • Завершение переписывает даты и порядок. dateEnd становится моментом завершения, даже если плановое окончание ещё не наступило, а sort сбрасывается в 0.

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