Ошибки
Все ошибки будут возвращать наиболее специфический, соответствующий код ответа HTTP из следующей таблицы:
Коды возврата
Код | Ошибка | Описание |
---|---|---|
400 | Плохая просьба | От клиента был получен некорректный запрос. Это наиболее типичный ответ, выдаваемый API |
401 | Неавторизованный | Вы не авторизованы и не можете получить доступ к запрашиваемому ресурсу |
403 | Запрещенный | У вас нет разрешения на доступ к запрашиваемому ресурсу |
404 | Не найдено | Запрашиваемый ресурс не найден. Он может стать доступным позже |
405 | Метод не разрешен | Для запрашиваемого ресурса был использован неподдерживаемый метод HTTP |
406 | Неприемлемо | Тип Accept или Accept-Encoding, запрошенный клиентом, недоступен |
409 | Конфликт | Запрос не может быть выполнен из-за конфликта с существующим ресурсом |
410 | Ушел | Запрашиваемый ресурс больше не доступен и никогда не будет доступен в будущем |
411 | Требуемая длина | Запрашиваемый ресурс ожидает, что длина содержимого будет указана клиентом |
413 | Слишком большой объект запроса | Тело запроса, предоставленное клиентом, слишком велико, и ресурс отказывается его обрабатывать |
415 | Неподдерживаемый тип носителя | Клиент указал неверный тип содержимого (или его отсутствие) |
422 | Необрабатываемая сущность | Запрос не искажен, тип носителя допустим, но ресурс не может обработать запрос |
429 | Слишком много запросов | Достигнуто ограничение скорости. Дополнительную информацию см. в разделе Ограничение скорости |
500 | Внутренняя ошибка сервера | Сервер не смог обработать ваш запрос из-за неожиданной внутренней ошибки сервера |
501 | Не выполнено | Запрашиваемый ресурс не был реализован |
503 | Сервис недоступен | Запрашиваемая услуга временно недоступна |
Стандартный формат ответа
Все ошибки будут иметь стандартное тело ответа с двумя полями, код и сообщение. Можно использовать и другие поля, но они необязательны.
Примеры
Это простейшая форма возвращаемого тела ошибки, клиенты могут рассчитывать на то, что эти поля будут присутствовать в каждой ошибке.
Ответы на ошибки - пример 1 (базовый уровень)
{
"code": 429,
"message": "You have exceeded your number of requests. Please try again later"
}
В следующем примере, помимо стандартных полей, есть поля для ошибок, связанных с данным конкретным запросом.
Ответы на ошибки - пример 2 (более сложный)
{
"code": 422,
"message": "Unprocessable entity",
"cause": "Validation failed",
"errors": [
{
"resource": "Issue",
"field": "title",
"code": "missing_field"
},
...
]
}