Вы можете сделать их такими, какие вы хотите, при условии, что они являются стандартными (для всего вашего приложения) и задокументированы для пользы тех, кто использует веб-сервис.
Любовь к кодам состояния HTTP, таким как 404, заключается в том, что настоящий веб-сервис REST основан на HTTP-транспорте, поэтому имеет смысл использовать признанные стандарты.
Тем не менее, вы можете обнаружить, что коды состояния HTTP / 1.1 не являются точными - например, ваш «404 пользователь не найден» эквивалентен «404 не найден» - я думаю, что если смысл есть, то все в порядке .
Если вам нужно создать совершенно новые коды, стоит придерживаться групп HTTP - 2xx для приемлемых результатов, 3xx для требуемых изменений, 4xx для ошибок на стороне клиента и 5xx для ошибок на стороне сервера.