Это зависит от типа ошибки ... если учетные данные недействительны, вам следует вернуть подходящий HTTP-статус, например, «Bad Request» (400) или «Forbidden» (403), в зависимости от того, как вы этого хотите. работать.
Если код действительно дает сбой, это вызовет исключение ... и это приведет к состоянию HTTP Internal Server Error (500). Это указывает на совершенно другой сценарий для клиента. Вы должны использовать это только в случае непредвиденной ошибки.
Ожидаемая проблема, такая как неверный пароль, должна привести к возвращению другого статуса, который дает клиенту представление о характере проблемы. Плохой запрос, вероятно, является правильным статусом для этого, но разные люди имеют разные мнения по этому поводу. Там нет жесткого и быстрого правила, только руководство.