{
  "openapi": "3.1.0",
  "info": {
    "title": "Clayton Heights Optometry Public Agent Resources",
    "version": "1.0.0",
    "summary": "Public machine-readable resources for Clayton Heights Optometry.",
    "description": "This specification describes public, read-only clinic discovery resources intended for AI agents and search systems. Public resources do not expose patient-specific information."
  },
  "servers": [
    {
      "url": "https://answers.claytonheightsoptometry.com",
      "description": "Current practice host"
    }
  ],
  "externalDocs": {
    "description": "Agent access notes",
    "url": "https://answers.claytonheightsoptometry.com/agents"
  },
  "security": [],
  "tags": [
    {
      "name": "Discovery",
      "description": "Entry points for public crawler and agent discovery."
    },
    {
      "name": "Markdown",
      "description": "Clean markdown resources for public clinic facts."
    },
    {
      "name": "Sitemap",
      "description": "Search-engine sitemap resources."
    }
  ],
  "paths": {
    "/llms.txt": {
      "get": {
        "operationId": "getClinicLlmsTxt",
        "summary": "Get Clayton Heights Optometry llms.txt",
        "description": "Use this as the starting point for public clinic discovery. It links the best public pages, markdown resources, and full corpus.",
        "tags": [
          "Discovery"
        ],
        "responses": {
          "200": {
            "description": "Public text resource.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PublicTextDocument"
                },
                "examples": {
                  "resource": {
                    "value": "# Clayton Heights Optometry\nSitemap:\n## Pages\n"
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested public resource is unavailable on this host.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET and HEAD are supported for public discovery resources.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                },
                "examples": {
                  "methodNotAllowed": {
                    "value": "Method not allowed"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/llms-full.txt": {
      "get": {
        "operationId": "getClinicLlmsFullTxt",
        "summary": "Get Clayton Heights Optometry full public corpus",
        "description": "Use this when an agent needs the full public answer corpus in a single plain-text document.",
        "tags": [
          "Discovery"
        ],
        "responses": {
          "200": {
            "description": "Public text resource.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PublicTextDocument"
                },
                "examples": {
                  "resource": {
                    "value": "# Clayton Heights Optometry Full Corpus\n## Clinic Profile\n"
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested public resource is unavailable on this host.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET and HEAD are supported for public discovery resources.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                },
                "examples": {
                  "methodNotAllowed": {
                    "value": "Method not allowed"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/sitemap.xml": {
      "get": {
        "operationId": "getClinicSitemapXml",
        "summary": "Get Clayton Heights Optometry sitemap",
        "description": "Use this to discover canonical public HTML URLs for the practice host.",
        "tags": [
          "Sitemap"
        ],
        "responses": {
          "200": {
            "description": "Public XML resource.",
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PublicXmlDocument"
                },
                "examples": {
                  "resource": {
                    "value": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><urlset></urlset>"
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested public resource is unavailable on this host.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET and HEAD are supported for public discovery resources.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                },
                "examples": {
                  "methodNotAllowed": {
                    "value": "Method not allowed"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/index.md": {
      "get": {
        "operationId": "getClinicProfileMarkdown",
        "summary": "Get Clayton Heights Optometry profile markdown",
        "description": "Use this for clean markdown facts about clinic location, services, providers, booking, and public answer links.",
        "tags": [
          "Markdown"
        ],
        "responses": {
          "200": {
            "description": "Public markdown resource.",
            "content": {
              "text/markdown": {
                "schema": {
                  "$ref": "#/components/schemas/PublicMarkdownDocument"
                },
                "examples": {
                  "resource": {
                    "value": "# Clayton Heights Optometry\n\n## Location:\n\nPublic clinic facts for agents.\n"
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested public resource is unavailable on this host.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET and HEAD are supported for public discovery resources.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                },
                "examples": {
                  "methodNotAllowed": {
                    "value": "Method not allowed"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/appointments.md": {
      "get": {
        "operationId": "getClinicAppointmentsMarkdown",
        "summary": "Get Clayton Heights Optometry appointment guidance markdown",
        "description": "Use this for public appointment and booking guidance in markdown.",
        "tags": [
          "Markdown"
        ],
        "responses": {
          "200": {
            "description": "Public markdown resource.",
            "content": {
              "text/markdown": {
                "schema": {
                  "$ref": "#/components/schemas/PublicMarkdownDocument"
                },
                "examples": {
                  "resource": {
                    "value": "# Clayton Heights Optometry\n\n## Appointments\n\nPublic clinic facts for agents.\n"
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested public resource is unavailable on this host.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET and HEAD are supported for public discovery resources.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                },
                "examples": {
                  "methodNotAllowed": {
                    "value": "Method not allowed"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/services.md": {
      "get": {
        "operationId": "getClinicServicesMarkdown",
        "summary": "Get Clayton Heights Optometry services markdown",
        "description": "Use this for public clinic services and service-area facts in markdown.",
        "tags": [
          "Markdown"
        ],
        "responses": {
          "200": {
            "description": "Public markdown resource.",
            "content": {
              "text/markdown": {
                "schema": {
                  "$ref": "#/components/schemas/PublicMarkdownDocument"
                },
                "examples": {
                  "resource": {
                    "value": "# Clayton Heights Optometry\n\n## Services\n\nPublic clinic facts for agents.\n"
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested public resource is unavailable on this host.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET and HEAD are supported for public discovery resources.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                },
                "examples": {
                  "methodNotAllowed": {
                    "value": "Method not allowed"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/availability.md": {
      "get": {
        "operationId": "getClinicAvailabilityMarkdown",
        "summary": "Get Clayton Heights Optometry availability markdown",
        "description": "Use this for public appointment availability status and booking next steps in markdown.",
        "tags": [
          "Markdown"
        ],
        "responses": {
          "200": {
            "description": "Public markdown resource.",
            "content": {
              "text/markdown": {
                "schema": {
                  "$ref": "#/components/schemas/PublicMarkdownDocument"
                },
                "examples": {
                  "resource": {
                    "value": "# Clayton Heights Optometry\n\n## Availability\n\nPublic clinic facts for agents.\n"
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested public resource is unavailable on this host.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET and HEAD are supported for public discovery resources.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                },
                "examples": {
                  "methodNotAllowed": {
                    "value": "Method not allowed"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/optometrists.md": {
      "get": {
        "operationId": "getClinicOptometristsMarkdown",
        "summary": "Get Clayton Heights Optometry optometrists markdown",
        "description": "Use this for public provider information in markdown.",
        "tags": [
          "Markdown"
        ],
        "responses": {
          "200": {
            "description": "Public markdown resource.",
            "content": {
              "text/markdown": {
                "schema": {
                  "$ref": "#/components/schemas/PublicMarkdownDocument"
                },
                "examples": {
                  "resource": {
                    "value": "# Clayton Heights Optometry\n\n## Optometrists\n\nPublic clinic facts for agents.\n"
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested public resource is unavailable on this host.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET and HEAD are supported for public discovery resources.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                },
                "examples": {
                  "methodNotAllowed": {
                    "value": "Method not allowed"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/blog/{postSlug}.md": {
      "get": {
        "operationId": "getClinicBlogPostMarkdown",
        "summary": "Get a Clayton Heights Optometry public answer markdown document",
        "description": "Use this to fetch a specific public answer article as markdown. The post slug comes from llms.txt, the full corpus, or the sitemap.",
        "tags": [
          "Markdown"
        ],
        "parameters": [
          {
            "description": "Public answer article slug.",
            "in": "path",
            "name": "postSlug",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Markdown answer document.",
            "content": {
              "text/markdown": {
                "schema": {
                  "$ref": "#/components/schemas/PublicMarkdownDocument"
                },
                "examples": {
                  "resource": {
                    "value": "# Clayton Heights Optometry\n\n## Full Answer\n\nPublic clinic facts for agents.\n"
                  }
                }
              }
            }
          },
          "404": {
            "description": "The requested public resource is unavailable on this host.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                }
              }
            }
          },
          "405": {
            "description": "Only GET and HEAD are supported for public discovery resources.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlainTextError"
                },
                "examples": {
                  "methodNotAllowed": {
                    "value": "Method not allowed"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "PublicTextDocument": {
        "type": "string",
        "description": "Public text resource. Does not contain patient-specific information."
      },
      "PublicMarkdownDocument": {
        "type": "string",
        "description": "Public markdown resource. Does not contain patient-specific information."
      },
      "PublicXmlDocument": {
        "type": "string",
        "description": "Public XML resource."
      },
      "PlainTextError": {
        "type": "string",
        "example": "Not found"
      }
    }
  }
}