One code block. A full family of API blocks.
Every block shares the same visual language, the same light and dark theming, and the same copy-to-clipboard muscle memory. A documentation page built from several of them reads as one system, not a pile of shortcodes.
The Code Block
Syntax-highlighted snippets, powered by a bundled copy of Prism.js. No CDN request, no render-blocking third-party script.
- 20 plus languages highlighted out of the box, from Bash to TypeScript.
- Auto light and dark, follows the visitor's OS, or a theme's own dark-mode class via filter.
- Collapsible preview, long snippets stop at a configurable height with a "View all code" modal.
- Copy button and line numbers, both optional, both one click to enable in the sidebar.
1 # Example Python code block for testing documentation styling 2 from datetime import datetime 3 4 class User: 5 """Simple example user.""" 6 def __init__(self, name: str, email: str): 7 self.name = name 8 self.email = email 9 self.created_at = datetime.now()
Lead every operation with one clear block
Method, path, summary, and everything a reader needs to know before they scroll further. Version, deprecation, whether auth is required, and a stable anchor for deep-linking.
- Operation ID becomes a shareable, page-unique anchor
- "See also" links to related endpoints
Create a new invoice for a customer. Invoices are created in a draft state until finalized.
Every field, exactly as your spec defines it
Type, location, format, default and example values, allowed values, validation ranges, nullability, with nested object parameters and linkable type references for shared schemas.
- Nested objects, e.g.
address.line1,address.city - Copy-link icon on every row for deep-linking to one parameter
| Name | Type | Description |
|---|---|---|
| customer * | string | Customer ID to bill. |
| amount * | integer | Amount in cents. |
| address | object | Billing address. |
| line1 | string | Street address. |
| city | string | City name. |
The same call, in every language you support
cURL, JavaScript, Python, PHP and more, each with Request and Response sub-tabs. Pick a language once, and it stays picked across every Request/Response block on the page.
- Language selection syncs page-wide, not just per block
curl https://api.example.com/v1/invoices \ -H "Authorization: Bearer sk_live_dummy" \ -d customer=cus_8f2a \ -d amount=4900
Real responses, grouped by status
A "Returns" description, optional persistent headers table, and one or more real response bodies as an expandable accordion. Each with its own copy button and a "Show Schema" toggle for a type-shape view.
- Pairs with Status Codes: this is the rich, single-response view
"id": "in_9f42a",
"status": "draft"
}
The quick-scan summary table
Every status code the endpoint can return, color-coded by class (2xx, 3xx, 4xx, 5xx), with an optional collapsible example body for readers who want one more line of detail without leaving the table.
The exact header a client needs to send
Bearer token, API key, Basic auth, or OAuth 2.0, shown ready to paste, with its own copy button, so nobody has to reconstruct the header format from prose.
A real request, sent from the reader's browser
Visitors can edit the URL, headers, and body, then send an actual request and see the real response. It's a genuine client-side call, this plugin never proxies it or issues it from your WordPress server.
Four more blocks, for the details that don't fit above
Error taxonomies, webhooks, navigation, and server lists. Each doing one job well.
Error Codes
Your API's own error taxonomy, invalid_request_error, parameter_missing, distinct from HTTP status, each with an optional expandable example error body.
Events
List the webhook or event names a resource can emit, customer.created, each with a description, an optional example payload, and a copy-link icon.
API Navigation
Auto-generates a jump list of every Endpoint block on the current page. Nothing to keep in sync by hand as you add or reorder endpoints. Scans this page only, never your whole site.
Servers
List an API's base URLs, production, sandbox, regional, each with a label and copy button. Maps onto OpenAPI's servers array, including variable templating like {region}.
See all twelve blocks together
Browse the full reference, or install the plugin and start writing.