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

Php Json Api Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • API contract standard (build vs. buy): Choosing this package is effectively a decision to expose your Laravel application as a spec-compliant JSON:API rather than a bespoke REST dialect. Filtering, sorting, pagination, sparse fieldsets, inclusion of related resources ("compound documents"), and standardized error objects are all boilerplate you would otherwise own and maintain indefinitely. This package buys that layer.
  • Public/partner API roadmap: If the roadmap includes third-party integrations, generated SDKs, or clients built on JSON:API-native tooling (Ember Data, json-api client libraries), this package is the shortest path to a predictable, documented contract. Integration cost shifts from "read our custom docs" to "use the standard."
  • Multi-client consistency: Mobile apps, SPAs, and internal services all get the same query semantics (filter, sort, include, fields, pagination). That reduces the number of one-off endpoints built purely to serve a single consumer's query shape.
  • Release-specific signal (v7.0.2): The patch normalizes filters across every request bag, so 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.
  • Maintenance health: A patch release on the current major line indicates active stewardship — a relevant input when weighing a long-lived dependency.

When to Consider This Package

Consider it when:

  • Your stack is Laravel/PHP and you are building or extending an HTTP API consumed by more than one client type.
  • A consumer, partner, or internal platform standard explicitly expects JSON:API semantics.
  • You want a consistent, self-describing query language (filter/sort/include/fields) without hand-rolling and re-testing it per resource.
  • You have enough resource surface (roughly a dozen or more endpoints) that the boilerplate savings outweigh the learning curve and dependency cost.
  • You are already on the 7.x major line, or can absorb a major-version migration to get there — validate the upgrade path from your current version before committing, since 7.x represents a breaking change from earlier majors.

Look elsewhere when:

  • You are not on Laravel, or your API strategy is GraphQL or OpenAPI-first — this package solves JSON:API, not schema-first REST or GraphQL.
  • Your surface area is one or two endpoints; the spec's conventions will cost more than they save.
  • Your product requires response shapes that diverge from the spec; fighting the serializer is a recurring tax.
  • Your team has no JSON:API familiarity and no appetite to learn it; the query semantics are non-obvious to newcomers and will surface in onboarding time.
  • Maintenance risk is unacceptable: this is a vendor-originated package (TenantCloud) with a single primary steward. Check commit cadence, issue responsiveness, and bus factor against your dependency policy before adoption. Pin the minor version and have a fallback plan.
  • You need guaranteed long-term support windows or commercial SLAs.

How to Pitch It (Stakeholders)

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.

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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console