API HTTP Status
- Отдавать ошибки внутри 200 нельзя.
- 400 Bad Request для ситуаций, когда часть параметров отсутствует или имеет недопустимое значение
- Для персистентных ошибок, если просто повторить запрос — ошибка никуда не денется
- По умолчанию все 4xx коды не кэшируются, за исключением: 404, 405, 410, 414
- 404 для статуса неопределённости (повтор запроса может дать другой результат)
- 405 Method Not Allowed
- 409 Запрос нельзя обработать из-за конфликта в текущем состоянии ресурса
- 500 для проблем на стороне сервера плюс заголовок Retry-After, чтобы дать понять клиенту, когда прийти снова
- 503 Service Unavailable
Security
- 401 (requires auth)
- 403 Forbidden для ошибок аутентификации и/или авторизации
Files
Upload паттерны
- 413 Payload Too Large (if exceeding max)
- 507 Insufficient Storage (server full).
Download паттерны)
- 102 processing
- 303 redirect на CDN\URL