{"openapi":"3.1.0","info":{"title":"Rocket CRM public machine-readable surface","version":"1.0.0","description":"Read-only discovery endpoints for AI agents, plus the public lead form. This is not a product CRM API. Admin CMS routes are not part of this spec.","contact":{"email":"info@rocket.in.th","url":"https://rocket.in.th/contact"}},"servers":[{"url":"https://rocket.in.th"}],"paths":{"/llms.txt":{"get":{"operationId":"getLlmsTxt","summary":"Agent index with when-to-use guidance","responses":{"200":{"description":"Plain-text llms.txt","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/sitemap.xml":{"get":{"operationId":"getSitemapXml","summary":"XML sitemap","responses":{"200":{"description":"XML sitemap","content":{"application/xml":{"schema":{"type":"string"}}}}}}},"/sitemap.md":{"get":{"operationId":"getSitemapMarkdown","summary":"Markdown sitemap of agent pages","responses":{"200":{"description":"Markdown sitemap","content":{"text/markdown":{"schema":{"type":"string"}}}}}}},"/openapi.json":{"get":{"operationId":"getOpenApi","summary":"This OpenAPI document","responses":{"200":{"description":"OpenAPI 3.1 document","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/{slug}.md":{"get":{"operationId":"getPageMarkdown","summary":"Markdown mirror of a marketing page","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","example":"loyalty-crm"}}],"responses":{"200":{"description":"Page markdown","content":{"text/markdown":{"schema":{"type":"string"}}}},"404":{"description":"Unknown page","content":{"text/markdown":{"schema":{"type":"string"}}}}}}},"/api/forms/cta":{"post":{"operationId":"submitLeadForm","summary":"Submit a demo / contact lead","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","email","telephone","company","surface"],"properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"},"telephone":{"type":"string"},"company":{"type":"string"},"message":{"type":"string"},"surface":{"type":"string"},"pageSlug":{"type":"string"}}}}}},"responses":{"200":{"description":"Saved","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"id":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/JsonError"},"500":{"$ref":"#/components/responses/JsonError"}}}}},"components":{"responses":{"JsonError":{"description":"Structured JSON error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonError"}}}}},"schemas":{"JsonError":{"type":"object","required":["error","message","status"],"properties":{"error":{"type":"string"},"message":{"type":"string"},"hint":{"type":"string"},"status":{"type":"integer"}}}}}}