---
id: errors
title: "Ошибки и коды ответов"
kind: shared
---

# Ошибки и коды ответов {#errors}

Общая таксономия HTTP-кодов и доменных кодов ошибок. На странице каждого метода
в блоке инвентаря перечислены коды, реально встречающиеся в его хендлере.

## HTTP-коды

| Код | Значение |
|---|---|
| `200` / `201` | Успех (201 — создан ресурс). |
| `304` | `Not Modified` — ответ на `If-None-Match` с совпавшим ETag (агентные read-методы). |
| `400` | Неверный запрос: отсутствует обязательный аргумент, превышен лимит длины. |
| `403` | Нет прав: роль/доступ не позволяют действие (в т.ч. гость вне guest-спейса, supervisor на мутации). |
| `404` | Ресурс не найден (или невидим вызывающему). |
| `409` | Конфликт: действие невозможно в текущем состоянии (см. доменные коды ниже). |
| `429` | Слишком много запросов (rate limit). |
| `500` | Внутренняя ошибка сервера. |

## Доменные коды (тело ответа `{ error: "<КОД>", … }`)

Эти строковые коды возвращаются с `409`/`403` и предназначены для понятного
объяснения в UI; точные причины — на странице соответствующего метода.

| Код | Когда | Метод |
|---|---|---|
| `SPACE_IN_TRASH` {#err-space-in-trash} | Восстанавливаемый проект лежит в удалённом спейсе — нужен явный confirm на восстановление спейса. | [Восстановить проект](../domains/projects/api/restore-project.md#projects-restore-project) |
| `NO_COMPATIBLE_SPACE` {#err-no-compatible-space} | В целевой организации нет спейса с той же коллекцией для transfer. | [Передать проект](../domains/projects/api/transfer-project.md#projects-transfer-project) |
| `MULTIPLE_SPACES` {#err-multiple-spaces} | В целевой организации несколько подходящих спейсов — неоднозначно. | [Передать проект](../domains/projects/api/transfer-project.md#projects-transfer-project) |
| `PERSONAL_HAS_OVERLAY` {#err-personal-has-overlay} | Личный проект с кастомизацией overlay нельзя перенести (overlay не переносится). | [Передать проект](../domains/projects/api/transfer-project.md#projects-transfer-project) |
| `HAS_PROJECTS` {#err-has-projects} | Нельзя исключить участника с активными проектами в этой org/спейсе. | удаление участника org/спейса |
| `NOT_AUTHORIZED` {#err-not-authorized} | Вызывающий не является org_admin/spaceman/owner для этого действия. | [Сменить владельца](../domains/projects/api/transfer-owner.md#projects-transfer-owner) |
| `NEW_OWNER_NOT_IN_SPACE` {#err-new-owner-not-in-space} | Назначаемый владелец не состоит в спейсе проекта. | [Сменить владельца](../domains/projects/api/transfer-owner.md#projects-transfer-owner) |

---

Human view: https://docs.vnimanie.ai/specbuilder/v1/shared/errors/