{"components":{"schemas":{"JsonRpcRequest":{"description":"A JSON-RPC 2.0 request, as the Model Context Protocol sends.","properties":{"id":{"description":"Request id (absent on notifications)."},"jsonrpc":{"const":"2.0","type":"string"},"method":{"description":"The MCP method, e.g. `initialize` or `tools/call`.","type":"string"},"params":{"description":"Method parameters.","type":"object"}},"required":["jsonrpc","method"],"type":"object"},"JsonRpcResponse":{"description":"A JSON-RPC 2.0 response: a `result` or an `error`.","properties":{"error":{"properties":{"code":{"type":"integer"},"data":{},"message":{"type":"string"}},"required":["code","message"],"type":"object"},"id":{},"jsonrpc":{"const":"2.0","type":"string"},"result":{"type":"object"}},"required":["jsonrpc"],"type":"object"},"NavLink":{"properties":{"href":{"description":"Link target — an internal route or an external URL.","type":"string"},"icon":{"description":"Optional icon name.","type":"string"},"label":{"type":"string"}},"required":["href","label"],"type":"object"},"NavNode":{"description":"A sidebar entry: a page (linking to its route) or a group holding further nodes.","oneOf":[{"properties":{"badge":{"type":"string"},"deprecated":{"type":"boolean"},"description":{"type":"string"},"icon":{"type":"string"},"kind":{"const":"page","type":"string"},"label":{"type":"string"},"pageId":{"description":"The page's stable content id.","type":"string"},"route":{"description":"The page's route.","type":"string"}},"required":["kind","label","pageId","route"],"type":"object"},{"properties":{"badge":{"type":"string"},"children":{"items":{"$ref":"#/components/schemas/NavNode"},"type":"array"},"collapsed":{"type":"boolean"},"icon":{"type":"string"},"kind":{"const":"group","type":"string"},"label":{"type":"string"},"path":{"description":"The group's route prefix (not necessarily a page).","type":"string"},"route":{"description":"The group's index page route, when it has one.","type":"string"}},"required":["children","kind","label"],"type":"object"}]},"NavSelector":{"description":"A top-level partition selector (products, versions, languages).","properties":{"items":{"items":{"properties":{"description":{"type":"string"},"label":{"type":"string"},"path":{"type":"string"},"tag":{"type":"string"}},"required":["label","path"],"type":"object"},"type":"array"},"kind":{"type":"string"},"label":{"type":"string"}},"required":["items","kind","label"],"type":"object"},"NavTab":{"properties":{"href":{"description":"The clickable target when it differs from `path` (the section's first page).","type":"string"},"icon":{"type":"string"},"label":{"type":"string"},"path":{"description":"The tab's section prefix.","type":"string"}},"required":["label","path"],"type":"object"},"Navigation":{"description":"The docs navigation model: header tabs, the sidebar tree, partition selectors, and pinned links.","properties":{"actions":{"items":{"$ref":"#/components/schemas/NavLink"},"type":"array"},"cta":{"oneOf":[{"$ref":"#/components/schemas/NavLink"},{"type":"null"}]},"featured":{"items":{"$ref":"#/components/schemas/NavLink"},"type":"array"},"repoUrl":{"type":["string","null"]},"root":{"description":"The tree root's route (`/`, or a locale/version prefix).","type":"string"},"selectors":{"items":{"$ref":"#/components/schemas/NavSelector"},"type":"array"},"sidebar":{"items":{"$ref":"#/components/schemas/NavNode"},"type":"array"},"tabs":{"items":{"$ref":"#/components/schemas/NavTab"},"type":"array"}},"required":["featured","selectors","sidebar","tabs"],"type":"object"},"Page":{"allOf":[{"$ref":"#/components/schemas/PageSummary"},{"properties":{"markdown":{"description":"The page as agent Markdown: frontmatter included, components downleveled to plain Markdown.","type":"string"}},"required":["markdown"],"type":"object"}],"description":"A page's index entry plus its full Markdown body."},"PageSummary":{"properties":{"contentType":{"description":"The page's content type (frontmatter `type`).","type":"string"},"description":{"type":"string"},"facets":{"additionalProperties":{"type":"string"},"description":"Facet values the site declares for the page's content type (`content.types.<type>.facets`), key → value.","type":"object"},"json":{"description":"This page's JSON representation (the `getPage` operation).","format":"uri-reference","type":"string"},"lastModified":{"description":"ISO 8601 last-modified date, when known.","type":["string","null"]},"locale":{"description":"The page's locale code.","type":"string"},"markdownUrl":{"description":"The page's raw-Markdown mirror (the `getPageMarkdown` operation).","format":"uri-reference","type":"string"},"route":{"description":"The page's route (`/guides/install`); the key every other operation takes.","type":"string"},"title":{"type":"string"},"url":{"description":"Where the rendered page is served.","format":"uri-reference","type":"string"},"version":{"description":"Docs version the page belongs to on a versioned site: `\"\"` for the current docs, else an archived version id. Absent on unversioned sites.","type":"string"}},"required":["contentType","json","lastModified","locale","markdownUrl","route","title","url"],"type":"object"},"PagesIndex":{"properties":{"count":{"type":"integer"},"generator":{"description":"The Blume version that built the site.","type":"string"},"pages":{"items":{"$ref":"#/components/schemas/PageSummary"},"type":"array"},"site":{"type":["string","null"]}},"required":["count","generator","pages","site"],"type":"object"},"Problem":{"description":"RFC 9457 problem details, with a stable code and a resolution hint.","properties":{"code":{"description":"Stable error code (e.g. `PAGE_NOT_FOUND`).","type":"string"},"detail":{"description":"Human-readable explanation of this occurrence.","type":"string"},"instance":{"description":"The request path the problem occurred on.","type":"string"},"links":{"description":"Recovery links, when there is somewhere useful to go.","items":{"properties":{"href":{"type":"string"},"label":{"type":"string"}},"required":["href","label"],"type":"object"},"type":"array"},"resolution":{"description":"What to do next.","type":"string"},"status":{"type":"integer"},"title":{"type":"string"},"type":{"description":"Problem type URI; `about:blank` by default.","type":"string"}},"required":["code","detail","resolution","status","title","type"],"type":"object"},"SearchHit":{"properties":{"contentType":{"type":"string"},"excerpt":{"description":"The page description, else the start of its content.","type":"string"},"facets":{"additionalProperties":{"type":"string"},"description":"Facet values the site declares for the page's content type (`content.types.<type>.facets`), key → value.","type":"object"},"route":{"description":"The page's route; pass it to `getPage`.","type":"string"},"title":{"type":"string"},"url":{"format":"uri-reference","type":"string"},"version":{"description":"Docs version the page belongs to on a versioned site: `\"\"` for the current docs, else an archived version id. Absent on unversioned sites.","type":"string"}},"required":["excerpt","route","title","url"],"type":"object"},"SearchResponse":{"properties":{"count":{"type":"integer"},"query":{"type":"string"},"results":{"items":{"$ref":"#/components/schemas/SearchHit"},"type":"array"}},"required":["count","query","results"],"type":"object"}}},"info":{"description":"Read-only JSON API over the Zap Studio documentation: Type-safe, framework-agnostic and composable TypeScript libraries for the web.\n\nEvery operation is public and needs no authentication. Errors are RFC 9457 problem details (`application/problem+json`) with a stable `code`, a `detail`, and a `resolution` hint.","title":"Zap Studio API","version":"2.0.3","x-generator":"blume@2.0.3"},"openapi":"3.1.0","paths":{"/api/docs/pages.json":{"get":{"description":"Every documentation page with its route, title, description, content type, locale, facets, and the URLs of its rendered, Markdown, and JSON forms. Unfiltered; on a versioned site every version is listed with its `version`. Use it to enumerate the docs or to find a page when search is too narrow.","operationId":"listPages","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagesIndex"}}},"description":"The page index."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error, as problem details."}},"summary":"List every page","tags":["Pages"]}},"/api/docs/pages/{route}.json":{"get":{"description":"A single page as JSON: its index entry plus the page's agent Markdown (frontmatter included, components downleveled to plain Markdown). Take `route` from `listPages` or `searchDocs`.","operationId":"getPage","parameters":[{"description":"The page route without its leading slash (`guides/install`), or `index` for the home page. May contain slashes.","in":"path","name":"route","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}},"description":"The page."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No page has that route."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error, as problem details."}},"summary":"Get a page as JSON","tags":["Pages"]}},"/api/docs/navigation.json":{"get":{"description":"The navigation tree (header tabs and the sidebar hierarchy) as readers see it, for the default locale and the current docs.","operationId":"getNavigation","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Navigation"}}},"description":"The navigation tree."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error, as problem details."}},"summary":"Get the navigation tree","tags":["Navigation"]}},"/{route}.md":{"get":{"description":"A page's raw-Markdown mirror: append `.md` to any page URL. Components are downleveled to plain Markdown; `.mdx` serves the source as written. The same body the `getPage` operation carries in its `markdown` field.","operationId":"getPageMarkdown","parameters":[{"description":"The page route without its leading slash (`guides/install`), or `index` for the home page. May contain slashes.","in":"path","name":"route","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"text/markdown":{"schema":{"type":"string"}}},"description":"The page as Markdown."},"404":{"content":{"text/markdown":{"schema":{"type":"string"}}},"description":"No page has that route; the body lists where to look next."}},"summary":"Get a page as Markdown","tags":["Markdown"]}},"/llms.txt":{"get":{"description":"The llms.txt index: the site's summary, when to use it, and every page with a one-line description, grouped by section.","operationId":"getLlmsTxt","responses":{"200":{"content":{"text/plain":{"schema":{"type":"string"}}},"description":"The index."}},"summary":"Get llms.txt","tags":["Markdown"]}},"/llms-full.txt":{"get":{"description":"The full Markdown of every current-docs page in one file.","operationId":"getLlmsFullTxt","responses":{"200":{"content":{"text/plain":{"schema":{"type":"string"}}},"description":"Every page's Markdown."}},"summary":"Get llms-full.txt","tags":["Markdown"]}},"/agent-readability.json":{"get":{"description":"A manifest indexing every agent-facing artifact the site publishes — this API, the Markdown mirrors, llms.txt, the MCP server, feeds, and the sitemap.","operationId":"getAgentReadability","responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"The manifest."}},"summary":"Get the agent-readability manifest","tags":["Discovery"]}}},"security":[],"servers":[{"description":"Zap Studio","url":"https://www.zapstudio.dev"}],"tags":[{"description":"Enumerate and read documentation pages.","name":"Pages"},{"description":"How the docs are organized.","name":"Navigation"},{"description":"Plain-text and Markdown surfaces.","name":"Markdown"},{"description":"Agent discovery documents.","name":"Discovery"}],"externalDocs":{"description":"Zap Studio documentation","url":"https://www.zapstudio.dev/"}}