openapi: 3.1.0
info:
  title: PlatPhorm News Root API
  version: 0.0.4
  description: Root public news aggregator, network graph source, trusted-domain directory, and discovery API for PlatPhorm News.
servers:
  - url: https://platphormnews.com
security:
  - PlatPhormBearer: []
  - PlatPhormApiKey: []
paths:
  /api/health:
    get:
      summary: Public health summary
      responses:
        "200":
          description: Health payload
  /api/network/graph:
    get:
      summary: Canonical public root network graph
      responses:
        "200":
          description: Network graph JSON
  /api/v1/stories:
    get:
      summary: Public story aggregation snapshot
      responses:
        "200":
          description: Stories response
  /api/v1/search:
    get:
      summary: Public story search
      parameters:
        - name: q
          in: query
          schema:
            type: string
      responses:
        "200":
          description: Search response
  /rss.xml:
    get:
      summary: Public RSS feed
      responses:
        "200":
          description: RSS XML
  /sitemap.xml:
    get:
      summary: Public sitemap index
      responses:
        "200":
          description: Sitemap XML
components:
  securitySchemes:
    PlatPhormBearer:
      type: http
      scheme: bearer
      description: Protected actions accept Authorization: Bearer $PLATPHORM_API_KEY.
    PlatPhormApiKey:
      type: apiKey
      in: header
      name: X-PlatPhorm-API-Key
      description: Protected actions accept X-PlatPhorm-API-Key: $PLATPHORM_API_KEY.
