openapi: 3.1.0
info:
  title: PlatphormNews Kanban API
  version: 1.0.0
servers:
  - url: https://kanban.platphormnews.com
security:
  - PlatphormApiKey: []
components:
  securitySchemes:
    PlatphormApiKey:
      type: apiKey
      in: header
      name: X-PlatPhorm-API-Key
paths:
  /api/v1/board:
    get:
      summary: Read current board state
      responses:
        "200":
          description: Board state
        "204":
          description: No server board state, use local board
    put:
      summary: Replace shared board state
      security:
        - PlatphormApiKey: []
      responses:
        "200":
          description: Saved
        "401":
          description: PLATPHORM_API_KEY required
        "503":
          description: Server persistence unavailable
  /api/v1/tasks:
    get:
      summary: List public-safe task summaries from server state
      responses:
        "200":
          description: Task list
    post:
      summary: Create a protected shared-board task
      security:
        - PlatphormApiKey: []
      responses:
        "201":
          description: Created
  /api/mcp:
    get:
      summary: MCP metadata and usage
      responses:
        "200":
          description: MCP manifest
    post:
      summary: JSON-RPC 2.0 MCP endpoint
      responses:
        "200":
          description: JSON-RPC response
