Zudoku · turn an OpenAPI file into interactive API docs

3 months ago

Great API documentation is hard to build and expensive to maintain. Zudoku fixes that. It is an open-source framework that turns an OpenAPI file into a full, interactive documentation site. Point it at your schema, and you get a branded API reference with a built-in playground, all self-hostable and built on React.

Ask

Ask about this presentation

Answers are generated from this presentation.

Chapters

  1. 0:00Slide 1
  2. 0:18What your readers get
  3. 0:34Start with one command
  4. 0:50Point it at your OpenAPI file
  5. 1:07Let readers try the API, live
  6. 1:22Make it yours
  7. 1:37OpenAPI in, a real portal out
Show transcript

Slide 1

Zudoku

Open-source, interactive API documentation from your OpenAPI file.

OpenAPI file → interactive API reference + playground

Great API documentation is hard to build and expensive to maintain. Zudoku fixes that. It is an open-source framework that turns an OpenAPI file into a full, interactive documentation site. Point it at your schema, and you get a branded API reference with a built-in playground, all self-hostable and built on React.

What your readers get

Zudoku API reference: endpoint list, schema, and live code samples

The generated API reference · search, an API catalog, and live code samples, all themeable.

Here is what your readers actually get. Every endpoint and every schema, laid out cleanly, with live request and response samples right beside them. It is a real developer portal, with search, an API catalog, and dark mode, not a static page dump. And every part of it is yours to theme.

Start with one command

npm create zudoku@latest
cd your-project-name
npm run dev   # http://localhost:3000

Your site is live with hot reloading as you edit.

Getting started takes one command. Run npm create zudoku, and the CLI walks you through it: pick API docs, a full portal, or a blank start. Then change into your new project folder. Now run npm run dev. Your site is live on localhost, hot reloading every change as you make it.

Point it at your OpenAPI file

const config = {
  apis: {
    type: "file",
    input: "./openapi.json",
    path: "/api",
  },
};

One block generates the full reference at /api · the playground comes with it.

To document your own API, you add a single apis block to the config, set the type to file, and point the input at your OpenAPI document, in JSON or YAML. That one block generates the complete API reference at slash api. The interactive playground is included automatically, with no extra wiring to do.

Let readers try the API, live

Integrated playground

Send real requests to your API and see live responses, right from the docs page.

Auth built in

Wire in OpenID or OAuth2, and readers can call protected endpoints with their own credentials.

The integrated playground is the part readers love. They can send real requests to your API and see live responses without ever leaving the documentation. It handles authentication too. Connect OpenID or OAuth, and your readers can call protected endpoints with their own credentials, right there on the page.

Make it yours

Zudoku API reference in dark mode

React + MDX under the hood · your pages, your components, your colors, light or dark.

And because it is React and MDX underneath, you are not boxed in. Write your own pages in Markdown, drop in custom components, and theme every color to match your brand. Same docs, light or dark, completely yours.

OpenAPI in, a real portal out

  • Reference · every endpoint and schema, from one OpenAPI file.
  • Playground · live try-it requests, with OpenID / OAuth2.
  • Yours · MDX pages, React components, full theming.
  • Deploy · npm run build, host it anywhere.

npm create zudoku@latest  ·  open source, MIT

So that is Zudoku: an OpenAPI file in, a polished, interactive developer portal out, open source and free. Run npm create zudoku to scaffold your own, and explore the rest of these docs to make it your own.