openapi: 3.1.0
info:
  title: Website + Platform Coexistence Smoke Contract
  version: 1.0.0
  summary: Minimal smoke contract for the first multi-app TenantAtlas workspace
servers:
  - url: http://localhost
    description: Platform app via Sail on the default host port
  - url: http://localhost:{platform_port}
    description: Platform app via Sail when APP_PORT overrides the default host port
    variables:
      platform_port:
        default: '8080'
        description: Non-default APP_PORT value used during smoke validation
  - url: http://localhost:4321
    description: Website app via Astro dev server on the default port
  - url: http://localhost:{website_port}
    description: Website app via Astro dev server when WEBSITE_PORT or --port overrides the default port
    variables:
      website_port:
        default: '4322'
        description: Non-default website port used during smoke validation
paths:
  /up:
    get:
      summary: Platform health endpoint responds successfully
      operationId: platformHealth
      servers:
        - url: http://localhost
          description: Platform app via Sail on the default host port
        - url: http://localhost:{platform_port}
          description: Platform app via Sail when APP_PORT overrides the default host port
          variables:
            platform_port:
              default: '8080'
              description: Non-default APP_PORT value used during smoke validation
      responses:
        '200':
          description: Platform boot is healthy
  /admin/login:
    get:
      summary: Platform admin login shell remains reachable
      operationId: platformAdminLogin
      servers:
        - url: http://localhost
          description: Platform app via Sail on the default host port
        - url: http://localhost:{platform_port}
          description: Platform app via Sail when APP_PORT overrides the default host port
          variables:
            platform_port:
              default: '8080'
              description: Non-default APP_PORT value used during smoke validation
      responses:
        '200':
          description: Platform admin login page renders
  /:
    get:
      summary: Website home page renders independently
      operationId: websiteHome
      servers:
        - url: http://localhost:4321
          description: Website app via Astro dev server on the default port
        - url: http://localhost:{website_port}
          description: Website app via Astro dev server when WEBSITE_PORT or --port overrides the default port
          variables:
            website_port:
              default: '4322'
              description: Non-default website port used during smoke validation
      responses:
        '200':
          description: Website home page renders on its own dev server
components: {}