[api] start to move requests into the user model