# User management User information: Name Unique, no space, at least one letter Avatar Stored in a server folder. Size limit? Password Hashed, of course Email Mail address, used to send newsletters Points Participation measure (mainly number of posts) Innovation points A different kind of participation measure Biography Description of the user Signature Short signature added at the end of every post Birthday Birthday date Newsletter Subscription to newsletter Settings... Relations: Notifications 1 to many Groups 1 to many Sent PMs 1 to many Received PMs 1 to many Trophies/Titles 1 to many All posts many to many (tutorials can have several authors) Privileges many to many Rest API for users: Requests where "Search" is set to "Yes" accept search patterns. The syntax needs to be chosen, it could be something like "/users[name~=/*storm*/i]". Method URL Search Description ----------------------------------------------------------------------------- GET /users Yes Query users ----------------------------------------------------------------------------- GET /users/ - Get user information/settings PATCH /users/ - Update user information/settings ----------------------------------------------------------------------------- GET /users//trophies - Get unlocked trophies ----------------------------------------------------------------------------- GET /users//messages Yes Query private messages POST /users//messages - Send PM ( is sender) DELETE /users//messages Required Delete PMs matching pattern ----------------------------------------------------------------------------- GET /users//groups - Get user groups ----------------------------------------------------------------------------- GET /users//privs - Get user privileges ----------------------------------------------------------------------------- Updating the participation scores is not a request, it's tied to posting contents, so it has nothing to do in the API. (*) Not sure if this is relevant, since these are administrator duties. Rest API for groups: Method URL Search Description ----------------------------------------------------------------------------- GET /groups - Get list of groups GET /groups/ - Get list of users in groups ----------------------------------------------------------------------------- There are no methods to change the privileges associated to each groups because this task is clearly for administrators, not API users.