Приоткрою тайну, мы сейчас активно работаем в направлении мобильных приложений для нашей платформы и соответственно активно разрабатываем механизм обмена данными с движком посредством внешних API.
Чуть позже мы включим в наш дистрибутив модуль для нашего фреймворка, позволяющий элементарнейшим образом добавлять любые внешние методы API. Определенная часть методов API (которые будут нужны нашим приложениям) будут уже написаны и смогут служить примером для написания других методов.
Скажу сказу, мы проанализировали классический REST подход, отлично описанный на сайте jsonapi.org. И посмотрели в сторону API Вконтакте, которое на несколько порядков удобнее в дальнейшем расширении и разработке. Пару недель потратили на анализ и прагматичное сравнение двух архитектурных стилей. В результате мы выбрали архитектурный стиль ВК API. Название этого архитектурного стиля мы так и не смогли выявить, видимо потому что его нет, но оно чудовищно удобное. https://toster.ru/q/350268
Из плюшек будущего API:
1. Оно будет самодокументируемо за счет PHP Reflection, т.е. вы просто пишете класс, создаете методы, согласно интерфейсу, объявляете параметры вашего метода API в виде аргументов специальной функции, прописываете комментарии PHPDoc, на выходе получаете полностью готовую автоматическую документацию по всем вашим API.
2. Будет определенный набор базовых абстрактных классов, для стандартных CRUD операций.
3. Авторзация уже будет в комплекте, пока будет метод oauth/token из официальной спецификации oAuth.
4. Верификация параметров будет многоуровневая. Сперва фреймворк будет автоматически сверять наличие обязательных параметров на основе обязательных аргументов специальной функции контроллера. (с помощью Reflection), далее каждый метод может делать дополнительную верификацию и бросать исключение в случае ошибки.
Модуль еще находится в активной разработке, рекомендуем подождать его выхода. (Срок пока сложно назвать)
В текущий момент, вам возможно будет проще разработать более простой консольный импорт/экспорт файлов вашего формата, т.е. не полноценный внешний API, а просто механизм импорта/экспорта файлов вашего кастомного формата, это на порядок быстрее и вероятно закроет вашу задачу?