PHPackages                             yoanm/jsonrpc-http-server-openapi-doc-sdk - 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. [API Development](/categories/api)
4. /
5. yoanm/jsonrpc-http-server-openapi-doc-sdk

ActiveLibrary[API Development](/categories/api)

yoanm/jsonrpc-http-server-openapi-doc-sdk
=========================================

SDK to generate Http JSON-RPC server documentation for OpenAPI v3.0.0

v1.0.2(8mo ago)136.7k↓30.6%[1 issues](https://github.com/yoanm/php-jsonrpc-http-server-openapi-doc-sdk/issues)[2 PRs](https://github.com/yoanm/php-jsonrpc-http-server-openapi-doc-sdk/pulls)2MITPHPPHP ^8.0CI passing

Since May 14Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/yoanm/php-jsonrpc-http-server-openapi-doc-sdk)[ Packagist](https://packagist.org/packages/yoanm/jsonrpc-http-server-openapi-doc-sdk)[ RSS](/packages/yoanm-jsonrpc-http-server-openapi-doc-sdk/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (8)Versions (15)Used By (2)

JSON-RPC Http server OpenAPI documentation
==========================================

[](#json-rpc-http-server-openapi-documentation)

[![License](https://camo.githubusercontent.com/5f96301b500b534eb18626082709ab533f93460f7e8cb870467a0b103d7cfa15/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f796f616e6d2f7068702d6a736f6e7270632d687474702d7365727665722d6f70656e6170692d646f632d73646b2e737667)](https://github.com/yoanm/php-jsonrpc-http-server-openapi-doc-sdk)[![Code size](https://camo.githubusercontent.com/5c7b2ec66675df0d7e06b83ceb40a2b4880c0b7e207c31c3fa04dd097431e5bf/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f636f64652d73697a652f796f616e6d2f7068702d6a736f6e7270632d687474702d7365727665722d6f70656e6170692d646f632d73646b2e737667)](https://github.com/yoanm/php-jsonrpc-http-server-openapi-doc-sdk)[![Dependabot Status](https://camo.githubusercontent.com/0afcbaa4f4ce821a524b59336efd2467f83c701c1f4290141a58a130982731fc/68747470733a2f2f666c61742e62616467656e2e6e65742f6769746875622f646570656e6461626f742f796f616e6d2f7068702d6a736f6e7270632d687474702d7365727665722d6f70656e6170692d646f632d73646b)](https://camo.githubusercontent.com/0afcbaa4f4ce821a524b59336efd2467f83c701c1f4290141a58a130982731fc/68747470733a2f2f666c61742e62616467656e2e6e65742f6769746875622f646570656e6461626f742f796f616e6d2f7068702d6a736f6e7270632d687474702d7365727665722d6f70656e6170692d646f632d73646b)[![Last commit](https://camo.githubusercontent.com/587c63d70e154e22ebc9014e7a1337cdbfae9f490b1d37c3afb9b8df3460373d/68747470733a2f2f62616467656e2e6e65742f6769746875622f6c6173742d636f6d6d69742f796f616e6d2f7068702d6a736f6e7270632d687474702d7365727665722d6f70656e6170692d646f632d73646b)](https://camo.githubusercontent.com/587c63d70e154e22ebc9014e7a1337cdbfae9f490b1d37c3afb9b8df3460373d/68747470733a2f2f62616467656e2e6e65742f6769746875622f6c6173742d636f6d6d69742f796f616e6d2f7068702d6a736f6e7270632d687474702d7365727665722d6f70656e6170692d646f632d73646b)

[![Scrutinizer Build Status](https://camo.githubusercontent.com/3fb475231b8de105044bab0fd4cd36278363bbec82682b67dd684c8ccb9d6057/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f6275696c642f672f796f616e6d2f7068702d6a736f6e7270632d687474702d7365727665722d6f70656e6170692d646f632d73646b2e7376673f6c6162656c3d5363727574696e697a6572266c6f676f3d7363727574696e697a6572)](https://scrutinizer-ci.com/g/yoanm/php-jsonrpc-http-server-openapi-doc-sdk/build-status/master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/59f0bd1dda06e019c8586c7cb86d1296573a045edfae46f0b2da64a6bf82e2da/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f796f616e6d2f7068702d6a736f6e7270632d687474702d7365727665722d6f70656e6170692d646f632d73646b2f6d61737465722e7376673f6c6f676f3d7363727574696e697a6572)](https://scrutinizer-ci.com/g/yoanm/php-jsonrpc-http-server-openapi-doc-sdk/?branch=master)[![Codacy Badge](https://camo.githubusercontent.com/9fb44e29c9d4bd4ecd206541fbd305938a5a0dbcc15fdab5d1db97a7a24ce23a/68747470733a2f2f6170702e636f646163792e636f6d2f70726f6a6563742f62616467652f47726164652f3866333934323461646430343462343361373062646232333865326634386462)](https://www.codacy.com/gh/yoanm/php-jsonrpc-http-server-openapi-doc-sdk/dashboard?utm_source=github.com&utm_medium=referral&utm_content=yoanm/php-jsonrpc-http-server-openapi-doc-sdk&utm_campaign=Badge_Grade)

[![CI](https://github.com/yoanm/php-jsonrpc-http-server-openapi-doc-sdk/actions/workflows/CI.yml/badge.svg?branch=master)](https://github.com/yoanm/php-jsonrpc-http-server-openapi-doc-sdk/actions/workflows/CI.yml)[![codecov](https://camo.githubusercontent.com/187b13143ef57b82b563d77363fcddf861875d7fb389b273ba8a7b8693162772/68747470733a2f2f636f6465636f762e696f2f67682f796f616e6d2f7068702d6a736f6e7270632d687474702d7365727665722d6f70656e6170692d646f632d73646b2f6272616e63682f6d61737465722f67726170682f62616467652e7376673f746f6b656e3d4e486477454255464b35)](https://codecov.io/gh/yoanm/php-jsonrpc-http-server-openapi-doc-sdk)

[![Latest Stable Version](https://camo.githubusercontent.com/12aadf51a3ed2a381010d24a95d289c13ffbabfa9d7510209b9bb1192091ceac/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f796f616e6d2f6a736f6e7270632d687474702d7365727665722d6f70656e6170692d646f632d73646b2e737667)](https://packagist.org/packages/yoanm/jsonrpc-http-server-openapi-doc-sdk)[![Packagist PHP version](https://camo.githubusercontent.com/158b2b42156c7d7b6916bf52401c33c86de602e553af0fa7a5140944aa56af65/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f796f616e6d2f6a736f6e7270632d687474702d7365727665722d6f70656e6170692d646f632d73646b2e737667)](https://packagist.org/packages/yoanm/jsonrpc-http-server-openapi-doc-sdk)

SDK to generate Http JSON-RPC server documentation for OpenAPI v3.0.0

See [`yoanm/symfony-jsonrpc-http-server-openapi-doc`](https://github.com/yoanm/symfony-jsonrpc-http-server-openapi-doc) for automatic dependency injection.

How to use
----------

[](#how-to-use)

Create the normalizer :

```
use Yoanm\JsonRpcHttpServerOpenAPIDoc\App\Normalizer\Component\ErrorDocNormalizer;
use Yoanm\JsonRpcHttpServerOpenAPIDoc\App\Normalizer\Component\ExternalSchemaListDocNormalizer;
use Yoanm\JsonRpcHttpServerOpenAPIDoc\App\Normalizer\Component\OperationDocNormalizer;
use Yoanm\JsonRpcHttpServerOpenAPIDoc\App\Normalizer\Component\RequestDocNormalizer;
use Yoanm\JsonRpcHttpServerOpenAPIDoc\App\Normalizer\Component\ResponseDocNormalizer;
use Yoanm\JsonRpcHttpServerOpenAPIDoc\App\Normalizer\Component\SchemaTypeNormalizer;
use Yoanm\JsonRpcHttpServerOpenAPIDoc\App\Normalizer\Component\ShapeNormalizer;
use Yoanm\JsonRpcHttpServerOpenAPIDoc\App\Normalizer\Component\TypeDocNormalizer;
use Yoanm\JsonRpcHttpServerOpenAPIDoc\App\Resolver\DefinitionRefResolver;
use Yoanm\JsonRpcHttpServerOpenAPIDoc\Infra\Normalizer\DocNormalizer;

$shapeNormalizer = new ShapeNormalizer();
$definitionRefResolver = new DefinitionRefResolver();
$typeDocNormalizer = new TypeDocNormalizer(
    new SchemaTypeNormalizer()
);

$normalizer = new DocNormalizer(
    new ExternalSchemaListDocNormalizer(
        $definitionRefResolver,
        $typeDocNormalizer,
        new ErrorDocNormalizer(
            $typeDocNormalizer,
            $shapeNormalizer
        )
    ),
    new OperationDocNormalizer(
        $definitionRefResolver,
        new RequestDocNormalizer(
            $definitionRefResolver,
            $shapeNormalizer
        ),
        new ResponseDocNormalizer(
            $definitionRefResolver,
            $shapeNormalizer
        )
    )
);
```

Then you can convert `ServerDoc` or `HttpServerDoc` by doing :

```
use Yoanm\JsonRpcServerDoc\Domain\Model\ServerDoc;

$serverDoc = new ServerDoc();
// Configure server doc
...
// Add methods documentation
...
// Then normalize
/** @var array $openAPIDoc */
$openAPIDoc = $normalizer->normalize($serverDoc);
```

Contributing
------------

[](#contributing)

See [contributing note](./CONTRIBUTING.md)

###  Health Score

46

—

FairBetter than 93% of packages

Maintenance49

Moderate activity, may be stable

Popularity28

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 89.5% 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

Every ~267 days

Recently: every ~515 days

Total

11

Last Release

258d ago

Major Versions

v0.2.2 → v1.0.02023-04-02

PHP version history (3 changes)v0.0.1-alphaPHP &gt;5.5

v0.1.0PHP &gt;=7.1

v1.0.0PHP ^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/4410697?v=4)[yoanm](/maintainers/yoanm)[@yoanm](https://github.com/yoanm)

---

Top Contributors

[![yoanm](https://avatars.githubusercontent.com/u/4410697?v=4)](https://github.com/yoanm "yoanm (34 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")[![dependabot-preview[bot]](https://avatars.githubusercontent.com/in/2141?v=4)](https://github.com/dependabot-preview[bot] "dependabot-preview[bot] (1 commits)")

---

Tags

documentation-generatorjson-rpcjsonrpc-server-doc-sdkopenapiphpsdk

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/yoanm-jsonrpc-http-server-openapi-doc-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/yoanm-jsonrpc-http-server-openapi-doc-sdk/health.svg)](https://phpackages.com/packages/yoanm-jsonrpc-http-server-openapi-doc-sdk)
```

###  Alternatives

[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[facebook/php-business-sdk

PHP SDK for Facebook Business

90821.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

74513.7M114](/packages/meilisearch-meilisearch-php)[google/common-protos

Google API Common Protos for PHP

173103.7M50](/packages/google-common-protos)[hubspot/api-client

Hubspot API client

23914.2M16](/packages/hubspot-api-client)[lstrojny/fxmlrpc

Fast and tiny XML/RPC client with bridges for various HTTP clients

1425.4M30](/packages/lstrojny-fxmlrpc)

PHPackages © 2026

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