PHPackages                             reedware/openapi-client-generator - 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. reedware/openapi-client-generator

ActiveLibrary[API Development](/categories/api)

reedware/openapi-client-generator
=================================

Generates HTTP API Clients based on JSON Scheam / OpenAPI specs

015PHP

Since Apr 27Pushed 1y ago1 watchersCompare

[ Source](https://github.com/tylernathanreed/openapi-client-generator)[ Packagist](https://packagist.org/packages/reedware/openapi-client-generator)[ RSS](/packages/reedware-openapi-client-generator/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

OpenAPI Client Generator
========================

[](#openapi-client-generator)

Introduction
------------

[](#introduction)

The **OpenAPI Client Generator** is a tool intended to be used to create and maintain OpenAPI Client packages.

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

[](#installation)

Install this package using [Composer](https://getcomposer.org/)

```
composer install reedware/openapi-client-generator --dev
```

Once installed, run the `install` command, which will ask you some basic questions to set up a configuration file and generate the project baseline.

```
vendor/bin/openapi install --generate
```

Usage
-----

[](#usage)

### Regenerate

[](#regenerate)

At any point, you may run the `generate` command to update your client from its OpenAPI Specification.

```
vendor/bin/openapi generate
```

You may also generate subsets of your client as needed:

```
vendor/bin/openapi generate readme
vendor/bin/openapi generate client
vendor/bin/openapi generate schema
vendor/bin/openapi generate schema [name]
vendor/bin/openapi generate operations
vendor/bin/openapi generate operations [name]
```

### Applying Fixes to the OpenAPI Specification

[](#applying-fixes-to-the-openapi-specification)

It's common for the OpenAPI Specification to be coming from a source that you don't own, and may include problems. You can create a `fixes` directory, which can contain explicit modifications to the OpenAPI Specification.

```
[
    {
        "type": "set",
        "path": "components.schemas.Field.properties.identifier",
        "value": {
            "type": "string"
        }
    },
    {
        "type": "merge",
        "path": "components.schemas.Issue.properties.expirationDate",
        "value": {
            "type": "string",
            "format": "date-time"
        }
    }
]
```

All `json` files in the `fixes` directory are processed. It's up to you if you want to use several smaller organized files, one large json file, or anything in between.

### Testing

[](#testing)

Every operation will have a backing test generated for it. If there are enough examples provided by the OpenAPI Specification, a running test will be generated. If there are not enough examples, a test is still generated, but it as marked as incomplete.

You can run your tests using PHPUnit:

```
vendor/bin/phpunit
```

Or use the provided composer script:

```
composer test:suite     # No Coverage
composer test:coverage  # Suite + Coverage
```

If any tests fail, this is likely due to incomplete or inaccurate examples in the OpenAPI Specification. You will need to apply fixes to the specification to get the test to pass.

###  Health Score

16

—

LowBetter than 5% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity15

Early-stage or recently created project

 Bus Factor1

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

### Community

Maintainers

![](https://www.gravatar.com/avatar/6bfd8171901449cf1e05fa5db261a2f424abca5e26818ce54b95442de0661754?d=identicon)[tylernathanreed](/maintainers/tylernathanreed)

---

Top Contributors

[![tylernathanreed](https://avatars.githubusercontent.com/u/6486381?v=4)](https://github.com/tylernathanreed "tylernathanreed (4 commits)")

### Embed Badge

![Health badge](/badges/reedware-openapi-client-generator/health.svg)

```
[![Health](https://phpackages.com/badges/reedware-openapi-client-generator/health.svg)](https://phpackages.com/packages/reedware-openapi-client-generator)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[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/gax

Google API Core for PHP

265103.1M454](/packages/google-gax)[google/common-protos

Google API Common Protos for PHP

173103.7M50](/packages/google-common-protos)

PHPackages © 2026

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