softspring/cms-api-plugin

REST API plugin for Armonic CMS.

Maintainers

Package info

github.com/softspring/cms-api-plugin

Type:sfs-cms-plugin

pkg:composer/softspring/cms-api-plugin

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

6.0.x-dev 2026-06-25 10:28 UTC

This package is auto-updated.

Last update: 2026-06-25 10:30:18 UTC


README

Latest Stable Latest Unstable License PHP Version Downloads CI Coverage

Experimental package: this plugin is in active development and its route contracts, response payloads, permissions, and extension points may change before a stable release.

softspring/cms-api-plugin exposes selected Armonic CMS configuration and content data through read-only JSON HTTP endpoints.

It is intended for projects that need a controlled REST API for CMS structure, published content, routes, menus, blocks, sections, and media.

Installation

composer require softspring/cms-api-plugin:^6.0@dev

The plugin requires softspring/cms-bundle, softspring/cms-sections-plugin, softspring/media-bundle, Symfony FrameworkBundle, and NelmioApiDocBundle.

Register the bundle if Symfony Flex does not do it automatically:

// config/bundles.php
return [
    Softspring\CmsApiPlugin\SfsCmsApiPlugin::class => ['all' => true],
];

Import the routes under the prefix chosen by the host application:

# config/routes/sfs_cms_api.yaml
sfs_cms_api:
    resource: '@SfsCmsApiPlugin/config/routing/api.yaml'
    prefix: /api/cms

Protect the imported route prefix with the host application's firewall or gateway rules.

Usage

The plugin exposes read-only JSON endpoints for CMS configuration and CMS instances.

Configuration endpoints include:

  • /sites
  • /content-types
  • /blocks
  • /menus
  • /layouts
  • /modules
  • /media-types

Instance endpoints include:

  • /content
  • /routes
  • /menus
  • /blocks
  • /sections
  • /media

Most list endpoints support query parameters such as query, site, locale, publishedOnly, limit, or includeRawConfig depending on the resource.

Features

See FEATURES.md for the functional scope of this package.

Contributing

See CONTRIBUTING.md.

Report issues and send Pull Requests

Security

See SECURITY.md.

License

This package is free and released under the AGPL-3.0 license.