Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Cms Api Laravel Package

tomatophp/filament-cms-api

A REST API layer for TomatoPHP Filament CMS, exposing pages, posts, media, and content endpoints with token authentication, configurable routes, and resources for headless Laravel applications.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for content delivery: This package is the "buy" (well, adopt) option for the read-only content API layer behind a headless frontend. It lets you skip building and maintaining custom endpoints for posts and categories, and instead spend that engineering budget on product surface area.
  • Headless / decoupled architecture: Committing to a Filament CMS as the content source while serving a Next.js, Nuxt, SPA, or mobile client. The four endpoints (/api/cms/posts, /api/cms/posts/{slug}, /api/cms/categories, /api/cms/categories/{slug}) cover the standard blog/insights/marketing-content use case end to end.
  • Omnichannel content reuse: One published-content source feeding web, app, and partner integrations. Filter support (type, category, tag, trend, search, for, menu, root) and ?locale= map directly to navigation menus, category landing pages, search, and localized sites — the decisions product managers actually make about content discovery, rather than bespoke query work per client.
  • Roadmap sequencing for content features: Multi-language delivery, tag/category browsing, search, and trending are already served by the API, so these become frontend work rather than backend prerequisites. This shortens the lead time between "we want localized content" and shipping it.
  • Pagination and page-size control: A configurable page size and standard pagination mean list views, infinite scroll, and "load more" patterns don't require backend changes — a small but repeated source of cross-team negotiation removed.
  • Governance and safety by default: Only published posts and active categories are exposed, which is a product-level guarantee (no accidental draft leakage) that would otherwise be a custom-code review item on every release.
  • Upgrade decision: v5 is a breaking release. Any roadmap item or client depending on the previously present FAQ, ticket, or page transformers — or the api/pages routes — is not carried forward. Since the page controller never actually shipped, the realistic impact is low, but it should be confirmed before planning v5 adoption.

When to Consider This Package

Adopt when:

  • You are already on, or are choosing, tomatophp/filament-cms ^5.0 and want a content API without writing one.
  • Your stack is Laravel 12/13 on PHP 8.2+ (tested against PHP 8.3/8.4).
  • Your content delivery needs are read-only: blog posts, articles, categories, tagged/menu/root collections.
  • You need localization of translated fields via ?locale= without a separate translation service.
  • You want deployment-level control — route prefix, middleware (auth, throttling, CORS), page size, and model/resource swaps are all configurable, so the API can be shaped to your security and caching posture without forking.
  • You value a maintained test suite and version matrix over bespoke code; the endpoint tests reduce the review burden on a small team.

Look elsewhere when:

  • You need write endpoints or editorial workflows via API (draft creation, scheduling, submission). This package is intentionally read-only.
  • You need content types beyond posts and categories — pages, FAQs, tickets, or arbitrary CMS-defined models. v5 removed the unused transformers and the api/pages routes, so any such expectation is now explicitly out of scope.
  • You require GraphQL, sparse fieldsets, or a schema you control independently of the CMS.
  • You're on Laravel 11 or PHP < 8.2, or on a Filament v3/v4-era CMS release.
  • You need preview/draft access for editors — the published-only guarantee is a strength for public traffic and a limitation for preview environments.
  • You need vendor-backed SLAs, support contracts, or a published API deprecation policy; this is an ecosystem package and versioning tracks the parent CMS major.

How to Pitch It (Stakeholders)

For executives: This is a free, in-house-ecosystem add-on that turns our CMS into a content service. It removes an estimated custom API build from the roadmap — posts, categories, filtering, pagination, search, and localization are delivered and tested — and it comes with a built-in safety property: only published content is ever exposed publicly. The trade-off is coupling to the Filament/TomatoPHP release cadence. This v5 release is a breaking change, but the removed surface (FAQ, ticket, and page endpoints) never actually shipped a working controller, so the practical migration cost is negligible. Approve adoption if we're standardizing on Filament CMS v5 and Laravel 12/13; it converts a backend project into configuration.

For engineering: Version 5 aligns with Filament v5, requires tomatophp/filament-cms ^5.0, Laravel 12/13, and PHP 8.2+, and ships a full endpoint test suite against a Laravel 12/13 × PHP 8.3/8.4 matrix. Four read-only JSON endpoints expose posts and categories by slug, with filters for type, category, tag, trend, search, menu, and root, plus pagination and ?locale= for translated fields. Exposure is limited to published posts and active categories. Prefix, middleware, page size, models, and resources are all configurable, so we can layer auth, rate limiting, and caching at the route level. The breaking changes are confined to unused transformers and the api/pages routes whose controller never shipped — verify no client references them, then upgrade. Recommend adopting behind our standard middleware and confirming the CMS major-version pin in CI.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin