Существует ли какие-либо стандарты ответов в restful?
Есть вполне стандартные статус коды:
401 - нужно авторизоваться. В этом случае на клиенте мы должны попросить чувака ввести логин и пароль
403 - у вас нет прав на это действие. Например юзер пытался удалить что-то или сделать что-то на что у него нет прав.
422 - не могу обработать сущность. То есть если у нас не валидны данные в запросе, пароль там или имейл не ввели и все такое.
404 - пользователя с таким именем пользователя и паролем не существует.
Добавлять ли в тело ответа месседж с пояснением проблемы - решать вам. По хорошему стоит добавлять ибо тогда мы можем рулить сообщениями об ошибках с сервера. Ну или предоставлять клиенту оные. Но в любом случае разруливать ошибки нужно при помощи статус кодов.
restpatterns.org/HTTP_Status_Codes
Мое мнение. (с исправлениями Сергея Протько, спасибо ему)
Когда гость запрашивает ресурсы, требующие авторизации - возвращать 401.
Когда гость авторизуется с неправильными данными - 422.
Когда юзер запрашивает ресурсы, но нет нужных прав доступа - 403.
Когда нет нужного csrf/api токена при запросе - 422.
И давать пояснения. Тут уже на Ваш выбор. Главное, опишите все моменты в документации, если кто-то еще будет  пользоваться.