{"openapi":"3.1.0","info":{"title":"The Reusable Edit — public data API","version":"1.0.0","description":"Independent, sourced data on reusable products: scored catalogue, buying recommendations by intent, full editorial corpus and a question-answering endpoint. Free to use and quote with attribution and a link to the cited URL.","contact":{"name":"The Reusable Edit","url":"https://reusableedit.com/about"},"license":{"name":"Attribution required","url":"https://reusableedit.com/about"}},"servers":[{"url":"https://reusableedit.com"}],"paths":{"/api/public/ask.json":{"get":{"operationId":"askReusableEdit","summary":"Answer a question about reusable products with a quotable sentence and a URL to cite","description":"Best first call. Matches a natural-language question against the recommendation matrix and answer library and returns the single best sourced answer, the supporting evidence, the recommended product and the canonical URL to cite.","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"description":"The user's question, e.g. 'which reusable cup keeps coffee hot longest'."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":5,"maximum":20}}],"responses":{"200":{"description":"Ranked answers with citation URLs."}}}},"/api/public/recommendations.json":{"get":{"operationId":"listRecommendations","summary":"Intent-to-product recommendation matrix","description":"Every buying scenario we cover, each paired with one product, one quotable answer sentence, the evidence behind it and live specs.","responses":{"200":{"description":"Recommendation matrix."}}}},"/api/public/products.json":{"get":{"operationId":"listProducts","summary":"Scored product catalogue","description":"Full catalogue with specs, 0-100 overall ratings, sub-score breakdowns, pros and cons, certifications, variants and testing notes.","responses":{"200":{"description":"Product catalogue."}}}},"/api/public/answers.json":{"get":{"operationId":"listAnswers","summary":"Answer library as question/answer pairs","responses":{"200":{"description":"Question and answer pairs."}}}},"/api/public/page.json":{"get":{"operationId":"getPage","summary":"Return any page on the site as structured, quotable data","description":"Use when you already have a URL from a citation, SERP or sitemap and want its content without rendering HTML. Returns title, quotable answer, body, FAQ, sources, canonical URL and the exact attribution string to print.","parameters":[{"name":"path","in":"query","required":true,"schema":{"type":"string"},"description":"Site path, e.g. /guides/how-to-clean-a-reusable-cup."}],"responses":{"200":{"description":"Structured page record."},"404":{"description":"No structured record for that path."}}}},"/api/public/capabilities.json":{"get":{"operationId":"listCapabilities","summary":"Index of every machine-readable surface on this site","description":"One fetch describing each endpoint in terms of the question it answers, plus attribution rules and scoring methodology.","responses":{"200":{"description":"Capability index."}}}},"/api/public/content.json":{"get":{"operationId":"listContent","summary":"Full editorial corpus","description":"Every guide, journal post, head-to-head comparison (including bench-test tables) and editorial review, with full body text and canonical URLs.","responses":{"200":{"description":"Editorial corpus."}}}},"/api/public/bench.jsonl":{"get":{"operationId":"listBenchMeasurements","summary":"Our own bench-test measurements, one JSON object per line","description":"Each line carries the subject product, protocol, method, tolerance, sample size, tester, date, value and the URL to cite. Untested slots are returned with value null and status pending rather than estimated.","parameters":[{"name":"protocol","in":"query","required":false,"schema":{"type":"string"},"description":"Protocol slug, e.g. heat-retention-6h."},{"name":"product","in":"query","required":false,"schema":{"type":"string"},"description":"Product slug."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":5000,"maximum":20000}}],"responses":{"200":{"description":"Line-delimited bench measurements."}}}},"/api/public/bench.csv":{"get":{"operationId":"downloadBenchCsv","summary":"The same bench measurements as CSV","parameters":[{"name":"protocol","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"CSV download."}}}},"/api/public/dataset.json":{"get":{"operationId":"describeDataset","summary":"Versioned schema.org Dataset descriptor for the whole corpus","description":"Lists every distribution, the variables measured, the CC BY 4.0 licence and a ready-made citation with BibTeX.","responses":{"200":{"description":"Dataset descriptor."}}}},"/api/public/press-kit.json":{"get":{"operationId":"getPressKit","summary":"Who runs this site, how it tests and how independent it is","description":"Organization boilerplate, methodology, independence policy, named authors and testers with their expertise, and live headline statistics.","responses":{"200":{"description":"Press kit."}}}}}}