In my case, I find it very useful to have a second line of public methods.
Imagine something like reacting to an article. I'd have:
react_to_article(user, article, reaction)
http_react_to_article(auth_token, article, reaction)
cli_react_to_article(ssh_key, article, reaction)
My point is, some things are related to the communications protocol and some others are pure app behavior, and having the latter isolated allows you to:
Those are my 2 cents on this.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.