open source · MIT · v0.3.0
API docs that can execute. audit themselves. replay. remember.
Send the request, run the workflow, grade the schema — from the same page that documents it. One script tag, no build step, nothing uploaded.
Nothing is sent anywhere — your browser does the fetching. Leave it empty for the Petstore demo.
A reference page, plus the tools to use it.
Every one of them runs in the reader's browser, on the schema the page already loaded.
Send it
A real console with environments, masked secrets, replayable history and ten snippet languages.
Learn more →Run it
Arazzo 1.1 workflows execute step by step in the page, chained without a line of scripting.
Learn more →Grade it
137 rules grade the schema — security and agent readiness included — in the page, and the same rules fail the build in CI.
Learn more →It installs like a stylesheet.
No Node, no bundler, no build step, no account. One script tag and one JSON tag, in a page you already have.
295 KB
gzipped, one file
1075 KB raw
41 KB
of stylesheet
37 themes inside
1.1 s
to usable
12 MB · 1220 operations
61 ms
⌘K answers
on that same schema
<!doctype html>
<html>
<head><title>My API docs</title></head>
<body>
<script id="api-doc-config" type="application/json">
{ "openapi": { "url": "https://example.com/openapi.json" } }
</script>
<script src="https://cdn.jsdelivr.net/npm/apiglow@0.3.0/dist/app.js" type="module"></script>
</body>
</html>Six dependencies, no framework. Timings measured on the frozen GitHub REST API, on a CPU slowed fourfold.
You don't have to write that JSON by hand. The builder's four stations cover every key — nothing leaves your browser.
The schema
openapi · hide · overlays
Your URL, or several APIs in one install — minus what the docs should not show.
The theme
theme.custom
A daisyUI theme of your own, from any of the 37 bundled, with 13 contrast pairs graded as you go.
Behavior
features · tryIt · seo
Which parts of the app the reader gets, and how the console sends.
Content
environments · docsPages
What the schema cannot say — environments, guides, notices, scenarios.
Grade the schema in the docs. Enforce it in CI.
One audit, two places. The page grades the document it already loaded, and the same rules, from one npx line, fail the merge that makes it worse.
- 137 rules in seven categories, security and agent readiness included (v0.3.0)
- An A→F grade, and a fix for every finding
- The same rules in the page and in CI, so the two grades agree
- A committed baseline — the build fails only on new findings
- SARIF, GitHub annotations, GitLab Code Quality, and JSON for scripts and agents
- Read more about the audit →
overall grade · schema audit
npx apiglow@0.3.0 audit openapi.yaml \
--baseline audit-baseline.json --min-grade B
PASS --fail-on error: 0 new finding(s) at this severity or above
PASS --min-grade B: grade A
PASS --baseline: no stale entry
Audit passedThe real run on the demo schema. Exit status 1 when a check fails — and the findings land on the pull request's diff.
It reads the formats, and it writes them back.
OpenAPI 3.0 · 3.1 · 3.2
Rendered natively, including 3.2's query method. Swagger 2.0 is converted at load.
JSON Schema 2020-12
Keywords rendered rather than silently dropped, circular references included.
Overlay 1.1
Applied before conversion — and a reader can author one and take it away as a file.
Arazzo 1.1
Imported, run in the page, exported as a CI job for GitHub Actions or GitLab.
llms.txt · MCP
The index, the full text and an MCP server config, generated client-side.
Static mirror
One author-side command writes an HTML and Markdown page per route, with no server.
The reference, and everything that ships around it.
Guides, brand and several APIs live in the same page as the reference.
Prose pages
Markdown guides with callouts, code tabs and live operation cards — resolved against the reader's own environment.
Learn more →Your brand, no rebuild
Thirty-five themes ship with it, and a theme of your own is a block of CSS variables on the host page.
Learn more →Several APIs, one page
Each schema keeps its own environments, history and search scope, with no leakage between them.
Learn more →The same tag, wearing somebody else's brand.
Northwind Rail is an operator we invented. Its portal is not a mockup — the reference, the guides and a working sandbox all come from one script tag, the same one you would add.
- 18 operations
- 8 guides · EN + FR
- 2 chained scenarios
- a sandbox in your browser
Some of your readers are not people.
A developer pairing with an assistant needs the documentation in a shape the assistant can swallow. ApiGlow generates those files from the loaded schema, client-side: it calls no model and runs no server.
llms-full.txt
The whole documentation as one Markdown file — info, servers, prose pages, every operation and every webhook.
llms.txt
The index of the same content, per the llmstxt.org convention — one link per operation and webhook.
MCP server config
A JSON block, a claude mcp add one-liner, or a Cursor/VS Code install link. Credentials come out as placeholders.
Open it on a real schema. Or on your own.
A 1.15 MB, 143-operation schema with a mocked API behind it — or your own, pasted above.