Ошибки
Каждая ошибка имеет стабильный machine-readable code, requestId и явный признак retryable.
Формат ошибки
422 · Ответjson
{
"error": {
"code": "VALIDATION_FAILED",
"message": "Request validation failed",
"requestId": "01J...",
"retryable": false,
"fieldErrors": [
{
"path": "trackingContextId",
"code": "INVALID_UUID"
}
]
}
}HTTP-статусы
| Статус | Что означает | Действие клиента |
|---|---|---|
| 400 / 422 | Неверный JSON, поле или заголовок | Исправить запрос; не повторять автоматически |
| 401 | Ключ неверен, истёк или отозван | Остановить запросы и заменить секрет |
| 403 | Нет scope или текущего права | Проверить права и allowlist проектов |
| 404 | Ресурс отсутствует или скрыт tenant-границей | Проверить UUID и доступ |
| 409 | Конфликт состояния или Idempotency-Key | Прочитать details и текущее состояние |
| 412 | Устаревший If-Match | Перечитать ресурс и повторить осознанно |
| 429 | Превышен лимит | Ждать Retry-After |
| 5xx | Временная внутренняя ошибка | Сохранить requestId; повторять только если retryable |