Features

Every capability,
examined in detail

What it does, why it matters, and how it changes the way you work with APIs. Each surface below is live in the demo — nothing here is a mockup of a roadmap.

01 · Read

Documentation browser

Any OpenAPI 3.0/3.1/3.2 or Swagger 2.0 document becomes a fully navigable reference. Endpoints group by tag (and x-tagGroups) into a sidebar tree that respects sorting, route-display, protection and deprecation preferences — a large specification becomes an orderly index rather than an overwhelming list.

  • Parameter tables with types, formats, style/explode serialization, patterns and examples — plus a built-in regex pattern tester and serializer playground.
  • Request bodies and responses share one SchemaViewer: Format (media type), generated examples, named OpenAPI examples, and body-level combinator rails.
  • Response matrix with a scroll-aware navigator, per-status deep links like #response-200, and a mobile pill + sheet on small screens.
  • Cycle-safe rendering — recursive branches terminate at their boundary, marked with a loop icon.
OpenDoc UI documentation view with endpoint tree, method badges and schema tables
02 · Run

Built-in API Runner

Documentation is passive; the Runner is active. Execute genuine requests from the browser against the servers declared in your specification — the gap between reading an endpoint and calling it disappears. OAS 3.2 QUERY (RFC 10008) is first-class beside GET, POST and additional operations.

  • Path, query, header and cookie parameters as inputs — with live final URL, serialization that matches style/explode, and documented examples.
  • Recursive form editor or raw JSON/YAML/XML bodies with format-aware validation, multipart uploads included.
  • First-class auth: bearer tokens, API keys, basic auth, OAuth (including native PKCE) and cookies.
  • Status, headers, body and history inspection with request cancellation, binary stream safety, and bounded response details.
  • Request proxy: the proxy agent executes the call server-side for APIs without CORS headers — a deployment or the user can switch back to direct browser calls any time.
The API Runner composing a POST /pet request with a form-based payload editor
03 · Understand

Unified SchemaViewer

One schema surface for request bodies, responses, and the schema modal — generated examples, an always-open meta header, body-level rails, and the property table readers already know. Field-level combinators reach nested properties, not only the body root.

  • oneOf / anyOf / allOf / not at field level: exclusive picks, multi-select merge with All, composition focus with dimming, and inspection-only negation — method-locked colours and controls.
  • Multi-format generated examples (JSON, YAML, XML, form-urlencoded, …) that follow the active branch; named OpenAPI examples on their own tab.
  • Modern 3.1/3.2 keywords — const, prefixItems, unevaluatedProperties, if/then/else, type unions, bare $ref combinators, webhooks — plus cycle-safe recursion.
  • Every schema modal is deep-linkable and shareable; representation scope is per-schema or global from Settings.
SchemaViewer showing nested object structures and combinator rails
04 · Remember

Local notes & todos

Keep private Markdown notes and todos beside any endpoint — knowledge that belongs to you, not the spec. Fourteen translucent, theme-safe tones keep them readable in every palette.

  • Deletion is never final — a trash with orphaned-note detection catches notes whose endpoints vanished.
  • Export and import everything as JSON.
  • Optionally hide an endpoint after confirming its last todo — and restore hidden endpoints any time.
Local notes pinned beside endpoints in themed tones
And the rest of the workstation

Small features, obsessively finished

Request proxy

The OpenDoc UI proxy agent doubles as a request proxy: enable VITE_REQUEST_PROXY in a build and the Runner hands every request to it — executed server-side, answered through a JSON envelope, no CORS limits. config.json or the Settings switch disables it on the front-end while the backend keeps running.

POST /proxy · same service as /download

Code & type generation

fetch / axios / Angular snippets plus TypeScript models generated from your schemas — secret-redacted and downloadable as a zip.

curl · fetch · axios · types.ts

AI assistant

Grounded answers from retrieved, redacted endpoint/schema context with clickable source citations. Swagger/REST skill packs, per-spec saved conversations, and Runner handoff.

direct provider · hardened gateway

Tabbed workspace

Overview, search, schema explorer, settings, about and assistant open as tabs beside endpoints — preview/pin, close, reorder, middle-click, context menu. Like an IDE, because it is one.

tabs · split view · deep links

Settings page

A full settings tab with deep links for General, Appearance, Navigation, Code viewer and AI — including an in-page theme gallery and schema/example representation scopes.

#/…/settings

OAS 3.2 QUERY

First-class HTTP QUERY (RFC 10008): discovered like other methods, documented with request bodies, and runnable in the browser without weakening GET/HEAD body warnings.

RFC 10008 · body + safe method

Field combinators

Nested oneOf, anyOf, allOf and not menus in the code viewer and schema table — exclusive pick, multi-select merge, composition focus with dimming, inspection-only negation.

oneOf · anyOf · allOf · not

YAML auto-repair Experimental

When a generator emits flow-style oneOf/anyOf/allOf without sequence brackets, OpenDoc quietly rewrites the text on load so the document can still open.

load-time · non-destructive

Global search

Ctrl/⌘ + K searches paths, summaries, tags and schema definitions — path text is always indexed — with method/tag/security filters synced with the sidebar.

Theme system

17 hand-picked palettes with per-spec memory and light / dark / system modes. Notes, badges and code views stay legible in every one — pick them from Settings.

Hidden endpoints

Move endpoints into a muted folder without touching the OpenAPI source — unhide individually or restore all from navigation settings.

Runner Compatibility report

An honest, per-endpoint matrix of what the browser can and cannot do for a given API — CORS constraints, credentialed requests and cookie behavior, stated before you waste a minute.

Spec caching & refresh

Remote specs cache in IndexedDB and revalidate with If-None-Match / If-Modified-Since. One button drops the cache and re-fetches — or re-reads your local file from disk.

Local history

Every file you open and every remote URL you load lands in a persistent, browser-local history — reopen yesterday's spec in one click, no re-upload.