openapi: "3.1.0"
info:
  title: "PlatPhorm PDF API"
  version: "0.4.0"
  description: "Local-first PDF conversion, extraction, and redaction tools."
servers:
  - 
    url: "https://pdf.platphormnews.com"
    description: "Production"
security:
  - 
    PlatPhormApiKey:
[]
paths:
  /api/health:
    get:
      summary: "Service health"
      security:
[]
      responses:
        200:
          description: "Health payload"
  /api/v1/health:
    get:
      summary: "Versioned service health"
      security:
[]
      responses:
        200:
          description: "Health payload"
  /api/mcp:
    get:
      summary: "MCP metadata"
      security:
[]
      responses:
        200:
          description: "MCP capability metadata"
    post:
      summary: "MCP JSON-RPC endpoint"
      security:
[]
      responses:
        200:
          description: "JSON-RPC response"
  /llms-index.json:
    get:
      summary: "LLMS capability index"
      security:
[]
      responses:
        200:
          description: "LLMS JSON index"
  /.well-known/mcp.json:
    get:
      summary: "MCP discovery descriptor"
      security:
[]
      responses:
        200:
          description: "MCP discovery JSON"
components:
  securitySchemes:
    PlatPhormApiKey:
      type: "apiKey"
      in: "header"
      name: "X-PlatPhorm-API-Key"
      description: "Protected future server-side actions use PLATPHORM_API_KEY. Current PDF byte operations are browser-local."
  schemas:
    PdfOperationManifest:
      type: "object"
      example:
        service: "pdf"
        url: "https://pdf.platphormnews.com"
        purpose: "Local-first PDF conversion, extraction, and redaction tools."
        storage:
          mode: "browser_local"
          status: "not_applicable"
          message: "PDF bytes are processed in the browser for current product tools; no server-side document storage is claimed."
        operations:
          - "pdf_to_text"
          - "pdf_to_docx"
          - "docx_to_pdf"
          - "markdown_to_pdf"
          - "merge_pdfs"
          - "split_pdf"
          - "reorder_pages"
          - "rotate_pages"
          - "compress_pdf"
          - "annotate_pdf"
          - "fill_form"
          - "sign_pdf"
          - "number_pages"
          - "crop_pdf"
          - "repair_pdf"
          - "redact_pdf"
        routes:
          app: "https://pdf.platphormnews.com"
          health: "https://pdf.platphormnews.com/api/v1/health"
          mcp: "https://pdf.platphormnews.com/api/mcp"
          openapi: "https://pdf.platphormnews.com/openapi.yaml"
          llmsIndex: "https://pdf.platphormnews.com/llms-index.json"
x-platphorm:
  service: "pdf"
  tools:
    - "pdf_operation_manifest"
    - "plan_pdf_workflow"
    - "redaction_safety_checklist"
    - "pdf_discovery_status"
  resources:
    - "pdf://service"
    - "pdf://operations"
    - "pdf://trust-policy"
  prompts:
    - "prepare_pdf_conversion_workflow"
    - "review_pdf_redaction_export"
  noFakeData: true