---
title: "Запланировать спринт"
method: POST
path: "/api/v1/tasks/scrum/{project}/sprints"
tags: ["Tasks"]
---

# Запланировать спринт

`POST /api/v1/tasks/scrum/{project}/sprints`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/tasks/scrum/{project}/sprints`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`
  - OAuth 2 (authorization code, authorization URL `https://erp.akeda.ru/oauth2/authorize`, token URL `https://erp.akeda.ru/oauth2/token`, scopes: `akeda:delegate`)
  - HTTP bearer

Только владелец или совладелец проекта. Незаданные настройки берутся из последнего спринта проекта. Бэклог нового спринта пуст.

## Request body

- SprintCreate
  - `name` string, required
  - `goal` string
  - `starts_at` string, date
  - `ends_at` string, date
  - `length_days` integer
  - `members` integer[]
  - `daily_time` string: ЧЧ:ММ; пустая строка снимает время встречи
  - `daily_minutes` 5 | 10 | 15 | 30: Длительность ежедневной встречи в минутах; по умолчанию 15

## Response `201`

Запланированный спринт

- Sprint
  - `id` string, uuid, required
  - `project` string, uuid, required
  - `name` string, required
  - `goal` string, required
  - `starts_at` string, nullable, required
  - `ends_at` string, nullable, required
  - `status` 'planned' | 'active' | 'completed', required
  - `started_at` string, nullable, required
  - `completed_at` string, nullable, required
  - `order` integer, required
  - `length_days` integer, required
  - `members` integer[], required
  - `daily_time` string, nullable, required
  - `daily_minutes` 5 | 10 | 15 | 30, required: Длительность ежедневной встречи в минутах; по умолчанию 15
  - `timezone` string, required
  - `daily_event` string, uuid, required
  - `task_count` integer, required
  - `tasks_done` integer, required
  - `points` integer, required: Сумма баллов задач спринта сейчас
  - `points_done` integer, required
  - `planned_points` integer, nullable, required: Снимок плана на старте
  - `completed_points` integer, nullable, required: Снимок факта на завершении: только задачи в «Готово»
  - `points_in_progress` integer, required: Баллы задач в колонке «В работе» сейчас
  - `progress` SprintProgress, required: Где идущий спринт сейчас. Идеал — сколько баллов должно быть готово к началу сегодняшнего дня (план × (день − 1) / дней); «в графике», если отставание не больше 10% плана (не меньше 1 балла).
    - `day` integer, required: День спринта в его поясе
    - `days` integer, required
    - `days_left` integer, required
    - `plan` integer, required: Снимок плана на старте, без снимка — текущий объём
    - `plan_fixed` boolean, required
    - `scope` integer, required: Текущий объём спринта
    - `done` integer, required
    - `in_progress` integer, required
    - `todo` integer, required: Баллы ещё не начатых задач (бэклог спринта и «Туду»)
    - `ideal_done` number, required
    - `behind` integer, required: На сколько баллов готово меньше идеала
    - `on_track` boolean, required
  - `created_at` string, required
  - `updated_at` string, required

## Other responses

- `400`: Некорректный запрос или нарушение бизнес-правила
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `404`: Запись не найдена или не видима текущему пользователю
- `409`: Конфликт версии, идемпотентности или бизнес-состояния

---

[API](https://skmtc.dev/akeda/apis/akeda-erp-client-api.md) · [All operations](https://skmtc.dev/akeda/apis/akeda-erp-client-api/llms.txt) · [OpenAPI document](https://skmtc.dev/akeda/apis/akeda-erp-client-api/revisions/3c60ded179f2?raw)
