Прежде всего, это больше похоже на проблему разработки программного обеспечения, чем на реальный код.
CodeIgniter основан на концепции MVC, а контроллер предназначен только для создания страницы.
Вероятно, вам следует создать библиотеку для всех функций API и иметь контроллер, вызывающий эту библиотеку и преобразующий данные в JSON или куда вы хотите, чтобы они были преобразованы.
Для себя я применяю простое правило:
Никогда не пишите / не вызывайте метод Controller, который не генерирует какую-либо форму вывода.
Я рекомендую придерживаться способа кодирования CodeIgniter, а не пытаться их избегать.