{"openapi":"3.1.0","info":{"title":"Caper Wiki API","version":"1.1.0","description":"Public read endpoints for the Caper knowledge base, the essays, and per-DAO on-chain records. The knowledge base and essays are licensed CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/); pages under a caper's own company layer (/wiki/caper/{cashtag}/…) are authored by that caper and are not covered.","license":{"name":"Creative Commons Attribution 4.0 International","identifier":"CC-BY-4.0"}},"servers":[{"url":"https://caper.network"}],"paths":{"/llms.txt":{"get":{"summary":"Knowledge-base index + DAO directory (plain text)","parameters":[{"name":"If-None-Match","in":"header","required":false,"schema":{"type":"string"},"description":"ETag from an earlier fetch. A match returns 304 with no body."}],"responses":{"200":{"description":"OK","content":{"text/plain":{}}},"304":{"description":"Unchanged since the supplied validator"}}}},"/llms-full.txt":{"get":{"summary":"Entire knowledge base as one plain-text document","parameters":[{"name":"If-None-Match","in":"header","required":false,"schema":{"type":"string"},"description":"ETag from an earlier fetch. A match returns 304 with no body."}],"responses":{"200":{"description":"OK","content":{"text/plain":{}}},"304":{"description":"Unchanged since the supplied validator"}}}},"/wiki/{path}.md":{"get":{"summary":"Any wiki page as markdown","description":"The markdown twin of the rendered page. `path` is the page's address under /wiki and contains slashes – `capital/bonding-curve`, or `caper/EXAMPLE/updates/launch` for a caper's company layer. On-chain blocks are served unresolved, as a pointer at that DAO's get_ledger, rather than a cached snapshot of live treasury state.","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string"},"description":"Page path under /wiki, e.g. capital/bonding-curve"}],"responses":{"200":{"description":"OK","content":{"text/markdown":{}}},"404":{"description":"No such page","content":{"application/json":{}}}}}},"/blog/{slug}.md":{"get":{"summary":"An essay as markdown","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"description":"Essay slug"}],"responses":{"200":{"description":"OK","content":{"text/markdown":{}}},"404":{"description":"No such page","content":{"application/json":{}}}}}},"/api/wiki/{path}":{"get":{"summary":"A wiki page or essay as structured JSON","description":"The same page as the .md URLs, with its blocks intact: title, url, markdownUrl, tagPath, slug, content, metadata, bannerImage, updatedAt, lastVerifiedAt, and – for Caper-authored pages only – license. Essays are addressed `blog/{slug}`. Returns markdown instead when `format=text` or an Accept of text/markdown or text/plain is sent.","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string"},"description":"Page path, e.g. capital/bonding-curve, blog/{slug}, or caper/EXAMPLE/updates/launch"},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["text"]},"description":"`text` returns markdown rather than JSON"}],"responses":{"200":{"description":"OK","content":{"application/json":{},"text/markdown":{}}},"404":{"description":"No such page","content":{"application/json":{}}}}}},"/wiki/caper/{cashtag}/llms.txt":{"get":{"summary":"A DAO's pages plus its on-chain ledger (plain text)","parameters":[{"name":"cashtag","in":"path","required":true,"schema":{"type":"string"},"description":"DAO cashtag, without the $"}],"responses":{"200":{"description":"OK","content":{"text/plain":{}}},"404":{"description":"Unknown DAO"}}}},"/wiki/caper/{cashtag}/dao.json":{"get":{"summary":"A DAO's EIP-4824 (DAOIP-2) description document","description":"The standard DAO interface, for indexers that resolve DAOs generically. Members, proposals, activity log and the full set of on-ledger contracts are embedded inline rather than linked. Members and proposal creators are identified by dereferenceable explorer URI, since Radix accounts are not CAIP-10-addressable.","parameters":[{"name":"cashtag","in":"path","required":true,"schema":{"type":"string"},"description":"DAO cashtag, without the $"}],"responses":{"200":{"description":"OK","content":{"application/json":{}}},"404":{"description":"Unknown DAO"}}}},"/blog.xml":{"get":{"summary":"RSS 2.0 feed of the essays","description":"The 20 most recent essays. The channel <copyright> carries the CC BY grant with the feed.","responses":{"200":{"description":"OK","content":{"application/rss+xml":{}}}}}},"/sitemap.xml":{"get":{"summary":"Every crawlable URL – knowledge base, essays, DAO profiles and their company pages","responses":{"200":{"description":"OK","content":{"application/xml":{}}}}}},"/.well-known/agent-card.json":{"get":{"summary":"A2A Agent Card","description":"The protocol's canonical location since A2A v0.3. Names the skills, the MCP endpoints, and the daoURI template.","responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/.well-known/agent.json":{"get":{"summary":"A2A Agent Card (pre-0.3 path)","description":"Serves the identical document as /.well-known/agent-card.json, for clients that predate the rename.","responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/mcp":{"post":{"summary":"Global MCP server (JSON-RPC) over the knowledge base","description":"Model Context Protocol. Tools: search_wiki, get_page, get_pages, list_pages, get_recent_changes, get_categories, get_full_corpus, list_daos. The initialize response carries a usage guide; get_pages batches up to 20 pages per call.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"JSON-RPC response","content":{"application/json":{}}}}}},"/wiki/caper/{cashtag}/mcp":{"post":{"summary":"Per-DAO MCP server (JSON-RPC)","description":"Tools: search_wiki, get_page, get_pages, list_pages, get_recent_changes, get_ledger. get_ledger covers treasury, timeline, grants and funding.","parameters":[{"name":"cashtag","in":"path","required":true,"schema":{"type":"string"},"description":"DAO cashtag, without the $"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"JSON-RPC response","content":{"application/json":{}}},"404":{"description":"Unknown DAO"}}}}}}