Ошибки и коды ответов
Общая таксономия 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 на восстановление спейса. | Восстановить проект |
NO_COMPATIBLE_SPACE {#err-no-compatible-space} | В целевой организации нет спейса с той же коллекцией для transfer. | Передать проект |
MULTIPLE_SPACES {#err-multiple-spaces} | В целевой организации несколько подходящих спейсов — неоднозначно. | Передать проект |
PERSONAL_HAS_OVERLAY {#err-personal-has-overlay} | Личный проект с кастомизацией overlay нельзя перенести (overlay не переносится). | Передать проект |
HAS_PROJECTS {#err-has-projects} | Нельзя исключить участника с активными проектами в этой org/спейсе. | удаление участника org/спейса |
NOT_AUTHORIZED {#err-not-authorized} | Вызывающий не является org_admin/spaceman/owner для этого действия. | Сменить владельца |
NEW_OWNER_NOT_IN_SPACE {#err-new-owner-not-in-space} | Назначаемый владелец не состоит в спейсе проекта. | Сменить владельца |