User preferences endpoint now requires notification_preferences.read

- Refactors the nested map structure into a new type

[#76994650]