OpenAPI · AsyncAPI · Protobuf · GraphQL
One toolkit for every API contract
API Genie lints and formats your API descriptions, catches breaking changes before they ship, mocks and contract-tests live APIs, generates clients, servers and documentation for the stack you already use, and edits the files in forms without losing a byte. From the command line, your browser, the desktop or VS Code.
brew install mykulyak/apigenie/apigenie
apigenie diff rates every change between two versions of an API and fails the build on the breaking ones.
Generates code for
- TypeScript
- Python
- C#
- Java
- Go
- Elixir
Everything you need to build a modern Web API
Stop stitching together a linter, a diff tool and a handful of code generators. API Genie covers the whole workflow.
Keep your schemas in good shape
The CLI lints and formats OpenAPI, AsyncAPI, Protobuf and GraphQL files, so every API in the repository follows the same rules.
Detect breaking changes
Compare two versions of an API description, see what changed, and fail the build when a change would break your clients.
Generate clients, servers and docs
Generate client libraries and servers from OpenAPI and AsyncAPI documents, and one documentation site for all your APIs.
Test against the contract
Mock any API, put a validating proxy in front of a real one, and run contract tests in CI over HTTP, WebSocket, MQTT, gRPC and GraphQL.
Works with your API standards
OpenAPI 3.0 to 3.2, Swagger 2.0, AsyncAPI, Protobuf and GraphQL: the same commands work across all of them.
Keep a catalog of your APIs
List every API specification in a repository, record its name and owner, and keep the catalog in git next to the code.
Build better Web APIs
Start with a single file and a single command. Add generators, mocks and contract tests as you go.



