{"openapi":"3.1.0","info":{"title":"SmellBook Public Read API","version":"1.0","description":"A read-only description of the current public SmellBook machine surface. This is not the future proprietary application API."},"servers":[{"url":"https://smellbook.com"}],"security":[],"tags":[{"name":"Discovery"},{"name":"Catalog"},{"name":"Evidence"},{"name":"Taxonomy"},{"name":"Records"}],"paths":{"/data/manifest.json":{"get":{"tags":["Discovery"],"summary":"Get public data manifest","responses":{"200":{"description":"Public data manifest.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/data/catalog.json":{"get":{"tags":["Catalog"],"summary":"Get canonical catalog","responses":{"200":{"description":"Canonical public smell catalog.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/data/evidence.json":{"get":{"tags":["Evidence"],"summary":"Get public evidence registry","responses":{"200":{"description":"Registered sources and VERIFIED claims.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/data/facets.json":{"get":{"tags":["Taxonomy"],"summary":"Get public taxonomy facets","responses":{"200":{"description":"Categories, descriptors and types.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/data/smells/{slug}.json":{"get":{"tags":["Records"],"summary":"Get one public smell record","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Public smell record.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Record not found.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/data/claims/{slug}.json":{"get":{"tags":["Records"],"summary":"Get one VERIFIED claim record","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Public claim record.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Record not found.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/data/sources/{slug}.json":{"get":{"tags":["Records"],"summary":"Get one registered source record","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Public source record.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Record not found.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/data/resolve.json":{"get":{"tags":["Discovery"],"summary":"Resolve a public identifier","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Resolved public identifier.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Missing id.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Unknown id.","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"securitySchemes":{}},"x-smellbook":{"schemaVersion":"1.0","generatedAt":"2026-09-22","writes":false,"authentication":"none","supportedMethods":["GET","HEAD"],"boundary":"This specification documents representative stable public read routes. It does not promise an uptime SLA, write API, account API or recommendation API."}}