Коди помилок
Кожен машинозчитуваний код помилки, його HTTP-статус і що з ним робити.
Кожна не-2xx відповідь несе один із цих кодів в error.code (Errors and Conventions). Розгалужуйтеся за кодом; message — для людей і може змінюватися.
| Код | Статус | Значення · що робити |
|---|---|---|
INVALID_REQUEST |
400 | Некоректне тіло/query: невідомі поля, відсутня version/If-Match, поганий X-Admin-Actor, недопустимий id заміни, disabled-запис на make-default. Виправте запит. |
AUTHENTICATION_REQUIRED |
401 | Відсутній/невалідний токен для площини: поганий підпис, хибні iss/aud, протермінований, неканонічний UUID у sub, незмаплена роль. Візьміть свіжий токен (User Plane Tokens, Service Plane Tokens). |
FORBIDDEN |
403 | Автентифікований, але не дозволено: auditor на мутації, не-менеджер на credentials організації, include_removed без підвищеної ролі, або сервісний токен без потрібного scope. |
VENDOR_NOT_FOUND |
404 | Немає такого вендора у вашій видимості (Vendors and Providers). |
PROVIDER_NOT_FOUND |
404 | Немає такого провайдера у вашій видимості. |
CREDENTIAL_NOT_FOUND |
404 | Немає такого credential, яким володіє адресований scope — чужий запис відповідає так само. Не для retry. |
CREDENTIAL_NOT_CONFIGURED |
404 | Resolve пройшов кожен допущений рівень і нічого не знайшов. Налаштуйте ключ або дозвольте fallback. |
PROVIDER_DISABLED |
409 | Провайдер disabled/removed у каталозі: ні нових credentials, ні resolve. |
PROVIDER_DEPRECATED_FOR_NEW_CREDENTIALS |
409 | Deprecated-провайдери не приймають нових записів; наявні працюють далі. Мігруйте в бік заміни. |
DEFAULT_CREDENTIAL_ALREADY_EXISTS |
409 | Два create з make_default побігли наввипередки за одну пару (provider, owner); той, хто програв, отримує це. Повторіть раз (Defaults and Lifecycle). |
CREDENTIAL_VERSION_CONFLICT |
409 | Оптимістичне блокування програно: ваша version застаріла. Перечитайте, повторіть. |
OWNER_TYPE_NOT_ALLOWED_FOR_PROVIDER |
409 | Політика провайдера взагалі не допускає цей рівень власності. |
CREDENTIAL_SCHEMA_VALIDATION_FAILED |
422 | Секретний об'єкт порушує credential_schema (Provider Schemas). Вказівники — в details.errors, значення не відлунюються ніколи. |
CONFIGURATION_SCHEMA_VALIDATION_FAILED |
422 | Конфігурація порушує configuration_schema. Та сама форма. |
REQUEST_TOO_LARGE |
413 | Тіло понад 64 KiB. |
RATE_LIMITED |
429 | Бюджет вичерпано; зачекайте Retry-After секунд. |
CREDENTIAL_DECRYPTION_FAILED |
500 | Збережений шифротекст не розшифрувався — інцидент keyring, зафіксований в audit. Ескалюйте операторам; не повторюйте наосліп. |
INTERNAL_ERROR |
500 | Неочікуваний збій. Зарепортьте разом із correlation_id. |
SERVICE_NOT_READY |
503 | Залежність (база/keyring) лежить — ті самі факти, що й у GET /health/ready. Повторіть після readiness. |
NOT_FOUND / METHOD_NOT_ALLOWED / HTTP_ERROR |
404/405/* | Генеричні відповіді HTTP-шару на невідомі шляхи та методи. |
Практичний прохід найважливішими: сценарій cookbook 10.