dunglas/json-ld-api-bundle
A Symfony bundle for building JSON-LD and Hydra REST APIs from your entities. It adds schema.org vocabularies, pagination, filtering, validation, and API documentation, making it easy to expose hypermedia-driven web APIs.
dunglas/json-ld-api-bundle name in the dependency graph is the historical/legacy artifact; the maintained codebase is api-platform/core (now on the 5.x line). It replaces weeks of hand-written controllers, serializers, pagination, filtering, and link-building with declarative resource metadata — a clear "buy" for teams needing standards-compliant APIs rather than bespoke endpoints.GroupSequence support, and 422 error consistency reduces the "why does this endpoint return 400 vs 422" class of support tickets.belongsTo handling, relation test coverage), but parity with Symfony across GraphQL and certain hypermedia features must be verified against your exact version before committing a roadmap to it.api-platform/core 5.0.4 or later plus the matching Laravel integration package; treat the old bundle name as a legacy alias. Budget explicitly for the 5.x major-version migration and for future majors — upgrades are a recurring cost of ownership, not a one-off.To executives: This is a mature, MIT-licensed framework component with a large community that turns our existing data models into standards-compliant REST/JSON-LD and GraphQL APIs in days rather than sprints. It reduces time-to-market for any API-first initiative, generates documentation and client SDKs automatically, and avoids vendor lock-in because the contracts are open standards (JSON-LD, OpenAPI, GraphQL) rather than proprietary formats. Upstream is in a steady patch cadence with no contract-breaking changes in the current line, which makes this a safe moment to commit.
To engineering: Declarative resource metadata replaces boilerplate controllers; state providers/processors give clean extension points; OpenAPI, validation, filtering, and pagination are built in. Upstream enforces backward compatibility, conventional commits, and a test-first contribution culture — signals of a maintainable dependency. Recent releases show the metadata and JSON Schema layers being actively hardened (nested resources, DTOs, intersection types, with*() immutability, parameter-vs-filter precedence) and Laravel-specific defects being closed, so early Laravel parity risks are shrinking rather than accumulating. We should still validate Laravel parity and version pinning up front, and plan for major-version upgrade effort as an ongoing cost of ownership.
Risks to acknowledge: residual Laravel feature parity gaps vs. Symfony; legacy package naming causing install confusion; and the discipline required to keep API contracts stable once clients depend on generated hypermedia and schemas. The high volume of metadata and serialization fixes in patch releases also means we should pin minor versions deliberately and re-run contract tests on upgrade rather than floating to latest.
How can I help you explore Laravel packages today?