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, by you or by an AI agent.

brew install mykulyak/apigenie/apigenie
A terminal running apigenie diff: every change between two versions of the Petstore API, rated breaking or non-breaking

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

From the first lint to the published docs

Stop stitching together a linter, a diff tool and a handful of code generators. API Genie covers the whole workflow.

  • Lint and format

    Check every API description against your rules and put it in one style

  • Catch breaking changes

    Know what every change does to your clients before it ships

  • Generate code

    Clients, servers, schemas and test data in six languages

  • Mock and test

    Mock APIs from their contracts, and check real ones against them

  • Publish API docs

    Documentation sites, or web components that put a reference in your pages

  • Edit visually

    Edit OpenAPI and AsyncAPI in forms, and keep your files

  • Catalog your APIs

    Know every API of a repository and who owns it

  • Work with AI agents

    Checks, diffs and machine-readable reports for the agents that write your APIs

  • Works with your API standards

    OpenAPI 3.0 to 3.2, Swagger 2.0, AsyncAPI, Protobuf and GraphQL

Doc components

Your API reference, inside your own pages

Your portal already has its layout, its navigation and its guides. Put <apg-api-reference> in one of its pages, and readers browse the operations and send requests there. The elements work in plain HTML, a CMS, React, Vue, Svelte or Angular.

A page of your site, with your navigation and paragraphs, and apg-operation, apg-schema and apg-auth elements placed between themyour-site.example/docs/ordersYour siteGuides · Pricing · API<apg-operation operation-id="getPet">the request, the responses and Try it out<apg-schema name="Pet">the fields, with an example<apg-auth schemes="ApiKey">one key for every Try it out on the page
The grey lines are your text; the blue boxes are the elements, reading one document and sharing its server and credentials.

Start with one file and one command

Install the CLI and lint the API description you have. The diff, the mock server, the generators and the docs read the same file, when you want them.

The API Genie mascot holding OpenAPI, AsyncAPI, Protobuf and GraphQL tiles