mxHeadless
REST API gateway для headless-фронтендов на MODX 3. Ресурсы, объекты, OpenAPI, API keys и OAuth

Регистрируйте xPDO-классы через ExtensionApi::registerObject на OnMxHeadlessRegister.
$api->registerObject(
\MxHeadless\Definition\ObjectDefinition::create('products')
->setName('products')
->class(\MiniShop3\Model\msProduct::class)
->fields(['id', 'pagetitle', 'price'])
->filterable(['id', 'parent', 'price'])
->sorts(['id', 'price'])
->readable()
);После freeze поздняя регистрация выбрасывает RegistryFrozenException.
use MxHeadless\Definition\RelationDefinition;
$api->registerRelation('products', RelationDefinition::create('category')
->to('categories')
->toOne()
->foreignKeyField('parent')
->fields(['id', 'pagetitle'])
);Типы: to_one, to_many (paginated batch load). Клиент запрашивает ?include=category.
Зарегистрированный object доступен как /api/v1/objects/{name}. См. Objects API и live /schema.