Skip to content

v12.1.0

Choose a tag to compare

@mrin9 mrin9 released this 07 Nov 12:05

RapiDoc 12.1.0: the Dev Portal is here

In the 12.0.0 notes we promised a developer portal built around RapiDoc. It's here. RapiDoc 12.1.0 ships with a family of packages that turn your OpenAPI specs and Markdown guides into a complete developer portal you host yourself. Like RapiDoc, every one of them is free and open source (MIT).

npm create rapidoc@latest my-portal
cd my-portal
npm install
npm run dev

Open http://localhost:4321 and you have a portal: a home page, an API catalog, an interactive reference for every spec, guides and search. Put your OpenAPI files in the folder first and create-rapidoc builds the portal around them.

See it live: the RapiDoc Portal docs are built with RapiDoc Portal.

🧩 The RapiDoc family

Package What it does
rapidoc 12.1.0 The <rapi-doc> web component you know, plus the new <rapi-flow> for Arazzo workflows.
@rapidoc/portal The developer portal: OpenAPI specs and Markdown, MDX or Markdoc guides in, a static site out.
@rapidoc/cli The rapidoc command: init, dev, build, serve, preview, mock, validate, lint, bundle, mcp, migrate, doctor.
create-rapidoc npm create rapidoc: a new portal in one command.
@rapidoc/server Serves a built portal with sign-in and per-page access rules.
@rapidoc/mock A mock server for your APIs, with request validation and real token checks.
@rapidoc/prerender Renders RapiDoc pages to HTML at build time (formerly rapidoc/static).
@rapidoc/mcp Turns OpenAPI operations and Arazzo workflows into MCP tools for AI assistants.

🚀 RapiDoc Portal

RapiDoc lets developers walk through a schema and see every parameter, constraint and example in context. The portal keeps that, and adds everything around it:

  • Interactive API reference for every spec, with a sidebar that stays in view while the page scrolls.
  • API catalog of all your specs, grouped by category, and API versions with a version picker.
  • Guides in Markdown, MDX or Markdoc, with callouts, tabs, steps and live API operations embedded in the page.
  • Full-text search across guides and API operations.
  • Arazzo workflows drawn as diagrams in your guides, runnable from the page.
  • Sign-in and access rules (optional): OpenID Connect with Okta, Microsoft Entra ID, Google Workspace, Keycloak, Auth0 and others. Decide per page who can read what; rapidoc serve enforces it on pages, specs and search alike.
  • Made for AI too: llms.txt and a Markdown copy of every guide, plus MCP tools for your APIs.
  • Static output you can host on any web server or CDN. A sign-in portal runs on rapidoc serve, with no database.
  • Coming from Redocly or Zudoku? rapidoc migrate converts your config.

Start with the Quickstart.

More tools in the rapidoc command

  • rapidoc mock: a mock server for every API in the portal. Responses come from your examples, then from data generated from the schemas. Requests are validated, and OAuth scopes are checked against real JWTs, so you can show who may call what. (Mock server)
  • rapidoc validate and rapidoc lint: catch spec errors, and the gaps that make a weak portal (missing operationIds, summaries, examples).
  • rapidoc bundle: joins a spec split over several files into one.
  • rapidoc preview <spec>: one spec in RapiDoc, reloading on save. No portal needed.
  • rapidoc mcp serve <spec>: your API as MCP tools for Claude, Cursor and other assistants, over stdio.

✨ New in rapidoc 12.1.0

  • <rapi-flow>: draws the workflows of an Arazzo document next to your API reference, and runs them in the browser, against your API or the in-browser mock, step by step. It's a separate bundle (rapidoc/flow, dist/rapidoc-flow-min.js), so pages that only use <rapi-doc> don't download it. (Workflows)
    <script type="module" src="https://unpkg.com/rapidoc/dist/rapidoc-flow-min.js"></script>
    <rapi-flow arazzo-url="/specs/petstore.arazzo.yaml" for="thedoc"></rapi-flow>
    <rapi-doc id="thedoc" spec-url="/specs/petstore.yaml"></rapi-doc>
  • No runtime dependencies. Lit, the OpenAPI parser and the rest are built into the bundle, so npm install rapidoc installs one package. dist/rapidoc-min.js.LICENSE.txt lists what's inside.
  • show-unused-tags: keeps tags that have a description but no operations, so a tag can hold a guide or concepts section (#923).
  • btn-fill-example part on the FILL EXAMPLE button (#1073). FILL EXAMPLE now appears only when a field has an example, and CLEAR is enabled only when a field has a value.
  • Sidebar tags and tag groups slide open and closed.

⚠️ Changed since 12.0.0

Two features introduced in 12.0.0 have moved or changed:

  • rapidoc/static is now @rapidoc/prerender. Same functions (renderRapiDoc, renderEndpoint, renderSchema, getNavBarHtml, getNavCss, bindNavBar), plus renderArazzoWorkflow for workflow diagrams. Install it and change the import:
    - import { renderRapiDoc } from 'rapidoc/static';
    + import { renderRapiDoc } from '@rapidoc/prerender';
  • The MCP server export is now one project. Instead of six language templates, Export MCP Server downloads a TypeScript server that runs a manifest.json of tools, with real JSON Schema arguments, safety annotations and auth from your security schemes. The mcp attribute is now "true" / "false". The x-mcp-* vendor extensions are no longer read: the export uses plain OpenAPI. generateMcpServer() returns { manifest, files, budget, hostConfig }. The same code is available for Node as @rapidoc/mcp. (MCP server)

🐛 Fixes

  • Query parameters with content: application/json send an array as one JSON array (#924).
  • Example dropdowns show summaries of any length (#934).
  • Object examples of content parameters fill in and send as JSON (#1016).
  • Multipart parts carry their content type, so objects go as application/json (#1060).
  • Long schema descriptions show under their fields on narrow screens (#1074).
  • Server descriptions render inline Markdown (#1101).
  • Form fields are marked required only when their parent lists them (#1139).
  • In view mode, one click opens a tag after Collapse all (#1165).
  • MCP export follows $refs to path items, parameters and request bodies.
  • Also: server variables, callback layout, oneOf of primitive types on one row, untyped schemas shown as any, and the method badge in <rapi-doc-mini>.

📦 Install

npm install rapidoc@12.1.0

Or with a script tag:

<script type="module" src="https://unpkg.com/rapidoc@12.1.0/dist/rapidoc-min.js"></script>

Docs: rapidocui.com for the web component, portal.rapidocui.com for the portal.

⭐ If RapiDoc saves you time, star the repo and tell us what you build with the portal.