openapi: 3.1.0
info:
  title: OpenSheets / PlatPhorm Sheets API
  version: 0.3.0-phase3
  description: Public-safe tabular intelligence, workbook, ingestion, schema inference, data quality, query, export, MCP, and policy API. Public reads work without auth; protected writes require PLATPHORM_API_KEY.
servers:
  - url: https://sheets.platphormnews.com
components:
  securitySchemes:
    PlatPhormApiKey:
      type: http
      scheme: bearer
      bearerFormat: PLATPHORM_API_KEY
paths:
  /api/health:
    get:
      summary: "Public health summary"
      description: "Public health summary. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/health:
    get:
      summary: "Versioned public health summary"
      description: "Versioned public health summary. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/docs:
    get:
      summary: "API endpoint inventory"
      description: "API endpoint inventory. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/workbooks:
    get:
      summary: "List public server-backed workbooks"
      description: "List public server-backed workbooks. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
    post:
      summary: "Protected create workbook and first sheet from rows or text"
      description: "Protected create workbook and first sheet from rows or text. Access: protected. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security:
        - PlatPhormApiKey: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/workbooks/{id}:
    get:
      summary: "Get public workbook"
      description: "Get public workbook. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/workbooks/{id}/sheets:
    get:
      summary: "List sheets in a public workbook"
      description: "List sheets in a public workbook. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets:
    get:
      summary: "List public server-backed sheets"
      description: "List public server-backed sheets. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
    post:
      summary: "Protected create server-backed sheet"
      description: "Protected create server-backed sheet. Access: protected. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security:
        - PlatPhormApiKey: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}:
    get:
      summary: "Get public server-backed sheet"
      description: "Get public server-backed sheet. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
    put:
      summary: "Protected update sheet metadata"
      description: "Protected update sheet metadata. Access: protected. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security:
        - PlatPhormApiKey: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
    delete:
      summary: "Protected delete/archive sheet"
      description: "Protected delete/archive sheet. Access: protected. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security:
        - PlatPhormApiKey: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/confirm:
    get:
      summary: "Confirm a public sheet artifact viewer URL"
      description: "Confirm a public sheet artifact viewer URL. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/rows:
    get:
      summary: "Get sheet rows"
      description: "Get sheet rows. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/columns:
    get:
      summary: "Get sheet columns"
      description: "Get sheet columns. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/summary:
    get:
      summary: "Get deterministic sheet summary"
      description: "Get deterministic sheet summary. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/charts:
    get:
      summary: "Get deterministic chart summaries"
      description: "Get deterministic chart summaries. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/schema:
    get:
      summary: "Get inferred schema"
      description: "Get inferred schema. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/quality:
    get:
      summary: "Get data quality checks"
      description: "Get data quality checks. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/duplicates:
    get:
      summary: "Get duplicate row report"
      description: "Get duplicate row report. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/lineage:
    get:
      summary: "Get lineage events"
      description: "Get lineage events. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/provenance:
    get:
      summary: "Get row/cell provenance summary"
      description: "Get row/cell provenance summary. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/computed-columns/preview:
    post:
      summary: "Preview a safe computed column"
      description: "Preview a safe computed column. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/group-by:
    post:
      summary: "Group rows by a column"
      description: "Group rows by a column. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/pivot:
    post:
      summary: "Preview pivot/group aggregates"
      description: "Preview pivot/group aggregates. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/aggregates:
    post:
      summary: "Preview aggregate results"
      description: "Preview aggregate results. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/validate-rows:
    post:
      summary: "Validate rows with supplied rules"
      description: "Validate rows with supplied rules. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/export/csv:
    get:
      summary: "Export CSV for persisted public sheets"
      description: "Export CSV for persisted public sheets. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/export:
    get:
      summary: "Export a persisted public sheet by format query parameter"
      description: "Export a persisted public sheet by format query parameter. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/export/json:
    get:
      summary: "Export JSON for persisted public sheets"
      description: "Export JSON for persisted public sheets. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/export/markdown:
    get:
      summary: "Export Markdown table for persisted public sheets"
      description: "Export Markdown table for persisted public sheets. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/sheets/{id}/export/pdf:
    post:
      summary: "Protected/degraded PDF export status"
      description: "Protected/degraded PDF export status. Access: protected. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security:
        - PlatPhormApiKey: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/search:
    get:
      summary: "Search server-backed sheets and rows"
      description: "Search server-backed sheets and rows. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/ingest/paste:
    post:
      summary: "Public paste preview; protected persist with PLATPHORM_API_KEY"
      description: "Public paste preview; protected persist with PLATPHORM_API_KEY. Access: mixed. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security:
        - PlatPhormApiKey: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/ingest/url:
    post:
      summary: "Bounded SSRF-gated URL preview; protected persist with PLATPHORM_API_KEY"
      description: "Bounded SSRF-gated URL preview; protected persist with PLATPHORM_API_KEY. Access: mixed. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security:
        - PlatPhormApiKey: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/ingest/upload:
    post:
      summary: "Protected/degraded upload ingest endpoint"
      description: "Protected/degraded upload ingest endpoint. Access: protected. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security:
        - PlatPhormApiKey: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/ingest/json:
    post:
      summary: "JSON table preview"
      description: "JSON table preview. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/ingest/xml:
    post:
      summary: "XML table preview"
      description: "XML table preview. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/ingest/markdown:
    post:
      summary: "Markdown table preview"
      description: "Markdown table preview. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/analyze:
    post:
      summary: "Deterministic sheet analysis"
      description: "Deterministic sheet analysis. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/compare:
    post:
      summary: "Deterministic comparison scaffold"
      description: "Deterministic comparison scaffold. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/trends:
    post:
      summary: "Deterministic trend/summary scaffold"
      description: "Deterministic trend/summary scaffold. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/profile-columns:
    post:
      summary: "Profile columns"
      description: "Profile columns. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/detect-schema:
    post:
      summary: "Infer schema from rows"
      description: "Infer schema from rows. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/detect-duplicates:
    post:
      summary: "Detect duplicate rows"
      description: "Detect duplicate rows. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/data-quality:
    post:
      summary: "Score data quality"
      description: "Score data quality. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/group-by:
    post:
      summary: "Group rows by a column"
      description: "Group rows by a column. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/pivot-summary:
    post:
      summary: "Create pivot summary preview"
      description: "Create pivot summary preview. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/join/preview:
    post:
      summary: "Preview safe sheet join"
      description: "Preview safe sheet join. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/lookup/preview:
    post:
      summary: "Preview lookup join"
      description: "Preview lookup join. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/query/preview:
    post:
      summary: "Run read-only scoped SQL-style query preview"
      description: "Run read-only scoped SQL-style query preview. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/query/examples:
    get:
      summary: "Get query examples"
      description: "Get query examples. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/events:
    get:
      summary: "List public event contract names"
      description: "List public event contract names. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/webhook-contracts:
    get:
      summary: "List webhook event contracts"
      description: "List webhook event contracts. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/webhook-contracts/publish:
    post:
      summary: "Protected publish webhook contracts"
      description: "Protected publish webhook contracts. Access: protected. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security:
        - PlatPhormApiKey: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/integrations:
    get:
      summary: "List integration matrix"
      description: "List integration matrix. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/web/status:
    get:
      summary: "Public Web Status payload"
      description: "Public Web Status payload. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/web/manifest:
    get:
      summary: "Public Web Status manifest"
      description: "Public Web Status manifest. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/web/scorecard:
    get:
      summary: "Public Web Status scorecard"
      description: "Public Web Status scorecard. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/web/fingerprints:
    get:
      summary: "Public-safe Web Status fingerprints"
      description: "Public-safe Web Status fingerprints. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/v1/agent-policy:
    get:
      summary: "Get agent access policy"
      description: "Get agent access policy. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /api/mcp:
    get:
      summary: "MCP metadata"
      description: "MCP metadata. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
    post:
      summary: "JSON-RPC 2.0 MCP endpoint"
      description: "JSON-RPC 2.0 MCP endpoint. Access: mixed. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security:
        - PlatPhormApiKey: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /openapi.yaml:
    get:
      summary: "OpenAPI YAML"
      description: "OpenAPI YAML. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /openapi.json:
    get:
      summary: "OpenAPI JSON"
      description: "OpenAPI JSON. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /llms.txt:
    get:
      summary: "Readable LLM summary"
      description: "Readable LLM summary. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /llms-full.txt:
    get:
      summary: "Full LLM discovery text"
      description: "Full LLM discovery text. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /llms-index.json:
    get:
      summary: "LLM discovery index"
      description: "LLM discovery index. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /rss.xml:
    get:
      summary: "Public RSS feed"
      description: "Public RSS feed. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /feed.xml:
    get:
      summary: "Public Atom feed"
      description: "Public Atom feed. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /sitemap.xml:
    get:
      summary: "Public sitemap"
      description: "Public sitemap. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /robots.txt:
    get:
      summary: "Robots policy"
      description: "Robots policy. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /.well-known/mcp.json:
    get:
      summary: "MCP well-known discovery"
      description: "MCP well-known discovery. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /.well-known/agents.json:
    get:
      summary: "Agent discovery"
      description: "Agent discovery. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /.well-known/agent-policy.json:
    get:
      summary: "Agent policy"
      description: "Agent policy. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /.well-known/ai-policy.json:
    get:
      summary: "AI policy"
      description: "AI policy. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /.well-known/trust.json:
    get:
      summary: "Trust policy"
      description: "Trust policy. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
  /.well-known/security.txt:
    get:
      summary: "Security contact"
      description: "Security contact. Access: public. Protected operations accept Authorization: Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY."
      security: []
      responses:
        "200":
          description: Success
        "401":
          description: PLATPHORM_API_KEY required for protected actions
