Перейти к основному содержимому

Ошибки

Ошибки возвращаются в формате 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
400bad_request
401unauthenticated
403forbidden
404not_found
405method_not_allowed
409conflict
413too_large
415unsupported_type
422validation_failed
429rate_limited
451unavailable_legal (снято по жалобе на нарушение авторских прав)
500internal
503service_unavailable

Специальные коды​

Свои коды каждый метод описывает в справочнике. Самые частые:

codeКогда
invalid_api_key, scope_missing, bannedСм. Авторизация
invalid_cursorcursor взят не из page.nextCursor
invalid_idempotency_keyIdempotency-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Загрузка превышает квоту хранилища или лимит размера