Ошибки
Единый формат, стабильные коды.
Формат — RFC 9457 problem+json:
{
"type": "https://api.h3llo.cloud/errors/quota-exceeded",
"title": "Quota exceeded",
"status": 429,
"detail": "Project 'prod' has hit the instances/region quota (100/100)",
"instance": "/v1/instances",
"code": "QUOTA_EXCEEDED",
"trace_id": "01HZW...",
"params": { "resource": "instances", "region": "ru-msk-1", "limit": 100 }
}Коды
| HTTP | code | Когда |
|---|---|---|
| 400 | VALIDATION_ERROR | Невалидный body / parameters |
| 401 | UNAUTHENTICATED | Нет/невалидный токен |
| 403 | FORBIDDEN | Нет роли для операции |
| 404 | NOT_FOUND | Ресурс не существует или невидим |
| 409 | CONFLICT | Конфликтующее имя/состояние |
| 412 | STALE_REVISION | ETag не совпал |
| 429 | RATE_LIMITED / QUOTA_EXCEEDED | Сверьтесь с Retry-After |
| 503 | UNAVAILABLE | Транзитная — ретрайте с backoff |
Trace ID
Каждый ответ содержит X-Trace-Id. Прикладывайте к тикетам в саппорт — мы вытащим контекст за минуту.