Quiet API Reference

API reference

Fourcalls,onesmallsurface.

Everything the editor can do, the API can do. The examples below are complete and can be pasted as they are.

Search sections

Search the library by meaning. Returns the closest matches with a short description and the props each one takes.

Request
curl https://api.beste.co/v1/sections?q=pricing+with+yearly+toggle \
  -H "Authorization: Bearer $BESTE_KEY"
Response
{
  "results": [
    { "name": "pricing79", "title": "Three Plans Toggle", "score": 0.94 },
    { "name": "pricing83", "title": "Ink Comparison", "score": 0.89 }
  ]
}
About this block

Quiet API ReferencePRO

An API reference section: a serif headline that settles in word by word with a sliding-marker pill at the right end of the header, then a ruled list of endpoints on the left (method, path, a dot marker on the selected row) and on the right the chosen call's title, description and an ink code panel with a copyable request and its response, swapped with a soft blur.

Devtools96: Quiet API Reference

An endpoint list beside a code panel: pick a call on the left and its description, request and response swap in on the right with a soft blur.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Upgrade Now

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/devtools96?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/devtools96?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/devtools96.tsx plus the button22 sliding-marker pill and the text1 word stagger it uses.

Quick start

The installed file exports devtools96Demo alongside the block: the exact props behind the preview above. Spread it to get a working section in one line.

tsx
import { Devtools96, devtools96Demo } from "@/components/beste/block/devtools96";

export default function Page() {
  return <Devtools96 {...devtools96Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Devtools96 } from "@/components/beste/block/devtools96";

export default function Page() {
  return (
    <Devtools96
      eyebrow="API reference"
      heading="Four calls, one small surface."
      description="Everything the editor can do, the API can do."
      buttons={[{ label: "Get an API key", href: "/keys", tone: "outline" }]}
      labels={{ request: "Request", response: "Response", copy: "Copy request", copied: "Copied" }}
      endpoints={[
        {
          method: "GET",
          path: "/v1/sections",
          title: "Search sections",
          description: "Search the library by meaning.",
          request: "curl https://api.example.com/v1/sections?q=pricing",
          response: '{ "results": [] }',
        },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
eyebrowstringSmall-caps line above the heading
headingstringSection heading, through Text1
descriptionstringParagraph under the heading
buttonsActionButton[][]Pill actions at the right end of the header
labelsLabels{ request: "Request", response: "Response", copy: "Copy request", copied: "Copied" }Wording of the panel labels and the copy button
endpointsEndpoint[][]Calls in the list; the first is selected on load
classNamestringExtra classes for the outer <section>
ts
type Endpoint = {
  method: "GET" | "POST" | "PUT" | "DELETE";
  path: string;
  title: string;
  description: string;
  request: string;
  response: string;
};

type Labels = {
  request: string;
  response: string;
  copy: string;
  copied: string;
};

type ActionButton = {
  label: string;
  href: string;
  tone?: "primary" | "light" | "dark" | "outline";
};

Behavior notes

  • Request and response are plain strings holding real newlines, not arrays of lines, so you can paste a curl command in with its backslashes intact.
  • Both are rendered in pre inside an overflow-x-auto wrapper, so a long line scrolls within the panel rather than widening the page.
  • The panel swaps with AnimatePresence mode="wait", meaning the outgoing call finishes leaving before the next one arrives and the two never overlap.
  • The method column is fixed width so GET and DELETE leave the paths aligned down the list.
  • The selected row is marked with aria-current and a dot that fades in, while hovering a row shows the same dot at partial opacity as a hint.
  • Copying takes the request only, since the response is output rather than something you would paste anywhere.
  • The list keeps its own selection in state and does not touch the URL, so several references can sit on one page without fighting over the hash.

More DevTools blocks

View all DevTools
PRO

devtools94

API Endpoints With Sample Call

A developer section that lists common endpoints as hairline rows pairing tone-coded method chips with monospace paths, beside a dark code panel holding a full sample request and its response.

PRO

devtools95

Feeds And Archive API

A hairline list of every way to follow a publication, each row naming the feed, what it carries and its address, over a copyable one-line request that stands in for the whole API.

PRO

devtools1

API Endpoint Explorer

Interactive REST API endpoint reference with method badges, expandable parameter details, and response types. Grouped by resource.

PRO

devtools7

API Response Examples

API documentation cards showing response examples with color-coded status badges. Headers section, JSON body with copy button, success/error variants.

FREE

devtools3

Multi-Language Code Tabs

Code block with language tabs (JavaScript, Python, cURL, Go) and Shiki syntax highlighting. Dark theme with copy-to-clipboard and active tab indicator.

PRO

devtools6

Application Log Viewer

Terminal-style structured log viewer with level filtering. Color-coded INFO, WARN, ERROR, and DEBUG entries with timestamps and source labels.