{"openapi":"3.1.0","info":{"title":"Retrivum Academy — teaching example, not a live API","version":"1.0.0-example","description":"An OpenAPI example for the AI App Development course. Implement and test it locally; this website does not host the example API or accept questions."},"servers":[{"url":"https://example.invalid","description":"Non-operational teaching example"}],"paths":{"/ask":{"post":{"summary":"Example: answer a question using a learner's local application","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["question"],"properties":{"question":{"type":"string","minLength":1,"maxLength":2000}}},"example":{"question":"What does the sample document say about setup?"}}}},"responses":{"200":{"description":"Illustrative answer with supporting source references.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["answer","citations","requestId"],"properties":{"answer":{"type":"string"},"citations":{"type":"array","items":{"type":"string"},"description":"Source references from the learner's document collection."},"requestId":{"type":"string"}}},"example":{"answer":"The sample setup requires Python and a virtual environment.","citations":["sample-document#setup"],"requestId":"example-request-001"}}}},"400":{"description":"Illustrative validation error; no model request is made.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","requestId"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"requestId":{"type":"string"}}},"example":{"error":{"code":"INVALID_QUESTION","message":"Provide a question between 1 and 2000 characters."},"requestId":"example-request-002"}}}}}}}}}