{"openapi":"3.1.0","info":{"title":"Boardro Public API","version":"1.0.0","description":"Public HTTP APIs for Boardro marketing content. Discoverable via /.well-known/api-catalog (RFC 9727)."},"servers":[{"url":"https://boardro.com"}],"paths":{"/api/blog/posts":{"get":{"operationId":"listBlogPosts","summary":"List blog posts","description":"Returns published Boardro blog posts for syndication and agent retrieval.","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":24,"default":6}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0}},{"name":"category","in":"query","schema":{"type":"string"}},{"name":"search","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"A page of blog posts","content":{"application/json":{"schema":{"type":"object","properties":{"posts":{"type":"array","items":{"$ref":"#/components/schemas/BlogPost"}}}}}}},"500":{"description":"Failed to fetch posts"}}}},"/api/health":{"get":{"operationId":"getHealth","summary":"Service health","responses":{"200":{"description":"The site APIs are reachable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthStatus"}}}}}}}},"components":{"schemas":{"BlogPost":{"type":"object","properties":{"title":{"type":"string"},"subtitle":{"type":"string"},"slug":{"type":"object","properties":{"current":{"type":"string"}}},"mainImage":{"type":"object"},"_updatedAt":{"type":"string","format":"date-time"},"categories":{"type":"array"}}},"HealthStatus":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["ok"]}}}}}}