Успіх (2xx):
- 200 OK - звичайна успішна відповідь з тілом.
- 201 Created - ресурс створено; бажано з заголовком
Location. - 202 Accepted - запит прийнято, обробка асинхронна (поставлено в чергу).
- 204 No Content - успіх без тіла: видалення, оновлення без повернення даних.
Помилки клієнта (4xx):
- 400 Bad Request - запит некоректний: зламаний JSON, неправильний формат.
- 401 Unauthorized - не автентифіковано: немає токена чи він недійсний. Попри назву, це про «хто ви?».
- 403 Forbidden - автентифіковано, але немає прав на цю дію.
- 404 Not Found - ресурсу немає (або ви не маєте права знати, що він існує).
- 409 Conflict - конфлікт стану: дублікат, застаріла версія при оптимістичному блокуванні.
- 422 Unprocessable Content - синтаксис правильний, але дані не пройшли валідацію. Laravel так і відповідає на помилки валідації.
- 429 Too Many Requests - перевищено ліміт запитів, з
Retry-After.
Помилки сервера (5xx): 500 - непередбачена помилка; 502/503/504 - проблеми з upstream, перевантаження, обслуговування.
Типові помилки:
200 OKз{"success": false, "error": "..."}- клієнти, проксі й моніторинг вважатимуть запит успішним.500на помилку валідації - це не помилка сервера.403для чужого ресурсу інколи розкриває, що він існує; тоді свідомо віддають404.