# Список стадий канбана задач

`GET /v1/tasks/stages/:entityId`

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

Скоуп: `task`

## Параметры

| Параметр | Тип | Обяз. | По умолч. | Описание |
|----------|-----|:-----:|-----------|----------|
| `entityId` (path) | number | да | — | Владелец стадий: идентификатор рабочей группы или `0` — «Мой план» владельца ключа. Список групп: [`GET /v1/workgroups`](/docs/entities/workgroups/list) |

## Примеры

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

```bash
curl "https://vibecode.bitrix24.tech/v1/tasks/stages/7" \
  -H "X-Api-Key: YOUR_API_KEY"
```

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

```bash
curl "https://vibecode.bitrix24.tech/v1/tasks/stages/7" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"
```

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

```javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/tasks/stages/7', {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})

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

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

```javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/tasks/stages/7', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

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

## Поля ответа

| Поле | Тип | Описание |
|------|-----|----------|
| `success` | boolean | Всегда `true` при успехе |
| `data` | array | Массив колонок, отсортированный по `sort` |
| `data[].id` | number | Идентификатор стадии |
| `data[].title` | string | Название колонки |
| `data[].sort` | number | Порядок сортировки на доске |
| `data[].color` | string | Цвет колонки в формате `RRGGBB` |
| `data[].systemType` | string \| null | `NEW` у стадии по умолчанию, то есть первой на доске, `null` у остальных |
| `data[].entityId` | number | Идентификатор владельца — группы или пользователя |
| `data[].entityType` | string | Тип владельца: `G` — группа, `U` — «Мой план» |

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

Стадии канбана группы 7:

```json
{
  "success": true,
  "data": [
    {
      "id": 87,
      "title": "Новые",
      "sort": 100,
      "color": "00C4FB",
      "systemType": "NEW",
      "entityId": 7,
      "entityType": "G"
    },
    {
      "id": 88,
      "title": "Выполняются",
      "sort": 200,
      "color": "47D1E2",
      "systemType": null,
      "entityId": 7,
      "entityType": "G"
    },
    {
      "id": 89,
      "title": "Сделаны",
      "sort": 300,
      "color": "75D900",
      "systemType": null,
      "entityId": 7,
      "entityType": "G"
    }
  ]
}
```

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

400 — `entityId` меньше нуля:

```json
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "entityId must be a non-negative integer (0 = personal plan)"
  }
}
```

## Ошибки

| HTTP | Код | Описание |
|------|-----|----------|
| 400 | `INVALID_PARAMS` | `entityId` меньше нуля или не число |
| 400 | `UNSUPPORTED_FILTER` | Передан параметр `filter`, которого у этой ручки нет. В тексте ошибки названо, чем пользоваться вместо него |
| 403 | `BITRIX_ACCESS_DENIED` | Нет доступа к задачам этой группы или группы с таким `entityId` не существует |
| 403 | `SCOPE_DENIED` | Ключу не хватает скоупа `task` или `tasks` |
| 401 | `TOKEN_MISSING` | У ключа не настроены токены доступа |
| 401 | `MISSING_API_KEY` | Не передан заголовок `X-Api-Key` |
| 422 | `BITRIX_ERROR` | Битрикс24 отклонил запрос, текст в `message` |

Полный список общих ошибок API — [Ошибки](/docs/errors).

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

**Права администратора портала не открывают чужие группы.** Если пользователь ключа не состоит в группе, чтение её стадий отвечает `403 BITRIX_ACCESS_DENIED`, даже когда он администратор портала.

**У новой группы канбан уже есть.** Первое чтение стадий только что созданной группы возвращает три стадии по умолчанию: «Новые», «Выполняются», «Сделаны».

**Колонки группы и история задачи не совпадают.** Метод возвращает текущие колонки группового канбана. В истории задачи событие `STAGE` хранит название стадии на момент перехода — оно может отличаться от текущих колонок группы, а стадии спринта в групповой канбан не входят. Для разбора прошлых переходов опирайтесь на значение из истории, а не на этот справочник.

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

- [Стадии канбана задач](/docs/task-stages)
- [Задачи: канбан, «Мой план» и план дня](/docs/tasks)
- [Создать стадию задач](/docs/tasks/stages)
- [Изменить стадию задач](/docs/task-stages/update)
- [Удалить пустую стадию задач](/docs/task-stages/delete)
- [Перенести задачу с порядком](/docs/tasks/move-stage)
- [История изменений задачи](/docs/task-history)
- [Задачи](/docs/entities/tasks)
- [Обзор API](/docs/entity-api)
- [Ошибки](/docs/errors)
