All hit the same API, all write to the same git history.
One command. Any Docgent URL in a thread becomes readable, editable, and reviewable.
Direct HTTP from any language, agent harness, or automation.
Create, validate and render locally before committing to the store.
Install docgent-doc-access from the docgent-skills repo. The install flow asks for a per-brand token, verifies it with one cheap call, saves it, and patches AGENTS.md so any Docgent URL routes to the skill instead of an unauthenticated fetch.
What "verified" means — the skill runs this check after install:
Every operation the Studio UI performs is available over HTTP. Authenticate with a per-brand bearer token on every request.
| What | Call |
|---|---|
| List a brand's documents | GET /api/docs/<brand>?status=&doctype= |
| Read (any version) | GET /api/doc/<brand>/<slug>?ref=<sha> |
| Create | PUT /api/doc/<brand>/<slug> — no baseSha |
| Update | PUT /api/doc/<brand>/<slug> — with baseSha |
| Propose a rewrite | POST /api/rewrite/<brand>/<slug> |
| Accept a proposal | POST /api/rewrite/<brand>/<slug>/accept |
| Semantic diff | GET /api/diff/<brand>/<slug>?base=&head= |
| Render committed PDF | GET /api/render/<brand>/<slug>?ref= |
| Preview unsaved | POST /api/preview/<brand>/<slug> |
| Status / transition | GET · POST /api/status/<brand>/<slug> |
| Restore old version | POST /api/restore/<brand>/<slug> |
| Brand config / assets | GET · PUT /api/brand/<brand>/configPUT /api/brand/<brand>/assets/<file> |
For agent rewrites, use propose → accept rather than a raw PUT. This keeps the rewrite in memory until a human accepts it, so the history records one decision rather than every model pass.
PUT is fine for a new document or a verbatim mechanical edit. For "improve this," use propose → accept.| 409 | Stale write, invalid transition, or restore no-op. Re-read, reconcile, don't retry blind. |
| 422 | Vocabulary validation failed. diagnostics names the block. |
| 502 | Render pipeline error. Not a content problem. |
The CLI is useful for local authoring, validation before commit, and render preview. Requires pandoc 3.x, WeasyPrint 60+, Node 20+.
--renderer chrome swaps WeasyPrint for headless Chrome if you prefer.
GET /api/docs/<brand> to see what doctypes exist — the values returned are the practical proxy.