{"openapi":"3.1.1","jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","info":{"title":"Annot8 Public Discovery API","version":"1.0.0","summary":"Machine-readable orientation for Annot8 agents and developers.","description":"This read-only surface describes Annot8 and links to its public machine-readable resources. It does not expose workspace or customer data. Annot8 currently has no public customer-data REST API or API-key system; outbound customer data is available through configured webhooks and exports.","contact":{"name":"Annot8 support","url":"https://www.annot8.app/contact","email":"support@annot8.app"}},"externalDocs":{"description":"Annot8 developer documentation","url":"https://docs.annot8.app/docs"},"servers":[{"url":"https://www.annot8.app","description":"Canonical Annot8 production host"}],"security":[],"tags":[{"name":"Discovery","description":"Read-only resources that help agents understand Annot8."}],"paths":{"/api":{"get":{"operationId":"getAnnot8ServiceIndex","summary":"Get the Annot8 service index","description":"Returns stable links to Annot8's OpenAPI description, agent instructions, developer resources, documentation, and sitemap. Use this operation to orient an agent before following a more specific resource.","tags":["Discovery"],"parameters":[],"responses":{"200":{"description":"Annot8 service identity and public resource links.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceIndex"}}}},"406":{"description":"The request could not be fulfilled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/openapi.json":{"get":{"operationId":"getAnnot8OpenApiDescription","summary":"Get the Annot8 OpenAPI description","description":"Returns this OpenAPI 3.1 document so agents and developer tools can inspect the public discovery surface without scraping HTML.","tags":["Discovery"],"parameters":[],"responses":{"200":{"description":"The current Annot8 OpenAPI description.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenApiDocument"}}}},"406":{"description":"The request could not be fulfilled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/llms.txt":{"get":{"operationId":"getAnnot8AgentInstructions","summary":"Get Annot8 agent instructions","description":"Returns the llms.txt resource map with best-fit use cases, API boundaries, and links to Markdown-friendly product documentation.","tags":["Discovery"],"parameters":[],"responses":{"200":{"description":"The Annot8 llms.txt file in the llms.txt v2 format.","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/developers.md":{"get":{"operationId":"getAnnot8DeveloperGuide","summary":"Get the Annot8 developer guide as Markdown","description":"Returns the agent-friendly developer entry point with supported integration paths, discovery resources, and explicit API boundaries.","tags":["Discovery"],"parameters":[],"responses":{"200":{"description":"Annot8 developer resources in Markdown.","content":{"text/markdown":{"schema":{"type":"string"}}}}}}},"/sitemap.xml":{"get":{"operationId":"getAnnot8Sitemap","summary":"Get the Annot8 sitemap","description":"Returns the canonical index of public Annot8 marketing, product, integration, comparison, developer, and policy pages.","tags":["Discovery"],"parameters":[],"responses":{"200":{"description":"The Annot8 XML sitemap.","content":{"application/xml":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"ResourceLink":{"type":"object","additionalProperties":false,"required":["name","url","mediaType"],"properties":{"name":{"type":"string","description":"Stable machine-readable resource name."},"url":{"type":"string","format":"uri","description":"Absolute canonical URL for the resource."},"mediaType":{"type":"string","description":"Primary response media type."}}},"ServiceIndex":{"type":"object","additionalProperties":false,"required":["name","description","customerDataApiAvailable","guidance","resources"],"properties":{"name":{"type":"string","const":"Annot8"},"description":{"type":"string"},"customerDataApiAvailable":{"type":"boolean","const":false,"description":"False while Annot8 has no public customer-data REST API."},"guidance":{"type":"string"},"resources":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/ResourceLink"}}}},"ApiError":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","hint","docs"],"properties":{"code":{"type":"string","enum":["api_route_not_found","method_not_allowed","not_acceptable"],"description":"Stable programmatic error code."},"message":{"type":"string","description":"Human-readable explanation of the failure."},"hint":{"type":"string","description":"A concrete recovery action."},"docs":{"type":"string","format":"uri","description":"Documentation that explains the API boundary."}}}}},"OpenApiDocument":{"type":"object","required":["openapi","info","paths"],"properties":{"openapi":{"type":"string"},"info":{"type":"object"},"paths":{"type":"object"}},"additionalProperties":true}}}}