{"openapi":"3.1.0","info":{"title":"Skola MX public website API","summary":"Machine-readable HTTP resources for Skola MX (skola.mx), maker of Skola App — preschool administration software for Mexico.","description":"Public website contract for agents. Skola App (the mobile product) has no public REST API, webhooks, or MCP server. Use markdown content negotiation on HTML URLs, /llms.txt, and this spec. Human owners book a demo at /#contacto or sign up at /registro.","version":"1.0.0","contact":{"name":"Skola MX","url":"https://www.skola.mx"}},"servers":[{"url":"https://www.skola.mx","description":"Production"}],"tags":[{"name":"Discovery","description":"Agent indexes and sitemaps"},{"name":"Docs","description":"Skola MX developer resources"},{"name":"Pages","description":"HTML/Markdown negotiated pages"}],"paths":{"/llms.txt":{"get":{"tags":["Discovery"],"summary":"Skola MX llms.txt agent index","operationId":"getLlmsTxt","responses":{"200":{"description":"llms.txt (markdown) including when-to-use guidance","content":{"text/markdown":{"schema":{"type":"string"}}}}}}},"/openapi.json":{"get":{"tags":["Discovery"],"summary":"Skola MX OpenAPI spec","operationId":"getOpenApi","responses":{"200":{"description":"This document","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/sitemap.xml":{"get":{"tags":["Discovery"],"summary":"XML sitemap of indexable Skola MX URLs","operationId":"getSitemap","responses":{"200":{"description":"application/xml sitemap"}}}},"/docs":{"get":{"tags":["Docs"],"summary":"Skola MX developer resources index","operationId":"getDocsIndex","parameters":[{"name":"Accept","in":"header","required":false,"description":"Prefer text/markdown to receive the markdown representation. Omit or send text/html for the HTML page. Always expect Vary: Accept, Accept-Encoding.","schema":{"type":"string","example":"text/markdown"}}],"responses":{"200":{"description":"Developer resources index","headers":{"Vary":{"schema":{"type":"string","example":"Accept, Accept-Encoding"}}},"content":{"text/html":{"schema":{"type":"string"}},"text/markdown":{"schema":{"type":"string"}}}}}}},"/docs/api":{"get":{"tags":["Docs"],"summary":"Skola MX API docs","operationId":"getDocsApi","parameters":[{"name":"Accept","in":"header","required":false,"description":"Prefer text/markdown to receive the markdown representation. Omit or send text/html for the HTML page. Always expect Vary: Accept, Accept-Encoding.","schema":{"type":"string","example":"text/markdown"}}],"responses":{"200":{"description":"API docs","headers":{"Vary":{"schema":{"type":"string","example":"Accept, Accept-Encoding"}}},"content":{"text/html":{"schema":{"type":"string"}},"text/markdown":{"schema":{"type":"string"}}}}}}},"/docs/auth":{"get":{"tags":["Docs"],"summary":"Skola MX auth docs","operationId":"getDocsAuth","parameters":[{"name":"Accept","in":"header","required":false,"description":"Prefer text/markdown to receive the markdown representation. Omit or send text/html for the HTML page. Always expect Vary: Accept, Accept-Encoding.","schema":{"type":"string","example":"text/markdown"}}],"responses":{"200":{"description":"Auth docs","headers":{"Vary":{"schema":{"type":"string","example":"Accept, Accept-Encoding"}}},"content":{"text/html":{"schema":{"type":"string"}},"text/markdown":{"schema":{"type":"string"}}}}}}},"/docs/webhooks":{"get":{"tags":["Docs"],"summary":"Skola MX webhooks","operationId":"getDocsWebhooks","parameters":[{"name":"Accept","in":"header","required":false,"description":"Prefer text/markdown to receive the markdown representation. Omit or send text/html for the HTML page. Always expect Vary: Accept, Accept-Encoding.","schema":{"type":"string","example":"text/markdown"}}],"responses":{"200":{"description":"Webhooks status","headers":{"Vary":{"schema":{"type":"string","example":"Accept, Accept-Encoding"}}},"content":{"text/html":{"schema":{"type":"string"}},"text/markdown":{"schema":{"type":"string"}}}}}}},"/docs/mcp":{"get":{"tags":["Docs"],"summary":"Skola MX MCP server","operationId":"getDocsMcp","parameters":[{"name":"Accept","in":"header","required":false,"description":"Prefer text/markdown to receive the markdown representation. Omit or send text/html for the HTML page. Always expect Vary: Accept, Accept-Encoding.","schema":{"type":"string","example":"text/markdown"}}],"responses":{"200":{"description":"MCP status","headers":{"Vary":{"schema":{"type":"string","example":"Accept, Accept-Encoding"}}},"content":{"text/html":{"schema":{"type":"string"}},"text/markdown":{"schema":{"type":"string"}}}}}}},"/docs/agents":{"get":{"tags":["Docs"],"summary":"When to use Skola MX — agent instructions","operationId":"getDocsAgents","parameters":[{"name":"Accept","in":"header","required":false,"description":"Prefer text/markdown to receive the markdown representation. Omit or send text/html for the HTML page. Always expect Vary: Accept, Accept-Encoding.","schema":{"type":"string","example":"text/markdown"}}],"responses":{"200":{"description":"Agent instructions","headers":{"Vary":{"schema":{"type":"string","example":"Accept, Accept-Encoding"}}},"content":{"text/html":{"schema":{"type":"string"}},"text/markdown":{"schema":{"type":"string"}}}}}}},"/":{"get":{"tags":["Pages"],"summary":"Skola MX homepage (HTML or Markdown)","operationId":"getHome","parameters":[{"name":"Accept","in":"header","required":false,"description":"Prefer text/markdown to receive the markdown representation. Omit or send text/html for the HTML page. Always expect Vary: Accept, Accept-Encoding.","schema":{"type":"string","example":"text/markdown"}}],"responses":{"200":{"description":"Homepage","headers":{"Vary":{"schema":{"type":"string","example":"Accept, Accept-Encoding"}}},"content":{"text/html":{"schema":{"type":"string"}},"text/markdown":{"schema":{"type":"string"}}}},"404":{"description":"Unknown paths return 404 with a markdown recovery body when Accept prefers markdown"},"406":{"description":"Client rejected both text/html and text/markdown"}}}}}}