"openapi": "3.1.0"
"info":
  "title": "PlatPhorm News Network API"
  "version": "2.0.0"
  "description": "API for the PlatPhorm News Network. Base exposes the public network directory, feeds, sitemap indexes, route discovery, and featured anchor integrations such as claws.platphormnews.com across 154 registry-backed sites."
  "termsOfService": "https://base.platphormnews.com/terms"
  "contact":
    "name": "PlatPhorm API Support"
    "url": "https://base.platphormnews.com/support"
    "email": "api@platphormnews.com"
  "license":
    "name": "MIT"
    "url": "https://opensource.org/licenses/MIT"
  "x-logo":
    "url": "https://base.platphormnews.com/icon.svg"
    "altText": "PlatPhorm News"
"servers":
  - 
    "url": "https://base.platphormnews.com"
    "description": "Production"
  - 
    "url": "https://mcp.platphormnews.com"
    "description": "MCP Hub"
  - 
    "url": "https://claws.platphormnews.com"
    "description": "Claws Integration Server"
  - 
    "url": "https://trace.platphormnews.com"
    "description": "Trace Telemetry Server"
  - 
    "url": "https://insights.platphormnews.com"
    "description": "Insights Analytics Server"
  - 
    "url": "https://forprez.platphormnews.com"
    "description": "ForPrez Politics Server"
"tags":
  - 
    "name": "Health"
    "description": "System health endpoints"
  - 
    "name": "Headlines"
    "description": "Live news headlines from the network"
  - 
    "name": "Network"
    "description": "Network site registry and metadata"
  - 
    "name": "Discovery"
    "description": "RSS, Sitemap, and LLM discovery"
  - 
    "name": "Claws"
    "description": "Claws.platphormnews.com Integration API"
  - 
    "name": "Politics"
    "description": "Political News and ForPrez Integration API"
"paths":
  "/api/health":
    "get":
      "summary": "Health check"
      "description": "Returns system health status"
      "operationId": "getHealth"
      "tags":
        - Health
      "responses":
        "200":
          "description": "System is healthy"
          "content":
            "application/json":
              "schema":
                "type": "object"
                "properties":
                  "status":
                    "type": "string"
                    "example": "ok"
                  "timestamp":
                    "type": "string"
                    "format": "date-time"
                  "version":
                    "type": "string"
                    "example": "2.0.0"
                  "uptime":
                    "type": "number"
                  "mcpEnabled":
                    "type": "boolean"
  "/api/v1/health":
    "get":
      "summary": "Versioned health check"
      "description": "Returns the public-safe PlatPhorm health envelope."
      "operationId": "getVersionedHealth"
      "tags":
        - Health
      "responses":
        "200":
          "description": "Service health envelope"
          "content":
            "application/json":
              "schema":
                "type": "object"
                "required":
                  - ok
                  - data
                "properties":
                  "ok":
                    "type": "boolean"
                    "example": true
                  "data":
                    "type": "object"
  "/api/v1/headlines":
    "get":
      "summary": "Get live headlines"
      "description": "Aggregated headlines from the PlatPhorm News Network RSS feeds"
      "operationId": "getHeadlines"
      "tags":
        - Headlines
      "parameters":
        - 
          "name": "limit"
          "in": "query"
          "description": "Maximum number of headlines"
          "schema":
            "type": "integer"
            "default": 20
            "minimum": 1
            "maximum": 100
      "responses":
        "200":
          "description": "List of headlines"
          "content":
            "application/json":
              "schema":
                "type": "object"
                "properties":
                  "items":
                    "type": "array"
                    "items":
                      "type": "object"
                      "properties":
                        "title":
                          "type": "string"
                        "link":
                          "type": "string"
                          "format": "uri"
                        "source":
                          "type": "string"
                        "pubDate":
                          "type": "string"
                        "category":
                          "type": "string"
                  "count":
                    "type": "integer"
                  "lastUpdated":
                    "type": "string"
                    "format": "date-time"
  "/api/v1/network":
    "get":
      "summary": "Get network sites"
      "description": "List all sites in the PlatPhorm News Network"
      "operationId": "getNetworkSites"
      "tags":
        - Network
      "parameters":
        - 
          "name": "category"
          "in": "query"
          "description": "Filter by category"
          "schema":
            "type": "string"
      "responses":
        "200":
          "description": "List of network sites"
          "content":
            "application/json":
              "schema":
                "type": "object"
                "properties":
                  "sites":
                    "type": "array"
                  "total":
                    "type": "integer"
                  "stats":
                    "type": "object"
  "/rss.xml":
    "get":
      "summary": "RSS Feed"
      "description": "Aggregated RSS feed from all network sites"
      "operationId": "getRssFeed"
      "tags":
        - Discovery
      "responses":
        "200":
          "description": "RSS 2.0 feed"
          "content":
            "application/rss+xml":
              "schema":
                "type": "string"
  "/feed.xml":
    "get":
      "summary": "Atom Feed"
      "description": "Atom 1.0 feed from all network sites"
      "operationId": "getAtomFeed"
      "tags":
        - Discovery
      "responses":
        "200":
          "description": "Atom 1.0 feed"
          "content":
            "application/atom+xml":
              "schema":
                "type": "string"
  "/sitemap.xml":
    "get":
      "summary": "Sitemap"
      "description": "XML sitemap with all network URLs"
      "operationId": "getSitemap"
      "tags":
        - Discovery
      "responses":
        "200":
          "description": "XML Sitemap"
          "content":
            "application/xml":
              "schema":
                "type": "string"
  "/llms.txt":
    "get":
      "summary": "LLMs.txt"
      "description": "Machine-readable site info for LLMs and AI agents"
      "operationId": "getLlmsTxt"
      "tags":
        - Discovery
      "responses":
        "200":
          "description": "Plain text LLM context"
          "content":
            "text/plain":
              "schema":
                "type": "string"
  "/api/network/graph":
    "get":
      "summary": "Network Graph Data"
      "description": "Get node and edge data for visualizing the PlatPhorm network"
      "operationId": "getNetworkGraph"
      "tags":
        - Network
      "responses":
        "200":
          "description": "Graph data"
          "content":
            "application/json":
              "schema":
                "type": "object"
                "properties":
                  "nodes":
                    "type": "array"
                  "edges":
                    "type": "array"
  "/api/mcp":
    "get":
      "summary": "MCP Configuration"
      "description": "Model Context Protocol configuration and tool definitions"
      "operationId": "getMcpConfig"
      "tags":
        - Discovery
      "responses":
        "200":
          "description": "MCP configuration object"
          "content":
            "application/json":
              "schema":
                "type": "object"
                "properties":
                  "mcpVersion":
                    "type": "string"
                  "server":
                    "type": "object"
                  "tools":
                    "type": "array"
"externalDocs":
  "description": "Full MCP documentation"
  "url": "https://mcp.platphormnews.com/docs"
"components":
  "securitySchemes":
    "bearerAuth":
      "type": "http"
      "scheme": "bearer"
      "description": "Use PLATPHORM_API_KEY for protected actions."
    "platphormApiKey":
      "type": "apiKey"
      "in": "header"
      "name": "X-PlatPhorm-API-Key"
      "description": "Use PLATPHORM_API_KEY for protected actions."
"x-network-sites":
  "total": 154
  "mcpEnabled": 69
  "rssEnabled": 143
  "apiEnabled": 70