tenantcloud/php-json-api
A Laravel package for building JSON:API compliant APIs, handling resource serialization, sparse fieldsets, filtering, sorting, pagination, and relationship includes so you can return spec-ready responses with minimal boilerplate.
filter, sort, include, fields, pagination). That reduces the number of one-off endpoints built purely to serve a single consumer's query shape.filter[...] parameters resolve identically regardless of whether code reads them from the query bag, the request input, or the parsed JSON:API request object. In product terms: filtering behavior stops varying by code path, which shows up as "the filter works on this screen but not that one" defects. It is a low-risk, no-action-required upgrade for teams already on 7.x.Consider it when:
Look elsewhere when:
To executives: Adopting this package standardizes our API on JSON:API, an established public specification. That means partner and client integrations follow a documented contract instead of our custom conventions — faster onboarding, fewer support tickets, and less bespoke query code for us to build and maintain. It is an off-the-shelf component, not a new product, so the cost is integration time plus an ongoing dependency to track. The v7.0.2 patch is a routine bug fix that makes filter handling consistent across code paths; no breaking changes, no migration work for teams already on 7.x.
To engineering: This gives us spec-compliant request parsing, filtering, sorting, includes, sparse fieldsets, and error responses for free, with a consistent internal model instead of per-controller query code. Upgrade cost is concentrated at major versions; day-to-day we stay on the current minor and take patches like 7.0.2. Two caveats to own up front: JSON:API semantics have a learning curve, and the package is maintained by a single organization — so we should pin versions, cover our resource layer with contract tests, and keep the serializer boundary thin enough that replacing it later is a contained change rather than a rewrite.
How can I help you explore Laravel packages today?