What's inside

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.
billing.py
 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()
View all code
01 - Endpoint

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
Endpoint block
POST /v1/invoices v2

Create a new invoice for a customer. Invoices are created in a draft state until finalized.

Auth required
02 - Parameters

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
Parameters block
NameTypeDescription
customer *stringCustomer ID to bill.
amount *integerAmount in cents.
addressobjectBilling address.
line1stringStreet address.
citystringCity name.
03 - Request / Response

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
Request / Response block
cURLJavaScriptPythonPHP
RequestResponse
curl https://api.example.com/v1/invoices \
  -H "Authorization: Bearer sk_live_dummy" \
  -d customer=cus_8f2a \
  -d amount=4900
04 - Response Body

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
Response Body block
Response body200 OK
{
  "id": "in_9f42a",
  "status": "draft"
}
Response body402 Card declined
05 - Status Codes

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.

Status Codes block
200 Invoice created
402 Card declined
404 Customer not found
500 Internal error
06 - Authentication

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.

Authentication block
Authorization: Bearer <your_api_key>
07 - Try It Console

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.

Try It Console
POST https://api.example.com/v1/invoices
{ "customer": "cus_8f2a" }
Send request
Round out the page

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.

invalid_request_error: missing parameter
rate_limit_error: too many requests

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.

invoice.created
invoice.paid

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}.

prodhttps://api.example.com
sandboxhttps://sandbox.api.example.com

See all twelve blocks together

Browse the full reference, or install the plugin and start writing.

This website uses cookies to enhance your browsing experience and ensure the site functions properly. By continuing to use this site, you acknowledge and accept our use of cookies.

Accept All Accept Required Only