А в чем проблема?
У вас, судя по тексту, уже есть разделение пользователей по ролям и в зависимости от роли, пользователю доступен тот или иной функционал в приложении
Добавьте новую роль у которой будет доступ ко всему. Соответственно, если вы авторизуетесь в административном приложении под пользователем с правами "админ" - будет выдаваться информация по API, под пользователем без прав - выдаст ошибку.
По идее не важно какое у вас приложение (публичное/непубличное), у вас вся логика должна быть реализована в API, а приложение будет лишь "отрисовывать" то, что прилетит от API.
Если проблема в чем-то другом – сформулируйте вопрос более четко