Ошибки
Ошибки возвращаются в формате RFC 9457 (problem details) с Content-Type: application/problem+json:
{
"type": "https://docs.glitchmug.com/errors/validation_failed",
"title": "Validation failed",
"status": 422,
"code": "validation_failed",
"detail": "Request validation failed",
"errors": [{ "field": "title", "code": "isLength" }],
"requestId": "2b5a2d89-3a9f-47b4-9f80-a3b6cc7b7934"
}
- Ориентируйтесь на
statusиcode.titleиdetail— для людей и зависят отAccept-Language(en,ru). errorsперечисляет ошибки полей для422:field— путь в JSON (credits.0.name),code— нарушенное правило. Правила схемы называются как в валидаторе (isLength,isIn,isNotEmpty,whitelistValidationдля лишних полей); проверки самого метода — короткими именами (required,invalid,https_required).- Указывайте
requestId, когда сообщаете об ошибке.
Коды по умолчанию
Если у метода нет более точного кода, code соответствует статусу:
| Статус | code |
|---|---|
| 400 | bad_request |
| 401 | unauthenticated |
| 403 | forbidden |
| 404 | not_found |
| 405 | method_not_allowed |
| 409 | conflict |
| 413 | too_large |
| 415 | unsupported_type |
| 422 | validation_failed |
| 429 | rate_limited |
| 451 | unavailable_legal (снято по жалобе на нарушение авторских прав) |
| 500 | internal |
| 503 | service_unavailable |
Специальные коды
Свои коды каждый метод описывает в справочнике. Самые частые:
code | Когда |
|---|---|
invalid_api_key, scope_missing, banned | См. Авторизация |
invalid_cursor | cursor взят не из page.nextCursor |
invalid_idempotency_key | Idempotency-Key — не 8–128 символов из A-Z a-z 0-9 _ - |
idempotency_mismatch | Тот же Idempotency-Key, но другое тело запроса |
idempotency_in_progress | Первый запрос с этим ключом ещё выполняется; повторите чуть позже |
search_unavailable | Полнотекстовый поиск (q) недоступен; фильтры без q работают |
quota_exceeded, file_too_large | Загрузка превышает квоту хранилища или лимит размера |