Portal client API wrapper