{
 "openapi": "3.0.3",
 "info": {
  "title": "InfoReader Read-Only JSON API",
  "version": "1.0.0",
  "description": "Static JSON feeds published by InfoReader. Read-only, unauthenticated, regenerated by the news pipeline. There is no write API, no accounts API, and no subscription API (email signup is via the web form)."
 },
 "servers": [
  {
   "url": "https://inforeader.com"
  }
 ],
 "paths": {
  "/data/latest.json": {
   "get": {
    "summary": "Full current briefing feed",
    "responses": {
     "200": {
      "description": "Feed with generated_at, stats, briefing and by_topic"
     }
    }
   }
  },
  "/data/briefing.json": {
   "get": {
    "summary": "Top briefing stories only",
    "responses": {
     "200": {
      "description": "generated_at + briefing array"
     }
    }
   }
  },
  "/data/topics/{topic}.json": {
   "get": {
    "summary": "One topic desk feed",
    "parameters": [
     {
      "name": "topic",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "enum": [
        "world",
        "business",
        "ai",
        "science",
        "health",
        "general"
       ]
      }
     }
    ],
    "responses": {
     "200": {
      "description": "generated_at + topic + stories array"
     }
    }
   }
  },
  "/data/stories/{storyId}.json": {
   "get": {
    "summary": "One story record",
    "parameters": [
     {
      "name": "storyId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Story object: headline, summary, key_points, summary_method, category, source_count, sources, updated, score"
     },
     "404": {
      "description": "Unknown story id"
     }
    }
   }
  }
 }
}