{"openapi":"3.0.3","info":{"title":"StoryFeed Media API","version":"0.1.0","description":"Vertical story feed — feed, story detail, health and theme APIs"},"servers":[{"url":"https://api.storyfeedmedia.com/api/v1"}],"paths":{"/feed":{"get":{"summary":"Get paginated feed","parameters":[{"name":"client","in":"query","schema":{"type":"string"}},{"name":"cursor","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","default":10}},{"name":"tag","in":"query","schema":{"type":"string"}},{"name":"theme","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Feed page"}}}},"/story/{slug}":{"get":{"summary":"Get story by slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}},{"name":"client","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Story detail"},"404":{"description":"Not found"}}}},"/health":{"get":{"summary":"Health check","responses":{"200":{"description":"Ok"}}}},"/theme/{theme}/feed":{"get":{"summary":"Theme feed","parameters":[{"name":"theme","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Feed page"}}}}}}