{
  "openapi": "3.1.0",
  "info": {
    "title": "AceSense Public Content API",
    "version": "0.1.0",
    "summary": "Read-only access to AceSense public content (marketing pages, llms.txt, sitemap, agent-skills).",
    "description": "These endpoints are already served as static files by acesense.io. The OpenAPI document exists so AI agents and tooling can discover and validate them programmatically. There is no authenticated write surface here; for the product API see https://api.acesense.io.",
    "contact": {
      "name": "AceSense",
      "email": "support@acesense.io",
      "url": "https://acesense.io/contact"
    },
    "license": {
      "name": "Proprietary - see https://acesense.io/terms",
      "url": "https://acesense.io/terms"
    }
  },
  "servers": [
    {
      "url": "https://acesense.io",
      "description": "Public marketing site"
    }
  ],
  "paths": {
    "/sitemap.xml": {
      "get": {
        "summary": "XML sitemap of every public URL",
        "responses": {
          "200": {
            "description": "XML sitemap",
            "content": {
              "application/xml": {}
            }
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "summary": "Plain-text content map for AI agents",
        "responses": {
          "200": {
            "description": "Markdown-flavored llms.txt",
            "content": {
              "text/plain": {}
            }
          }
        }
      }
    },
    "/.well-known/agent-skills/index.json": {
      "get": {
        "summary": "Agent Skills Discovery RFC v0.2.0 catalogue",
        "responses": {
          "200": {
            "description": "JSON",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/{path}.md": {
      "get": {
        "summary": "Markdown twin of any prerendered marketing page",
        "parameters": [
          {
            "name": "path",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Page slug (e.g. pricing, accuracy, blog/swingvision-android-alternative)"
          }
        ],
        "responses": {
          "200": {
            "description": "text/markdown body with YAML frontmatter",
            "content": {
              "text/markdown": {}
            }
          },
          "404": {
            "description": "No markdown twin at this path"
          }
        }
      }
    }
  },
  "components": {}
}