{"openapi":"3.1.0","info":{"title":"Anthovara API","version":"1.0.0","description":"OpenAI-compatible AI inference API.","contact":{"email":"support@anthovara.com"}},"servers":[{"url":"https://api.anthovara.com/v1"}],"paths":{"/models":{"get":{"operationId":"listModels","summary":"List models available for inference","security":[],"responses":{"200":{"description":"Public model catalog","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelCatalogResponse"}}}}}}},"/health":{"get":{"operationId":"getHealth","summary":"Check public API health","security":[],"responses":{"200":{"description":"Service is available","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/chat/completions":{"post":{"operationId":"createChatCompletion","summary":"Create a chat completion","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionRequest"}}}},"responses":{"200":{"description":"Completion response or SSE stream","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionResponse"}},"text/event-stream":{"schema":{"$ref":"#/components/schemas/ChatCompletionChunk"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Provider capacity unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"ANV API key"}},"schemas":{"ModelCatalogResponse":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name","pricing","is_ready"],"additionalProperties":true}}}},"HealthResponse":{"type":"object","required":["ok","status","service"],"properties":{"ok":{"type":"boolean"},"status":{"type":"string","enum":["ok"]},"service":{"type":"string","enum":["anthovara-api"]}}},"ChatCompletionRequest":{"type":"object","required":["model","messages"],"properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["system","user","assistant","tool"]},"content":{}}}},"max_tokens":{"type":"integer","minimum":1},"temperature":{"type":"number"},"top_p":{"type":"number"},"stream":{"type":"boolean","default":false}}},"ChatCompletionResponse":{"type":"object","required":["id","object","created","model","choices"],"additionalProperties":true},"ChatCompletionChunk":{"type":"object","required":["id","object","created","model","choices"],"additionalProperties":true},"ErrorResponse":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type","param","code"],"properties":{"message":{"type":"string"},"type":{"type":"string"},"param":{"type":["string","null"]},"code":{"type":"string"}}}}}}}}