{"openapi":"3.1.0","info":{"title":"Build Stack Weekly","version":"0.1.0","description":"Read-only JSON for published Build Stack Weekly issues and tool picks. Prices that were not checked on an official page are the string TBD. This spec does not add tools that are not in an issue."},"servers":[{"url":"https://buildstackweekly.com"}],"paths":{"/api/tools":{"get":{"operationId":"listTools","summary":"List published tool picks","responses":{"200":{"description":"Picks, plus tools the issue explicitly did not pick.","content":{"application/json":{"schema":{"type":"object","properties":{"tools":{"type":"array","items":{"type":"object","required":["name","slug","category","bestFor","url","price","picked"],"properties":{"name":{"type":"string"},"slug":{"type":"string"},"category":{"type":"string","description":"Phrase taken from the published summary."},"bestFor":{"type":"string"},"summary":{"type":"string"},"url":{"type":"string","format":"uri"},"links":{"type":"array","items":{"type":"string"}},"price":{"type":"object","properties":{"free":{"type":"string","description":"Published free-tier text, or TBD."},"paid":{"type":"string","description":"Published paid text, or TBD."}}},"downside":{"type":"string"},"picked":{"type":"boolean"},"issue":{"type":"string"}}}},"notPicked":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"picked":{"const":false},"url":{"type":"null"},"price":{"type":"null"},"note":{"type":"string"},"issue":{"type":"string"}}}}}}}}}}}},"/api/tools/{slug}":{"get":{"operationId":"getTool","summary":"Get one tool by slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","examples":["lovable","bolt-new","v0","cursor"]}}],"responses":{"200":{"description":"The tool. Cursor is returned as not picked, with no URL and no price.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["name","slug","category","bestFor","url","price","picked"],"properties":{"name":{"type":"string"},"slug":{"type":"string"},"category":{"type":"string","description":"Phrase taken from the published summary."},"bestFor":{"type":"string"},"summary":{"type":"string"},"url":{"type":"string","format":"uri"},"links":{"type":"array","items":{"type":"string"}},"price":{"type":"object","properties":{"free":{"type":"string","description":"Published free-tier text, or TBD."},"paid":{"type":"string","description":"Published paid text, or TBD."}}},"downside":{"type":"string"},"picked":{"type":"boolean"},"issue":{"type":"string"}}},{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"picked":{"const":false},"url":{"type":"null"},"price":{"type":"null"},"note":{"type":"string"},"issue":{"type":"string"}}}]}}}},"404":{"description":"No published tool with that slug."}}}},"/api/issues":{"get":{"operationId":"listIssues","summary":"List issues","responses":{"200":{"description":"Issue summaries and the tool names in each one.","content":{"application/json":{"schema":{"type":"object","properties":{"issues":{"type":"array","items":{"type":"object"}}}}}}}}}},"/api/issues/{slug}":{"get":{"operationId":"getIssue","summary":"Get one issue, including picks and the weekend steps","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","examples":["0"]}}],"responses":{"200":{"description":"The issue."},"404":{"description":"No issue with that slug."}}}}}}