User API implementation