PHPackages                             haddowg/json-api-symfony - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. haddowg/json-api-symfony

ActiveSymfony-bundle[HTTP &amp; Networking](/categories/http)

haddowg/json-api-symfony
========================

Symfony bundle for haddowg/json-api: idiomatic routing, content negotiation, validation, and a Doctrine data layer for spec-compliant JSON:API 1.1 endpoints.

v1.0.0(1mo ago)011[1 PRs](https://github.com/haddowg/json-api-symfony/pulls)MITPHPPHP ^8.3CI passing

Since Jun 24Pushed 1mo agoCompare

[ Source](https://github.com/haddowg/json-api-symfony)[ Packagist](https://packagist.org/packages/haddowg/json-api-symfony)[ Docs](https://github.com/haddowg/json-api-symfony)[ RSS](/packages/haddowg-json-api-symfony/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (33)Versions (4)Used By (0)

haddowg/json-api-symfony
========================

[](#haddowgjson-api-symfony)

[![CI](https://github.com/haddowg/json-api-symfony/actions/workflows/ci.yml/badge.svg)](https://github.com/haddowg/json-api-symfony/actions/workflows/ci.yml)

> **Part of the [jsonapi.rest](https://jsonapi.rest) suite** — a complete, spec-compliant JSON:API 1.1 stack for PHP: a framework-agnostic [core](https://github.com/haddowg/json-api), this **Symfony bundle**, a [Laravel package](https://github.com/haddowg/json-api-laravel), and a typed TypeScript client, bound together by one conformance-tested OpenAPI 3.1 contract.

A [Symfony](https://symfony.com/) bundle that makes [`haddowg/json-api`](https://github.com/haddowg/json-api) idiomatic in a Symfony application: register a JSON:API type as a service and get the standard [JSON:API 1.1](https://jsonapi.org/format/1.1/) endpoint set — idiomatic routing, content negotiation, spec-compliant error documents, constraint validation, and a reference Doctrine data layer — with **no controller, no operation handler, and no serializer wired by hand**.

It is the Symfony twin of the [Laravel package](https://github.com/haddowg/json-api-laravel): both build on the same framework-agnostic core and project a **byte-identical OpenAPI document**for an identical domain, so a client generator consumes either backend unchanged.

Requirements
------------

[](#requirements)

- PHP 8.3, 8.4, or 8.5
- Symfony 6.4, 7.x, or 8.x

Doctrine, the validator, the opis linter, and strict email are **opt-in** (`suggest`dependencies) — install one to enable that capability, leave it out and the path is simply absent. See the [optional-dependency matrix](https://haddowg.github.io/json-api-symfony/configuration/).

Installation
------------

[](#installation)

```
composer require haddowg/json-api-symfony
```

Composer pulls the core library and the PSR-7 bridge it needs. Registering the bundle and importing its routes — the one step that surprises everyone, since the bundle mounts **no**routes until you ask it to — is covered in [install](https://haddowg.github.io/json-api-symfony/install/).

Documentation
-------------

[](#documentation)

Full documentation is published at **[haddowg.github.io/json-api-symfony](https://haddowg.github.io/json-api-symfony/)**. Start with [install](https://haddowg.github.io/json-api-symfony/install/) and [getting started](https://haddowg.github.io/json-api-symfony/getting-started/), or browse the [documentation index](https://haddowg.github.io/json-api-symfony/).

Core concepts (fields, relations, constraints, response value objects) live in the [core documentation](https://haddowg.github.io/json-api/).

Demo
----

[](#demo)

`docker compose up` from [`examples/music-catalog-symfony`](examples/music-catalog-symfony) boots the full music-catalog service — `curl http://localhost:8080/albums`, with interactive OpenAPI docs (Swagger UI) at `http://localhost:8080/docs`. The [getting-started guide](https://haddowg.github.io/json-api-symfony/getting-started/) walks the same example.

Licence
-------

[](#licence)

Released under the [MIT Licence](LICENSE).

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance90

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 99.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

49d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8deead49df3205ca08127866adcc5146559895aec400119a64ffe6f4e6477c65?d=identicon)[haddowg](/maintainers/haddowg)

---

Top Contributors

[![haddowg](https://avatars.githubusercontent.com/u/10784397?v=4)](https://github.com/haddowg "haddowg (147 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (1 commits)")

---

Tags

doctrinejson-apijsonapiopenapiphprest-apisymfonysymfony-bundleapisymfonybundlerestdoctrinejsonapipsr-15JSON-API

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/haddowg-json-api-symfony/health.svg)

```
[![Health](https://phpackages.com/badges/haddowg-json-api-symfony/health.svg)](https://phpackages.com/packages/haddowg-json-api-symfony)
```

###  Alternatives

[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

605.9M711](/packages/shopware-core)[shopware/platform

The Shopware e-commerce core

3.4k1.5M3](/packages/shopware-platform)[flow-php/flow

PHP ETL - Extract Transform Load - Data processing framework

86538.6k](/packages/flow-php-flow)[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

7544.4M460](/packages/drupal-core-recommended)[contao/core-bundle

Contao Open Source CMS

1231.7M3.1k](/packages/contao-core-bundle)[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k18.7M442](/packages/easycorp-easyadmin-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
