Хороша ли идея выноса работы с интерфейсом на единый API?
Есть несколько сложностей, вот парочка.
Нередко бывает, что функционал мобильного приложения требует некоторой другой логики работы, например он часто бывает упрощен.
Если API раздельное, вы можете гибко и без особых опасений вносить какие то изменения в работу API браузерной версии не задевая мобильное приложение. Последнее всегда более требовательно к стабильности API, поскольку если вы нарушите обратную совместимость не достаточно просто обновить сборку приложения, необходимо еще чтобы пользователи обновили его на своих устройствах.
Вы используйте один логический модуль как для сайта, так и для мобильного приложения. А вот рендер - уже делаете в зависимости от типа клиента. Поэтому изменения выдачи в браузер или через API для мобильного устройства никак не повлияют друг на друга.
Кроме изначальных затрат на построение ПРАВИЛЬНОЙ! архитектуры обработки и самого API - ТОЛЬКО ОДНИ ПЛЮСЫ!