openapi: 3.0.3
info:
  title: MSFREEZ Public Website Metadata API
  version: 1.2.4
  description: Public discovery documents and metadata resources for the MSFREEZ website.
servers:
  - url: https://www.msfreez.com
tags:
  - name: Website
    description: Public website pages and assets.
  - name: Discovery
    description: Machine-readable files for search engines and AI systems.
paths:
  /:
    get:
      tags: [Website]
      summary: Get the MSFREEZ homepage
      description: Main homepage with company overview, trust signals, and links to dedicated services, portfolio, and blog pages.
      responses:
        "200":
          description: HTML homepage
          content:
            text/html:
              schema:
                type: string
  /services:
    get:
      tags: [Website]
      summary: Get the services hub page
      responses:
        "200":
          description: HTML page listing core MSFREEZ services
          content:
            text/html:
              schema:
                type: string
  /services/{serviceSlug}:
    get:
      tags: [Website]
      summary: Get a service detail page
      parameters:
        - in: path
          name: serviceSlug
          required: true
          schema:
            type: string
      responses:
        "200":
          description: HTML service detail page
          content:
            text/html:
              schema:
                type: string
  /portfolio:
    get:
      tags: [Website]
      summary: Get the portfolio hub page
      responses:
        "200":
          description: HTML portfolio index page
          content:
            text/html:
              schema:
                type: string
  /portfolio/{projectSlug}:
    get:
      tags: [Website]
      summary: Get a portfolio case study page
      parameters:
        - in: path
          name: projectSlug
          required: true
          schema:
            type: string
      responses:
        "200":
          description: HTML portfolio project page
          content:
            text/html:
              schema:
                type: string
  /blog:
    get:
      tags: [Website]
      summary: Get the blog hub page
      responses:
        "200":
          description: HTML blog listing page
          content:
            text/html:
              schema:
                type: string
  /blog/{articleSlug}:
    get:
      tags: [Website]
      summary: Get a blog article page
      parameters:
        - in: path
          name: articleSlug
          required: true
          schema:
            type: string
      responses:
        "200":
          description: HTML blog article page
          content:
            text/html:
              schema:
                type: string
  /sitemap.xml:
    get:
      tags: [Discovery]
      summary: Get the sitemap index
      responses:
        "200":
          description: Sitemap index that references page, asset, and discovery sitemaps
          content:
            application/xml:
              schema:
                type: string
  /sitemap-pages.xml:
    get:
      tags: [Discovery]
      summary: Get the page URL sitemap
      responses:
        "200":
          description: Canonical sitemap for indexable website pages
          content:
            application/xml:
              schema:
                type: string
  /sitemap-assets.xml:
    get:
      tags: [Discovery]
      summary: Get the media assets sitemap
      responses:
        "200":
          description: Sitemap for key image and visual assets
          content:
            application/xml:
              schema:
                type: string
  /sitemap-discovery.xml:
    get:
      tags: [Discovery]
      summary: Get the AI discovery sitemap
      responses:
        "200":
          description: Sitemap for llms, rss, robots, and discovery metadata files
          content:
            application/xml:
              schema:
                type: string
  /sitemap-all.xml:
    get:
      tags: [Discovery]
      summary: Get the complete website sitemap
      responses:
        "200":
          description: Unified sitemap containing pages, assets, and discovery resources
          content:
            application/xml:
              schema:
                type: string
  /robots.txt:
    get:
      tags: [Discovery]
      summary: Get crawler directives
      responses:
        "200":
          description: robots.txt rules for search engines and AI bots
          content:
            text/plain:
              schema:
                type: string
  /llms.txt:
    get:
      tags: [Discovery]
      summary: Get the concise AI guidance document
      responses:
        "200":
          description: Short-form machine-readable company summary and deep links
          content:
            text/plain:
              schema:
                type: string
  /llms-full.txt:
    get:
      tags: [Discovery]
      summary: Get the extended AI guidance document
      responses:
        "200":
          description: Detailed machine-readable business and service reference
          content:
            text/plain:
              schema:
                type: string
  /rss.xml:
    get:
      tags: [Discovery]
      summary: Get the MSFREEZ RSS feed
      responses:
        "200":
          description: RSS feed for blog and article discovery
          content:
            application/rss+xml:
              schema:
                type: string
  /manifest.json:
    get:
      tags: [Discovery]
      summary: Get the web app manifest
      responses:
        "200":
          description: PWA metadata for the website
          content:
            application/json:
              schema:
                type: object
  /.well-known/ai-plugin.json:
    get:
      tags: [Discovery]
      summary: Get the AI plugin manifest
      responses:
        "200":
          description: AI plugin metadata for public discovery
          content:
            application/json:
              schema:
                type: object
  /.well-known/openapi.yaml:
    get:
      tags: [Discovery]
      summary: Get this OpenAPI description
      responses:
        "200":
          description: OpenAPI document describing the discovery endpoints
          content:
            application/yaml:
              schema:
                type: string
  /logo.png:
    get:
      tags: [Website]
      summary: Get the MSFREEZ logo asset
      responses:
        "200":
          description: Brand logo image
          content:
            image/png:
              schema:
                type: string
                format: binary
  /og-image.jpg:
    get:
      tags: [Website]
      summary: Get the social sharing image
      responses:
        "200":
          description: Open Graph preview image
          content:
            image/jpeg:
              schema:
                type: string
                format: binary
  /hero-bg.jpg:
    get:
      tags: [Website]
      summary: Get the homepage hero background image
      responses:
        "200":
          description: Hero background image used on the homepage
          content:
            image/jpeg:
              schema:
                type: string
                format: binary
  /favicon.ico:
    get:
      tags: [Website]
      summary: Get the website favicon
      responses:
        "200":
          description: Browser favicon
          content:
            image/x-icon:
              schema:
                type: string
                format: binary
  /placeholder.svg:
    get:
      tags: [Website]
      summary: Get the website placeholder SVG
      responses:
        "200":
          description: Placeholder SVG asset
          content:
            image/svg+xml:
              schema:
                type: string
components: {}
