{"openapi":"3.1.0","info":{"title":"Bristol Piano · dev — public API","version":"1.0.0","description":"Read-only public surface mirroring the Bristol Piano dictionary corpus and its Kensoma proof receipts.","license":{"name":"CC-BY-4.0","url":"https://creativecommons.org/licenses/by/4.0/"}},"servers":[{"url":"https://bristolpiano.dev","description":"production"}],"paths":{"/api/public/corpus-stats":{"get":{"summary":"Corpus rollup","description":"Total dict_entries, distinct languages, model breakdown, last_updated timestamp.","responses":{"200":{"description":"Corpus rollup","headers":{"Cache-Control":{"schema":{"type":"string","example":"public, s-maxage=60, stale-while-revalidate=120"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorpusStats"}}}}}}},"/api/public/recent-stamps":{"get":{"summary":"Recent Kensoma stamps","description":"Proxy to the local Kensoma node. Returns the latest stamps, optionally filtered by kind.","parameters":[{"name":"kind","in":"query","required":false,"schema":{"type":"string","example":"dict-entry"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}}],"responses":{"200":{"description":"Stamps array","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StampsResponse"}}}}}}},"/api/public/openapi.json":{"get":{"summary":"OpenAPI manifest","responses":{"200":{"description":"This document","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"schemas":{"CorpusStats":{"type":"object","required":["dict_entries","dict_languages","models","last_updated"],"properties":{"dict_entries":{"type":"integer","example":0},"dict_languages":{"type":"integer","example":0},"models":{"type":"array","items":{"type":"object","required":["model","count"],"properties":{"model":{"type":"string"},"count":{"type":"integer"}}}},"last_updated":{"type":["string","null"],"example":null},"error":{"type":"string"}}},"Stamp":{"type":"object","required":["txId","txIdShort","contentHash","kind","timestamp","status"],"properties":{"txId":{"type":"string"},"txIdShort":{"type":"string"},"contentHash":{"type":"string"},"kind":{"type":"string"},"source":{"type":"string"},"author":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"status":{"type":"string"},"blockIndex":{"type":["integer","null"]},"model":{"type":["string","null"]},"parentHash":{"type":["string","null"]}}},"StampsResponse":{"type":"object","required":["stamps"],"properties":{"stamps":{"type":"array","items":{"$ref":"#/components/schemas/Stamp"}},"error":{"type":"string"}}}}}}