openapi: 3.0.3
info:
  title: TenantPilot Operations Runs (UI endpoints)
  version: "1.0"
  description: |
    Minimal contract describing the canonical Operations run list and detail endpoints.

    Note: These are Filament (server-rendered / Livewire) endpoints, not a public JSON API.
servers:
  - url: /
paths:
  /admin/monitoring/operations:
    get:
      summary: Operations run list (canonical)
      description: Canonical list of operation runs scoped by workspace entitlement.
      responses:
        "200":
          description: HTML page
          content:
            text/html:
              schema:
                type: string
        "302":
          description: Redirect to login
  /admin/operations/{runId}:
    get:
      summary: Operations run detail (canonical)
      description: Canonical tenantless run viewer.
      parameters:
        - name: runId
          in: path
          required: true
          schema:
            type: integer
      responses:
        "200":
          description: HTML page
          content:
            text/html:
              schema:
                type: string
        "403":
          description: Workspace member but missing capability
        "404":
          description: Not entitled to workspace scope (deny-as-not-found)
        "302":
          description: Redirect to login
components:
  schemas:
    OperationRunType:
      type: string
      description: Canonical run types created by this feature.
      enum:
        - inventory_sync
        - drift_generate_findings
        - entra_group_sync
        - backup_schedule_run
        - backup_schedule_retention
        - backup_schedule_purge
