screentinker/frontend/api-docs.html
ScreenTinker c1b9c27f3a docs(api): OpenAPI spec, Redoc at /docs, CI spec-lint
- docs/openapi.yaml: the public, token-reachable surface only, with the auth model
  (Bearer st_) and a per-operation x-required-scope (read<write<full). JWT-only routers
  are excluded by design.
- Serve /openapi.yaml + /docs (Redoc via a vendored standalone bundle, no CDN so it
  works air-gapped; /docs is CSP-exempt). docs/ is bundled into the release tarball.
- CI: redocly lint + a public-only guard that fails loudly if a JWT-only path ever leaks
  into the spec.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 18:45:09 -05:00

18 lines
679 B
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>ScreenTinker API Reference</title>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="description" content="ScreenTinker public API reference"/>
<style>body { margin: 0; padding: 0; }</style>
</head>
<body>
<!-- Self-hosted Redoc: the spec is served at /openapi.yaml and the Redoc bundle is
vendored locally (no CDN) so the docs work on an offline/air-gapped instance.
The <redoc> element auto-initialises from the standalone bundle. -->
<redoc spec-url="/openapi.yaml"></redoc>
<script src="/vendor/redoc.standalone.js"></script>
</body>
</html>