401 Unauthorized означает «не аутентифицирован» (нет или невалидны credentials), 403 Forbidden — «аутентифицирован, но нет прав на действие».
Разбор
- Без токена / с просроченным JWT обычно ждут
401 (иногда с WWW-Authenticate).
- Валидный пользователь без роли admin на
/admin/... — типичный 403.
- Путаница в продукте часта: некоторые API отдают
401 на всё; QA фиксирует отклонение от заявленного контракта.
- Для негативных кейсов готовьте две учётки: anonymous и authenticated-but-forbidden.
Итог
На собеседовании достаточно формулы: 401 = «войди», 403 = «вход не поможет».