The purpose of the 2 Discourse API systems

What is the key use case for the Admin API?

In my case, I am using it to:

  1. Add things to my forum, by making API calls that send data I show on my forum. An alternative method of doing this would be to, through a plugin, add ember/rails code to create different types of data and display it. I’m using the API (at least for now) because from a programming perspective it’s a lot easier to understand the API and use javascript to interact with it then it is to master the discourse code base and become fluent in ember and rails.
  2. Allow a separate app I have to interact with my forum.

In both cases, the user API would not work, because the data that needs to be retrieved and shown is often not specific to the user. I understand your point that, basically, you don’t want an API Key exposed on the front end. To address this while still using the Admin API, I house the key on a backend, that I make a call to from my forum. So the forum exposes the backend endpoint URL (not a concern), but not the API Key housed there.