{"openapi":"3.0.3","info":{"title":"platform-api","description":"Unified AI gateway for the 6 lau client apps.","version":"0.1.0"},"components":{"schemas":{}},"paths":{"/ai/chat":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["messages"],"properties":{"messages":{"type":"array","minItems":1,"items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["system","user","assistant","tool"]},"content":{},"name":{"type":"string"},"tool_call_id":{"type":"string"},"tool_calls":{}}}},"vendor":{"type":"string","enum":["siliconflow","dashscope","deepseek","ark","groq","gemini","anthropic","zhipu","iflytek","azure_speech","deepl","mymemory","baichuan","hunyuan","kimi","openai","iflytek_spark","wenxin"]},"model":{"type":"string"},"tier":{"type":"string","enum":["fast","quality","cheap"]},"stream":{"type":"boolean","default":true},"temperature":{"type":"number","minimum":0,"maximum":2},"max_tokens":{"type":"integer","minimum":1,"maximum":32768},"top_p":{"type":"number","minimum":0,"maximum":1},"stop":{"type":"array","items":{"type":"string"},"maxItems":8},"tools":{"type":"array"},"tool_choice":{},"expose_thinking":{"type":"boolean"}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/ai/chat/job":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["messages"],"properties":{"messages":{"type":"array","minItems":1,"items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["system","user","assistant","tool"]},"content":{},"name":{"type":"string"},"tool_call_id":{"type":"string"},"tool_calls":{}}}},"vendor":{"type":"string","enum":["siliconflow","dashscope","deepseek","ark","groq","gemini","anthropic","zhipu","iflytek","azure_speech","deepl","mymemory","baichuan","hunyuan","kimi","openai","iflytek_spark","wenxin"]},"model":{"type":"string"},"tier":{"type":"string","enum":["fast","quality","cheap"]},"stream":{"type":"boolean","default":true},"temperature":{"type":"number","minimum":0,"maximum":2},"max_tokens":{"type":"integer","minimum":1,"maximum":32768},"top_p":{"type":"number","minimum":0,"maximum":1},"stop":{"type":"array","items":{"type":"string"},"maxItems":8},"tools":{"type":"array"},"tool_choice":{},"expose_thinking":{"type":"boolean"}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/ai/chat/job/{id}":{"get":{"parameters":[{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"since","required":false},{"schema":{"type":"string","pattern":"^job_[0-9a-zA-Z_-]+$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/ai/translate":{"post":{"tags":["ai"],"description":"Machine translation across DashScope (primary) and SiliconFlow LLM (fallback). DeepL / MyMemory tiers reserved (not yet wired).","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["text","source_lang","target_lang"],"properties":{"text":{"type":"string","minLength":1,"maxLength":8000},"source_lang":{"type":"string","minLength":1,"maxLength":16},"target_lang":{"type":"string","minLength":1,"maxLength":16},"glossary":{"type":"object","additionalProperties":{"type":"string","maxLength":200},"maxProperties":100},"include_pinyin":{"type":"boolean","default":false},"vendor":{"type":"string","enum":["dashscope","siliconflow","deepl","mymemory","deepseek","ark","groq","gemini","anthropic","zhipu","iflytek","azure_speech","baichuan","hunyuan","kimi","openai"]}},"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["ok","data","usage","request_id"],"properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","required":["translated","vendor","model"],"properties":{"translated":{"type":"string"},"source_lang_detected":{"type":"string"},"pinyin":{"type":"string"},"vendor":{"type":"string","enum":["dashscope","siliconflow","deepl","mymemory","deepseek","ark","groq","gemini","anthropic","zhipu","iflytek","azure_speech","baichuan","hunyuan","kimi","openai"],"description":"Which vendor produced this response. May differ from request.vendor if fallback fired."},"model":{"type":"string"}}},"usage":{"type":"object","required":["tokens_in","tokens_out","cost_cny"],"properties":{"tokens_in":{"type":"integer","minimum":0},"tokens_out":{"type":"integer","minimum":0},"cost_cny":{"type":"number","minimum":0}}},"request_id":{"type":"string"}}}}}}}}},"/ai/realtime-translate-stream":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/ai/conversation-insight":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["turns"],"properties":{"turns":{"type":"array","maxItems":30,"items":{"type":"object","properties":{"side":{"type":"string","enum":["self","peer"]},"original":{"type":"string"},"translated":{"type":"string"},"source_lang":{"type":"string"},"target_lang":{"type":"string"},"ts":{"type":"number"}}}},"observer":{"type":"string","enum":["self","peer"]},"scene":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/ai/conversation-summary":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["turns"],"properties":{"turns":{"type":"array","maxItems":200,"items":{"type":"object","properties":{"side":{"type":"string","enum":["self","peer"]},"original":{"type":"string"},"translated":{"type":"string"},"source_lang":{"type":"string"},"target_lang":{"type":"string"},"ts":{"type":"number"}}}},"scene":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/ai/meeting-intent":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["brief"],"properties":{"brief":{"type":"string","minLength":1,"maxLength":200},"source_lang":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/ai/conversation-chat":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["turns","question"],"properties":{"turns":{"type":"array","maxItems":200},"summary":{"type":"object","additionalProperties":true},"history":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"q":{"type":"string"},"a":{"type":"string"}}}},"question":{"type":"string","minLength":1,"maxLength":400}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/ai/peer-profile-extract":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["turns"],"properties":{"turns":{"type":"array","maxItems":200},"peer_name":{"type":"string","maxLength":20},"prior_profile":{"type":"object","additionalProperties":true}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/ai/draft-email":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["turns","summary","target_lang"],"properties":{"turns":{"type":"array","maxItems":200},"summary":{"type":"object","additionalProperties":true},"peer_name":{"type":"string","maxLength":30},"sender_name":{"type":"string","maxLength":30},"target_lang":{"type":"string","maxLength":5},"scene":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/ai/tts":{"post":{"tags":["ai"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["text","voice"],"properties":{"text":{"type":"string","minLength":1,"maxLength":5000},"voice":{"type":"string","minLength":1,"maxLength":64},"model":{"type":"string"},"vendor":{"type":"string","enum":["dashscope","siliconflow","iflytek","azure_speech"]},"speed":{"type":"number","minimum":0.5,"maximum":2},"format":{"type":"string","enum":["mp3","wav","pcm","opus"]},"sample_rate":{"type":"integer","minimum":8000,"maximum":48000}},"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/ai/asr":{"post":{"tags":["ai"],"responses":{"200":{"description":"Default Response"}}}},"/ai/embed":{"post":{"tags":["ai"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"anyOf":[{"type":"string","minLength":1,"maxLength":8192},{"type":"array","items":{"type":"string","minLength":1,"maxLength":8192},"minItems":1,"maxItems":64}]},"model":{"type":"string"},"vendor":{"type":"string","enum":["dashscope","siliconflow","openai"]},"dimensions":{"type":"integer","minimum":64,"maximum":4096}},"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/ai/vl":{"post":{"tags":["ai"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["messages"],"properties":{"messages":{"type":"array","minItems":1},"vendor":{"type":"string","enum":["dashscope","siliconflow","ark","zhipu","openai"]},"model":{"type":"string"},"stream":{"type":"boolean","default":true},"temperature":{"type":"number","minimum":0,"maximum":2},"max_tokens":{"type":"integer","minimum":1,"maximum":32768},"top_p":{"type":"number","minimum":0,"maximum":1}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/ai/ocr":{"post":{"tags":["ai"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"image_url":{"type":"string","maxLength":4096},"image_b64":{"type":"string","maxLength":8388608},"mode":{"type":"string","enum":["general","word","sentence","paragraph","math","table","handwriting"],"default":"general"},"language_hint":{"type":"string","enum":["zh","en","mixed","auto"],"default":"auto"},"return_bbox":{"type":"boolean","default":false},"return_confidence":{"type":"boolean","default":true},"vendor":{"type":"string","enum":["dashscope","siliconflow","ark","baidu_ocr","aliyun_ocr"]},"prefer_model":{"type":"string","enum":["qwen-vl-plus","qwen-vl-max","qwen2.5-vl-7b","doubao-vision","baidu-general-basic","baidu-accurate-basic","baidu-general","baidu-accurate","aliyun-general","aliyun-advanced"]}},"anyOf":[{"required":["image_url"]},{"required":["image_b64"]}]}}}},"responses":{"200":{"description":"Default Response"}}}},"/ai/avatar":{"post":{"tags":["ai"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["vendor","mode"],"properties":{"vendor":{"type":"string","enum":["aliyun_wan_s2v","ark_doubao","tencent_avatar","iflytek_avatar"]},"mode":{"type":"string","enum":["text_to_video","audio_to_video","photo_animation"]},"model":{"type":"string","maxLength":128},"text":{"type":"string","maxLength":4000},"audio_url":{"type":"string","maxLength":4096},"audio_base64":{"type":"string","maxLength":20971520},"photo_url":{"type":"string","maxLength":4096},"voice":{"type":"string","maxLength":64},"duration_hint_sec":{"type":"integer","minimum":1,"maximum":600},"output_format":{"type":"string","enum":["mp4"]},"language":{"type":"string","maxLength":16}},"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/ai/avatar/tasks/{id}":{"get":{"tags":["ai"],"parameters":[{"schema":{"type":"string","pattern":"^vh_[0-9a-zA-Z_-]+$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/ai/vendors":{"get":{"tags":["ai"],"responses":{"200":{"description":"Default Response"}}}},"/ai/eval/pronunciation":{"post":{"tags":["ai"],"responses":{"200":{"description":"Default Response"}}}},"/files/upload":{"post":{"tags":["files"],"responses":{"200":{"description":"Default Response"}}}},"/files/{appId}/{day}/{fileId}":{"get":{"tags":["files"],"parameters":[{"schema":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$"},"in":"path","name":"appId","required":true},{"schema":{"type":"string","pattern":"^[0-9]{8}$"},"in":"path","name":"day","required":true},{"schema":{"type":"string","pattern":"^f_[A-Za-z0-9_-]{6,}\\.[a-z0-9]{1,8}$"},"in":"path","name":"fileId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/kb/upsert":{"post":{"tags":["kb"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["namespace","entries"],"properties":{"namespace":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-zA-Z0-9_-]+$"},"entries":{"type":"array","minItems":1,"maxItems":64,"items":{"type":"object","required":["id","text"],"properties":{"id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-zA-Z0-9_.:-]+$"},"text":{"type":"string","minLength":1,"maxLength":8192},"metadata":{"type":"object","additionalProperties":true}},"additionalProperties":false}},"vendor":{"type":"string","enum":["siliconflow","dashscope","openai"]},"model":{"type":"string"}},"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/kb/query":{"post":{"tags":["kb"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["namespace","query"],"properties":{"namespace":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-zA-Z0-9_-]+$"},"query":{"type":"string","minLength":1,"maxLength":8192},"top_k":{"type":"integer","minimum":1,"maximum":50},"min_score":{"type":"number","minimum":0,"maximum":1},"vendor":{"type":"string","enum":["siliconflow","dashscope","openai"]},"model":{"type":"string"}},"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/kb/list":{"get":{"tags":["kb"],"parameters":[{"schema":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":64},"in":"query","name":"namespace","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/kb/{namespace}/{id}":{"delete":{"tags":["kb"],"parameters":[{"schema":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":64},"in":"path","name":"namespace","required":true},{"schema":{"type":"string","pattern":"^[a-zA-Z0-9_.:-]+$","maxLength":128},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/feedback":{"post":{"tags":["feedback"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["rating"],"properties":{"feedback_token":{"type":"string","maxLength":128},"request_id":{"type":"string","maxLength":128},"rating":{"type":"integer","minimum":-1,"maximum":1},"reason":{"type":"string","maxLength":1024},"corrected_output":{"type":"string","maxLength":32768},"vendor":{"type":"string","maxLength":64},"model":{"type":"string","maxLength":128},"capability":{"type":"string","enum":["chat","translate","tts","asr","embed","vl","avatar"]}},"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/system/prompts":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/system/prompts/{id}":{"get":{"parameters":[{"schema":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":128},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/system/eval":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/system/eval/{id}":{"get":{"parameters":[{"schema":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":128},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/system/eval/run":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["capability","prompt_id","vendors"],"properties":{"capability":{"type":"string","enum":["chat","translate","tts","asr","embed","vl"]},"prompt_id":{"type":"string","maxLength":128},"vendors":{"type":"array","minItems":1,"maxItems":10,"items":{"type":"object","required":["vendor","model"],"properties":{"vendor":{"type":"string"},"model":{"type":"string"}}}},"dataset":{"type":"string","maxLength":128}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/classroom/experts":{"get":{"tags":["classroom"],"responses":{"200":{"description":"Default Response"}}},"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","subject"],"properties":{"name":{"type":"string","minLength":1,"maxLength":64},"subject":{"type":"string","minLength":1,"maxLength":32},"region":{"type":"string","maxLength":32},"expert_type":{"type":"string","enum":["学科专家","课型专家"]},"description":{"type":"string","maxLength":256},"system_prompt":{"type":"string","maxLength":4096},"tags":{"type":"array","items":{"type":"string","maxLength":32},"maxItems":16}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/classroom/experts/{id}":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"patch":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","maxLength":64},"description":{"type":"string","maxLength":256},"system_prompt":{"type":"string","maxLength":4096},"region":{"type":"string","maxLength":32},"subject":{"type":"string","maxLength":32},"expert_type":{"type":"string","enum":["学科专家","课型专家"]},"tags":{"type":"array","items":{"type":"string"}},"linked_lesson_ids":{"type":"array","items":{"type":"string"}}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/experts/{id}/diagnose":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["lesson_id"],"properties":{"lesson_id":{"type":"string"},"focus":{"type":"string","maxLength":512}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/experts/{id}/followup":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["history","question"],"properties":{"lesson_id":{"type":"string"},"history":{"type":"array","items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","maxLength":8192}}},"maxItems":20},"question":{"type":"string","minLength":1,"maxLength":2048}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/rubrics":{"get":{"tags":["classroom"],"responses":{"200":{"description":"Default Response"}}},"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":128},"total_score":{"type":"integer","minimum":1,"maximum":1000},"source_doc_name":{"type":"string","maxLength":256},"source_doc_text":{"type":"string","maxLength":32768},"items":{"type":"array","maxItems":32}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/classroom/rubrics/{id}":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"patch":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/rubrics/import":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","source_doc_text"],"properties":{"name":{"type":"string","minLength":1,"maxLength":128},"source_doc_name":{"type":"string","maxLength":256},"source_doc_text":{"type":"string","minLength":10,"maxLength":32768},"total_score":{"type":"integer","minimum":1,"maximum":1000}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/classroom/rubrics/import/file":{"post":{"tags":["classroom"],"responses":{"200":{"description":"Default Response"}}}},"/classroom/rubrics/{id}/export":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/rubrics/{id}/optimize":{"post":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons":{"get":{"tags":["classroom"],"responses":{"200":{"description":"Default Response"}}},"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["title"],"properties":{"title":{"type":"string","minLength":1,"maxLength":128},"subject":{"type":"string","maxLength":32},"grade":{"type":"string","maxLength":32},"teacher_name":{"type":"string","maxLength":64},"school":{"type":"string","maxLength":128},"preset_goals":{"type":"array","items":{"type":"string","maxLength":128},"maxItems":10},"rubric_id":{"type":"string"},"expert_id":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"patch":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/transcript/text":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["full_text"],"properties":{"full_text":{"type":"string","minLength":1,"maxLength":65536},"segments":{"type":"array","items":{"type":"object","required":["start_sec","end_sec","text"],"properties":{"speaker":{"type":"string","maxLength":32},"start_sec":{"type":"number","minimum":0},"end_sec":{"type":"number","minimum":0},"text":{"type":"string","maxLength":2048}}},"maxItems":5000}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/transcript/audio":{"post":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/analyze":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"vendor":{"type":"string"},"model":{"type":"string"},"expert_id":{"type":"string"}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/analyses":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/analyses/{id}":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/transcript/analytics":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/analyses/{id}/export":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/analyze/stream":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"vendor":{"type":"string"},"model":{"type":"string"},"expert_id":{"type":"string"}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/goals":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"query","name":"lesson_id","required":false}],"responses":{"200":{"description":"Default Response"}}},"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["goal_text"],"properties":{"lesson_id":{"type":"string"},"goal_text":{"type":"string","minLength":1,"maxLength":256},"expected_outcome":{"type":"string","maxLength":1024},"achievement_score":{"type":"integer","minimum":0,"maximum":100}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/classroom/goals/{id}":{"patch":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/copilot":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["message"],"additionalProperties":false,"properties":{"session_id":{"type":"string","maxLength":64},"message":{"type":"string","minLength":1,"maxLength":4096},"lesson_id":{"type":"string","maxLength":64},"analysis_id":{"type":"string","maxLength":64},"rubric_id":{"type":"string","maxLength":64},"expert_id":{"type":"string","maxLength":64},"history":{"type":"array","maxItems":20,"items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","maxLength":8192}}}}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/classroom/analyses/{id}/actions":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/analyses/{id}/print":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/print":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/activity":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":200},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/st-analysis":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/behavior-tags":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/segments":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/summary":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/mindmap":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/analyses/{id}/full-report":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/teacher-growth":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"query","name":"teacher_name","required":false},{"schema":{"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/qa-analysis":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/student-voice":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/speech-metrics":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/reviews":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["reviewer_name","scores"],"additionalProperties":false,"properties":{"reviewer_name":{"type":"string","minLength":1,"maxLength":64},"reviewer_role":{"type":"string","enum":["听课教师","教研员","校长","同行","专家"]},"scores":{"type":"object","additionalProperties":false,"properties":{"structure":{"type":"integer","minimum":0,"maximum":100},"behavior":{"type":"integer","minimum":0,"maximum":100},"strategy":{"type":"integer","minimum":0,"maximum":100},"outcome":{"type":"integer","minimum":0,"maximum":100}}},"comment":{"type":"string","maxLength":2000},"rubric_id":{"type":"string","maxLength":64},"rubric_scores":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":100}},"highlights":{"type":"array","maxItems":12,"items":{"type":"string","maxLength":64}},"improvements":{"type":"array","maxItems":12,"items":{"type":"string","maxLength":64}}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/reviews/aggregate":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/reviews/{id}":{"delete":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/cases":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string","maxLength":32},"in":"query","name":"subject","required":false},{"schema":{"type":"string","maxLength":32},"in":"query","name":"grade","required":false},{"schema":{"type":"string","enum":["true","false","1","0"]},"in":"query","name":"featured","required":false},{"schema":{"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/cases/{lesson_id}/feature":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["featured"],"additionalProperties":false,"properties":{"featured":{"type":"boolean"},"case_tags":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":32}}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"lesson_id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/cases/recommendations":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string","maxLength":64},"in":"query","name":"lesson_id","required":true},{"schema":{"type":"integer","minimum":1,"maximum":20},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/cases/search":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":128},"in":"query","name":"q","required":true},{"schema":{"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/tr-activities":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["theme","organizer","phase","stage"],"additionalProperties":false,"properties":{"theme":{"type":"string","minLength":1,"maxLength":200},"organizer":{"type":"string","minLength":1,"maxLength":64},"phase":{"type":"string","enum":["选题","备课","上课","评课","反思","总结"]},"stage":{"type":"string","enum":["planning","in_progress","completed"]},"participants":{"type":"array","maxItems":64,"items":{"type":"string","maxLength":64}},"lesson_ids":{"type":"array","maxItems":64,"items":{"type":"string","maxLength":64}},"output_types":{"type":"array","maxItems":16,"items":{"type":"string","enum":["公开课","案例","论文","课件","教案","其他"]}},"due_date":{"type":"string","maxLength":32},"summary":{"type":"string","maxLength":2000}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string","enum":["planning","in_progress","completed"]},"in":"query","name":"stage","required":false},{"schema":{"type":"string","maxLength":64},"in":"query","name":"participant","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/tr-activities/{id}":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"patch":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"theme":{"type":"string","minLength":1,"maxLength":200},"organizer":{"type":"string","minLength":1,"maxLength":64},"phase":{"type":"string","enum":["选题","备课","上课","评课","反思","总结"]},"stage":{"type":"string","enum":["planning","in_progress","completed"]},"participants":{"type":"array","maxItems":64,"items":{"type":"string","maxLength":64}},"lesson_ids":{"type":"array","maxItems":64,"items":{"type":"string","maxLength":64}},"output_types":{"type":"array","maxItems":16,"items":{"type":"string","enum":["公开课","案例","论文","课件","教案","其他"]}},"due_date":{"type":"string","maxLength":32},"summary":{"type":"string","maxLength":2000}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/tr-activities/{id}/attach-lesson":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["lesson_id"],"additionalProperties":false,"properties":{"lesson_id":{"type":"string","minLength":1,"maxLength":64}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/tr-activities/{id}/output":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["kind","title"],"additionalProperties":false,"properties":{"kind":{"type":"string","minLength":1,"maxLength":32},"title":{"type":"string","minLength":1,"maxLength":200},"url":{"type":"string","maxLength":512},"note":{"type":"string","maxLength":500}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/tr-activities/{id}/ai-suggestion":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/dashboard/school":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":128},"in":"query","name":"school","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/dashboard/district":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"query","name":"region","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/dashboard/leaderboard":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string","enum":["school","district","app"]},"in":"query","name":"scope","required":true},{"schema":{"type":"string","enum":["structure","behavior","strategy","outcome","total"]},"in":"query","name":"dim","required":false},{"schema":{"type":"string","enum":["top","bottom"]},"in":"query","name":"direction","required":false},{"schema":{"type":"integer","minimum":1,"maximum":50},"in":"query","name":"limit","required":false},{"schema":{"type":"string","maxLength":128},"in":"query","name":"school","required":false},{"schema":{"type":"string","maxLength":64},"in":"query","name":"region","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/dashboard/heatmap":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string","enum":["school","app"]},"in":"query","name":"scope","required":true},{"schema":{"type":"string","maxLength":128},"in":"query","name":"school","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lesson-plans":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["title"],"additionalProperties":false,"properties":{"title":{"type":"string","minLength":1,"maxLength":200},"subject":{"type":"string","maxLength":32},"grade":{"type":"string","maxLength":32},"teacher_name":{"type":"string","maxLength":64},"lesson_id":{"type":"string","maxLength":64},"objectives":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":200}},"key_points":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":200}},"difficulties":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":200}},"activities":{"type":"array","maxItems":32,"items":{"type":"object","required":["name","minutes"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":64},"minutes":{"type":"integer","minimum":1,"maximum":240},"description":{"type":"string","maxLength":500}}}},"materials":{"type":"array","maxItems":32,"items":{"type":"string","maxLength":64}},"duration_min":{"type":"integer","minimum":1,"maximum":240},"status":{"type":"string","enum":["draft","ready","delivered","reflected"]},"parent_plan_id":{"type":"string","maxLength":64}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string","maxLength":64},"in":"query","name":"teacher_name","required":false},{"schema":{"type":"string","enum":["draft","ready","delivered","reflected"]},"in":"query","name":"status","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lesson-plans/{id}":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"patch":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","minLength":1,"maxLength":200},"subject":{"type":"string","maxLength":32},"grade":{"type":"string","maxLength":32},"teacher_name":{"type":"string","maxLength":64},"lesson_id":{"type":"string","maxLength":64},"objectives":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":200}},"key_points":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":200}},"difficulties":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":200}},"activities":{"type":"array","maxItems":32,"items":{"type":"object","required":["name","minutes"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":64},"minutes":{"type":"integer","minimum":1,"maximum":240},"description":{"type":"string","maxLength":500}}}},"materials":{"type":"array","maxItems":32,"items":{"type":"string","maxLength":64}},"duration_min":{"type":"integer","minimum":1,"maximum":240},"status":{"type":"string","enum":["draft","ready","delivered","reflected"]}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lesson-plans/{id}/ai-draft":{"post":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lesson-plans/from-reflection":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["reflection_id"],"additionalProperties":false,"properties":{"reflection_id":{"type":"string","minLength":1,"maxLength":64}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/classroom/lessons/{id}/reflection":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["teacher_name","what_went_well","what_to_improve","action_items"],"additionalProperties":false,"properties":{"teacher_name":{"type":"string","minLength":1,"maxLength":64},"what_went_well":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":400}},"what_to_improve":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":400}},"action_items":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":400}},"next_lesson_focus":{"type":"string","maxLength":400}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/teacher-loop":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"query","name":"teacher_name","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/teacher-literacy/standard":{"get":{"tags":["classroom"],"responses":{"200":{"description":"Default Response"}}}},"/classroom/teacher-literacy":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"query","name":"teacher_name","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lesson-plans/{id}/ai-outline":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"depth":{"type":"string","enum":["concise","standard","detailed"]},"custom_hint":{"type":"string","maxLength":400}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lesson-plans/{id}/ai-ppt":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"slide_count":{"type":"integer","minimum":8,"maximum":20},"style":{"type":"string","enum":["minimal","rich"]}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lesson-plans/{id}/ai-questions":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"types":{"type":"array","maxItems":4,"items":{"type":"string","enum":["选择","填空","简答","作文"]}},"difficulty":{"type":"string","enum":["easy","medium","hard","mixed"]},"count":{"type":"integer","minimum":5,"maximum":20}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/lesson-plans/{id}/ai-resources":{"post":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/assignments":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["title","type","questions"],"additionalProperties":false,"properties":{"title":{"type":"string","minLength":1,"maxLength":200},"type":{"type":"string","enum":["课堂练习","作业","测验"]},"lesson_id":{"type":"string","maxLength":64},"teacher_name":{"type":"string","maxLength":64},"subject":{"type":"string","maxLength":32},"grade":{"type":"string","maxLength":32},"questions":{"type":"array","minItems":1,"maxItems":50,"items":{"type":"object","required":["type","stem","answer_key"],"additionalProperties":true,"properties":{"idx":{"type":"integer","minimum":1},"type":{"type":"string","enum":["选择","填空","简答","作文"]},"stem":{"type":"string","minLength":1,"maxLength":2000},"options":{"type":"array","maxItems":8,"items":{"type":"string","maxLength":500}},"answer_key":{"type":"string","minLength":1,"maxLength":4000},"points":{"type":"integer","minimum":1,"maximum":100},"rubric":{"type":"string","maxLength":1000},"knowledge_point":{"type":"string","maxLength":100},"difficulty":{"type":"string","enum":["easy","medium","hard"]},"explanation":{"type":"string","maxLength":1000}}}},"status":{"type":"string","enum":["draft","published","closed"]},"due_date":{"type":"string","maxLength":32}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string","maxLength":64},"in":"query","name":"lesson_id","required":false},{"schema":{"type":"string","maxLength":64},"in":"query","name":"teacher_name","required":false},{"schema":{"type":"string","enum":["draft","published","closed"]},"in":"query","name":"status","required":false},{"schema":{"type":"string","enum":["课堂练习","作业","测验"]},"in":"query","name":"type","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/assignments/{id}":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"patch":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","minLength":1,"maxLength":200},"type":{"type":"string","enum":["课堂练习","作业","测验"]},"lesson_id":{"type":"string","maxLength":64},"teacher_name":{"type":"string","maxLength":64},"subject":{"type":"string","maxLength":32},"grade":{"type":"string","maxLength":32},"questions":{"type":"array","maxItems":50,"items":{"type":"object","required":["type","stem","answer_key"],"additionalProperties":true,"properties":{"idx":{"type":"integer","minimum":1},"type":{"type":"string","enum":["选择","填空","简答","作文"]},"stem":{"type":"string","minLength":1,"maxLength":2000},"options":{"type":"array","maxItems":8,"items":{"type":"string","maxLength":500}},"answer_key":{"type":"string","minLength":1,"maxLength":4000},"points":{"type":"integer","minimum":1,"maximum":100},"rubric":{"type":"string","maxLength":1000},"knowledge_point":{"type":"string","maxLength":100},"difficulty":{"type":"string","enum":["easy","medium","hard"]},"explanation":{"type":"string","maxLength":1000}}}},"status":{"type":"string","enum":["draft","published","closed"]},"due_date":{"type":"string","maxLength":32}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/assignments/{id}/ai-generate":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"count":{"type":"integer","minimum":5,"maximum":20},"types":{"type":"array","maxItems":4,"items":{"type":"string","enum":["选择","填空","简答","作文"]}},"difficulty":{"type":"string","enum":["easy","medium","hard","mixed"]}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/assignments/{id}/submissions":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["submissions"],"additionalProperties":false,"properties":{"submissions":{"type":"array","minItems":1,"maxItems":200,"items":{"type":"object","required":["student_label","answers"],"additionalProperties":false,"properties":{"student_label":{"type":"string","minLength":1,"maxLength":64},"answers":{"type":"array","minItems":0,"maxItems":60,"items":{"type":"object","required":["idx","text"],"additionalProperties":false,"properties":{"idx":{"type":"integer","minimum":1},"text":{"type":"string","maxLength":8000}}}}}}}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/assignments/{id}/auto-grade":{"post":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/assignments/{id}/learning-insights":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/learning-manual":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"query","name":"student_label","required":true},{"schema":{"type":"string","maxLength":64},"in":"query","name":"class_key","required":false},{"schema":{"type":"boolean","default":true},"in":"query","name":"include_wrong_book","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/learning-manual/class":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"query","name":"class_key","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/wuyu-evaluation":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["student_label","period","dimensions"],"additionalProperties":false,"properties":{"student_label":{"type":"string","minLength":1,"maxLength":64},"period":{"type":"string","minLength":1,"maxLength":32},"class_key":{"type":"string","maxLength":64},"dimensions":{"type":"object","required":["德","智","体","美","劳"],"additionalProperties":false,"properties":{"德":{"type":"object","required":["score"],"additionalProperties":false,"properties":{"score":{"type":"integer","minimum":0,"maximum":100},"evidence":{"type":"string","maxLength":500},"comment":{"type":"string","maxLength":500}}},"智":{"type":"object","required":["score"],"additionalProperties":false,"properties":{"score":{"type":"integer","minimum":0,"maximum":100},"evidence":{"type":"string","maxLength":500},"comment":{"type":"string","maxLength":500}}},"体":{"type":"object","required":["score"],"additionalProperties":false,"properties":{"score":{"type":"integer","minimum":0,"maximum":100},"evidence":{"type":"string","maxLength":500},"comment":{"type":"string","maxLength":500}}},"美":{"type":"object","required":["score"],"additionalProperties":false,"properties":{"score":{"type":"integer","minimum":0,"maximum":100},"evidence":{"type":"string","maxLength":500},"comment":{"type":"string","maxLength":500}}},"劳":{"type":"object","required":["score"],"additionalProperties":false,"properties":{"score":{"type":"integer","minimum":0,"maximum":100},"evidence":{"type":"string","maxLength":500},"comment":{"type":"string","maxLength":500}}}}},"teacher_comment":{"type":"string","maxLength":1000}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string","maxLength":64},"in":"query","name":"student_label","required":false},{"schema":{"type":"string","maxLength":32},"in":"query","name":"period","required":false},{"schema":{"type":"string","maxLength":64},"in":"query","name":"class_key","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/wuyu-evaluation/ai-suggest":{"post":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["student_label","period"],"additionalProperties":false,"properties":{"student_label":{"type":"string","minLength":1,"maxLength":64},"class_key":{"type":"string","maxLength":64},"period":{"type":"string","minLength":1,"maxLength":32}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/classroom/wuyu-evaluation/student/{label}/trend":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":20,"default":4},"in":"query","name":"periods","required":false},{"schema":{"type":"string"},"in":"path","name":"label","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/wuyu-evaluation/{id}":{"get":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"patch":{"tags":["classroom"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"student_label":{"type":"string","minLength":1,"maxLength":64},"period":{"type":"string","minLength":1,"maxLength":32},"class_key":{"type":"string","maxLength":64},"dimensions":{"type":"object","required":["德","智","体","美","劳"],"additionalProperties":false,"properties":{"德":{"type":"object","required":["score"],"additionalProperties":false,"properties":{"score":{"type":"integer","minimum":0,"maximum":100},"evidence":{"type":"string","maxLength":500},"comment":{"type":"string","maxLength":500}}},"智":{"type":"object","required":["score"],"additionalProperties":false,"properties":{"score":{"type":"integer","minimum":0,"maximum":100},"evidence":{"type":"string","maxLength":500},"comment":{"type":"string","maxLength":500}}},"体":{"type":"object","required":["score"],"additionalProperties":false,"properties":{"score":{"type":"integer","minimum":0,"maximum":100},"evidence":{"type":"string","maxLength":500},"comment":{"type":"string","maxLength":500}}},"美":{"type":"object","required":["score"],"additionalProperties":false,"properties":{"score":{"type":"integer","minimum":0,"maximum":100},"evidence":{"type":"string","maxLength":500},"comment":{"type":"string","maxLength":500}}},"劳":{"type":"object","required":["score"],"additionalProperties":false,"properties":{"score":{"type":"integer","minimum":0,"maximum":100},"evidence":{"type":"string","maxLength":500},"comment":{"type":"string","maxLength":500}}}}},"teacher_comment":{"type":"string","maxLength":1000}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["classroom"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/classroom/stats":{"get":{"tags":["classroom"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/auth/sms/send":{"post":{"tags":["mnemocard-auth"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/auth/sms/verify":{"post":{"tags":["mnemocard-auth"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/auth/anon":{"post":{"tags":["mnemocard-auth"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/auth/refresh":{"post":{"tags":["mnemocard-auth"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/auth/logout":{"post":{"tags":["mnemocard-auth"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/auth/upgrade":{"post":{"tags":["mnemocard-auth"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/auth/me":{"get":{"tags":["mnemocard-auth"],"responses":{"200":{"description":"Default Response"}}},"patch":{"tags":["mnemocard-auth"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/auth/me/delete":{"post":{"tags":["mnemocard-auth"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/auth/me/export":{"get":{"tags":["mnemocard-auth"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/wallet/balance":{"get":{"tags":["mnemocard-wallet"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/wallet/ledger":{"get":{"tags":["mnemocard-wallet"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/wallet/redeem":{"post":{"tags":["mnemocard-wallet"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/wallet/checkin":{"post":{"tags":["mnemocard-wallet"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/status":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/records":{"post":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/_features":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/_features/_admin":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/subscription/upgrade":{"post":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/subscription/_callback/{vendor}":{"post":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"vendor","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/subscription/prices":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/pipeline-jobs/stats":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/pipeline-jobs/requeue":{"post":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/quota":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/records/{id}":{"get":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"patch":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","maxLength":80},"summary":{"type":"string","maxLength":1000},"transcript":{"type":"string","maxLength":64000},"tags":{"type":"array","items":{"type":"string","maxLength":32},"maxItems":12},"people":{"type":"array","items":{"type":"string","maxLength":64},"maxItems":20},"topics":{"type":"array","items":{"type":"string","maxLength":64},"maxItems":20},"decisions":{"type":"array","items":{"type":"string","maxLength":240},"maxItems":12},"todos":{"type":"array","items":{"type":"object"},"maxItems":12},"metadata":{"type":"object"}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/records/{id}/reprocess":{"post":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/records/{id}/audio":{"get":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/search":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","minLength":1,"maxLength":1000},"top_k":{"type":"integer","minimum":1,"maximum":20}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/ask":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["question"],"properties":{"question":{"type":"string","minLength":1,"maxLength":1000},"top_k":{"type":"integer","minimum":1,"maximum":12},"scope_record_id":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/stats":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/aggregates/people":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/aggregates/topics":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/aggregates/threads":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/aggregates/weekly-digest":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/aggregates/personal-insight":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/aggregates/monthly-report":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/graph/stats":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/graph/snapshot":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/graph/recall":{"post":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/graph/rebuild":{"post":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/graph/recompute-salience":{"post":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/eval/fixtures":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/eval/fixtures/user":{"put":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["fixtures"],"properties":{"fixtures":{"type":"array","maxItems":100,"items":{"type":"object","required":["id","category","kind","transcript","expected"],"properties":{"id":{"type":"string","pattern":"^fx_user_[a-z0-9_-]+$","maxLength":64},"category":{"type":"string","enum":["positive","negative"]},"kind":{"type":"string","maxLength":32},"transcript":{"type":"string","minLength":10,"maxLength":4000},"notes":{"type":"string","maxLength":300},"expected":{"type":"object","properties":{"decisions":{"type":"array","items":{"type":"string","maxLength":200}},"todos":{"type":"array"},"people":{"type":"array","items":{"type":"string","maxLength":40}},"topics_must_include":{"type":"array","items":{"type":"string","maxLength":40}},"topics_must_exclude":{"type":"array","items":{"type":"string","maxLength":40}}}}}}}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/eval/run":{"post":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/eval/runs":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/eval/runs/{name}":{"get":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"name","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/tool-hooks":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}},"put":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["hooks"],"properties":{"hooks":{"type":"array","maxItems":16,"items":{"type":"object","required":["tools","url"],"properties":{"tools":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":16},"url":{"type":"string","minLength":8,"maxLength":500},"timeout_ms":{"type":"integer","minimum":100,"maximum":10000},"secret":{"type":"string","maxLength":200},"active":{"type":"boolean"}}}}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/prompts":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/prompts/{name}":{"put":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["body"],"properties":{"body":{"type":"string","minLength":1,"maxLength":20000}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"name","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"name","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/prompts/{name}/variants":{"get":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"name","required":true}],"responses":{"200":{"description":"Default Response"}}},"put":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"object","required":["weight"],"properties":{"weight":{"type":"integer","minimum":0,"maximum":1000}}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"name","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/prompts/{name}/variants/{variant}":{"put":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["body"],"properties":{"body":{"type":"string","minLength":1,"maxLength":20000}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"name","required":true},{"schema":{"type":"string"},"in":"path","name":"variant","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/graph/cleanup-bad-aliases":{"post":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/commitments":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/commitments/{id}/fulfill":{"post":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/commitments/{id}/abandon":{"post":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/commitments/{id}/reaffirm":{"post":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/preferences":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}},"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["kind","statement"],"properties":{"kind":{"type":"string","enum":["critic_rule","priority_topic","communication_style","risk_tolerance","person_attitude","reflection_belief"]},"statement":{"type":"string","minLength":4,"maxLength":240},"rationale":{"type":"string","maxLength":400},"target":{"type":"object"}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/preferences/{id}":{"patch":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/profile/tier":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}},"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["tier"],"properties":{"tier":{"type":"string","enum":["free","pro"]}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/aggregates/time-travel":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/initiatives/scan":{"post":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/initiatives":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/initiatives/{id}/sent":{"post":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/initiatives/{id}/dismiss":{"post":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/conflicts":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/conflicts/{id}/resolve":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["chosen_index"],"properties":{"chosen_index":{"type":"integer"},"note":{"type":"string","maxLength":200}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/conflicts/{id}/dismiss":{"post":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/tools":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/runs/{id}/diff":{"get":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/runs/{id}/replay":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"role_override":{"type":"string","enum":["pm","dev","designer","ops","marketing","founder"]}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/runs":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["record_id"],"properties":{"record_id":{"type":"string","minLength":1},"role":{"type":"string","enum":["pm","dev","designer","ops","marketing","founder"],"default":"pm"}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/runs/stream":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["record_id"],"properties":{"record_id":{"type":"string","minLength":1},"role":{"type":"string","enum":["pm","dev","designer","ops","marketing","founder"],"default":"pm"},"prompt":{"type":"string","maxLength":2000,"description":"optional user prompt steering outcome"},"outcome":{"type":"string","maxLength":64,"description":"outcome key for tagging"}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/multi-runs/stream":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["record_id","roles"],"properties":{"record_id":{"type":"string"},"roles":{"type":"array","items":{"type":"string","enum":["pm","dev","designer","ops","marketing","founder"]},"minItems":1,"maxItems":6}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/chat/stream":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","minLength":1,"maxLength":4000},"role":{"type":"string","enum":["pm","dev","designer","ops","marketing","founder"],"default":"founder"},"prior_messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"text":{"type":"string"}}},"maxItems":20}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/records/{id}/pin":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"pinned":{"type":"boolean"}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/records/{id}/export":{"get":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/cross-runs/stream":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["record_ids"],"properties":{"record_ids":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":30},"role":{"type":"string","enum":["pm","dev","designer","ops","marketing","founder"],"default":"founder"},"prompt":{"type":"string","maxLength":1000}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/cross-batch/stream":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["record_ids","mode"],"properties":{"record_ids":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":30},"mode":{"type":"string","enum":["weekly","archive","batch_l0"]},"extra_prompt":{"type":"string","maxLength":1000},"role":{"type":"string","enum":["pm","dev","designer","ops","marketing","founder"]}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/runs/{id}/continue/stream":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["instruction"],"properties":{"instruction":{"type":"string","minLength":1,"maxLength":2000}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/approve-bulk":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["items"],"properties":{"items":{"type":"array","minItems":1,"maxItems":40,"items":{"type":"object","required":["run_id","approval_id","approved"],"properties":{"run_id":{"type":"string"},"approval_id":{"type":"string"},"approved":{"type":"boolean"}}}}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/runs/{id}/abort":{"post":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/runs/{id}/continue":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["instruction"],"properties":{"instruction":{"type":"string","minLength":1,"maxLength":2000}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/runs/{id}":{"get":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/runs/{id}/approve":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["approval_id","approved"],"properties":{"approval_id":{"type":"string"},"approved":{"type":"boolean"}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/artifacts/{*}":{"get":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"*","required":true}],"responses":{"200":{"description":"Default Response"}}},"put":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["content"],"properties":{"content":{"type":"string","maxLength":32768}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"*","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/workspace/projects":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/workspace/calendar":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/workspace/artifacts":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/agent/audio/{id}":{"get":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/workspace/timeline":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/workspace/health":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/records/{id}/link":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["other_id"],"properties":{"other_id":{"type":"string"},"note":{"type":"string","maxLength":200}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/workspace/runs":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/aggregates/decision-portrait":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/aggregates/person/{name}":{"get":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"name","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/aggregates/topic/{name}":{"get":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"name","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/aggregates/merge":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["canonical","aliases"],"properties":{"canonical":{"type":"string","minLength":1,"maxLength":64},"aliases":{"type":"array","items":{"type":"string","minLength":1,"maxLength":64},"minItems":1,"maxItems":12},"field":{"type":"string","enum":["people","topics"],"default":"people"}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/reflections/start":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["seed_pattern"],"properties":{"seed_pattern":{"type":"object","required":["kind","text"],"properties":{"kind":{"type":"string","minLength":1,"maxLength":60},"text":{"type":"string","minLength":1,"maxLength":400}}}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/reflections/{id}/answer":{"post":{"tags":["mnemocard"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["user_answer"],"properties":{"user_answer":{"type":"string","minLength":1,"maxLength":800}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/reflections/{id}/abandon":{"post":{"tags":["mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/reflections":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/_telemetry":{"post":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/_telemetry/recent":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/_telemetry/stats":{"get":{"tags":["mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/study-pad/sync/{userId}":{"get":{"tags":["study-pad"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"userId","required":true}],"responses":{"200":{"description":"Default Response"}}},"put":{"tags":["study-pad"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"userId","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["study-pad"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"userId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/auth/register":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/auth/login":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/me":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/auth/parent-link/init":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/auth/parent-link/confirm":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/devices/bind":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/devices/mine":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/mistakes":{"post":{"responses":{"200":{"description":"Default Response"}}},"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/mistakes/{id}/master":{"patch":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/stats/curve":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/parent-daily":{"get":{"responses":{"200":{"description":"Default Response"}}},"post":{"tags":["aigo-pen"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["student_id"],"properties":{"student_id":{"type":"string","minLength":1,"maxLength":64},"date_range":{"type":"string","maxLength":32,"default":"today"}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/grade":{"post":{"tags":["aigo-pen"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["subject","problem","answer"],"properties":{"subject":{"type":"string","enum":["math","english","physics","chemistry","biology","history","politics","chinese"]},"problem":{"type":"object","required":["text"],"properties":{"id":{"type":"string","maxLength":64},"text":{"type":"string","minLength":1,"maxLength":4000}}},"answer":{"type":"string","minLength":1,"maxLength":2000},"engine":{"type":"string","maxLength":64}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/grade-photo":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["imageDataUrl"],"properties":{"engineId":{"type":"string","maxLength":64},"imageDataUrl":{"type":"string","minLength":64,"maxLength":12000000},"hints":{"type":"string","maxLength":400},"studentId":{"type":"string","maxLength":64},"timeoutMs":{"type":"integer","minimum":5000,"maximum":600000}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/grade-photo/stream":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["imageDataUrl"],"properties":{"engineId":{"type":"string","maxLength":64},"imageDataUrl":{"type":"string","minLength":64,"maxLength":12000000},"hints":{"type":"string","maxLength":400},"studentId":{"type":"string","maxLength":64}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/tutor/chat":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["problem","message"],"properties":{"problem":{"type":"object","required":["text"],"properties":{"id":{"type":"string","maxLength":64},"text":{"type":"string","minLength":1,"maxLength":4000},"subject":{"type":"string","maxLength":32},"student_answer":{"type":"string","maxLength":200},"correct_answer":{"type":"string","maxLength":200}}},"history":{"type":"array","maxItems":30,"items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","maxLength":4000}}}},"message":{"type":"string","minLength":1,"maxLength":2000},"model":{"type":"string","maxLength":64}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/tutor/start":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["problem"],"properties":{"engineId":{"type":"string","maxLength":64},"problem":{"type":"object","required":["text"],"properties":{"id":{"type":"string","maxLength":64},"text":{"type":"string","minLength":1,"maxLength":4000},"subject":{"type":"string","maxLength":32}}},"studentId":{"type":"string","maxLength":64},"timeoutMs":{"type":"integer","minimum":5000,"maximum":180000}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/stitch":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["frames"],"properties":{"frames":{"type":"array","minItems":2,"maxItems":60,"items":{"type":"string","minLength":32,"maxLength":6000000}},"scan_direction":{"type":"string","enum":["ltr","rtl"]},"jpeg_quality":{"type":"integer","minimum":1,"maximum":100}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/tutor/say":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["sessionId","content"],"properties":{"sessionId":{"type":"string","minLength":4,"maxLength":64},"content":{"type":"string","minLength":1,"maxLength":2000},"timeoutMs":{"type":"integer","minimum":5000,"maximum":120000}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/content/lessons":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/content/poems":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/content/listening":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/essay-grade":{"post":{"tags":["aigo-pen"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["topic","level","genre","content"],"properties":{"topic":{"type":"string","minLength":5,"maxLength":200},"level":{"type":"string","enum":["primary","middle","high"]},"genre":{"type":"string","enum":["narrative","argumentative","expository","description","practical","auto"]},"content":{"type":"string","minLength":50,"maxLength":5000},"word_count_target":{"type":"integer","minimum":1,"maximum":5000},"engine":{"type":"string","maxLength":64}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/photo-solve":{"post":{"tags":["aigo-pen"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"image_url":{"type":"string","maxLength":4096},"image_b64":{"type":"string","maxLength":4194304},"hint_subject":{"type":"string","enum":["math","english","physics","chemistry","biology","history","geography","politics","chinese","auto"]},"grade":{"type":"string","maxLength":32},"device_id":{"type":"string","maxLength":64},"member_tier":{"type":"string","enum":["standard","premium"]},"vl_auto_upgrade":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/srs/import":{"post":{"tags":["aigo-pen"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["word_list"],"properties":{"word_list":{"type":"string","enum":["cefr_a1","cefr_a2","cefr_b1","cefr_b2","hsk1","hsk2","hsk3","k12_g1_en","k12_g3_en","k12_g6_en"]},"max":{"type":"integer","minimum":1,"maximum":500}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/srs/next":{"get":{"tags":["aigo-pen"],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":50},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/srs/review":{"post":{"tags":["aigo-pen"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["card_id","grade"],"properties":{"card_id":{"type":"string","minLength":1,"maxLength":64},"grade":{"type":"integer","minimum":0,"maximum":3}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/oral-coach/start":{"post":{"tags":["aigo-pen"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["mode"],"properties":{"mode":{"type":"string","enum":["repeat","retell","dialogue"]},"topic":{"type":"string","maxLength":120},"level":{"type":"string","enum":["A1","A2","B1","B2","C1"]},"language":{"type":"string","enum":["en","zh"]},"total_turns":{"type":"integer","minimum":1,"maximum":20}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/oral-coach/turn":{"post":{"tags":["aigo-pen"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["session_id"],"properties":{"session_id":{"type":"string","minLength":1,"maxLength":64},"audio_b64":{"type":"string","minLength":1,"maxLength":8388608},"audio_format":{"type":"string","enum":["wav","mp3","m4a","webm"]},"text":{"type":"string","minLength":1,"maxLength":2000}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/oral-coach/session/{id}":{"get":{"tags":["aigo-pen"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/dictation/start":{"post":{"tags":["aigo-pen"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["source"],"properties":{"source":{"type":"string","enum":["vocab","srs_due","list"]},"word_count":{"type":"integer","minimum":1,"maximum":50},"word_list":{"type":"string","enum":["cefr_a1","cefr_a2","cefr_b1","hsk1","hsk2","hsk3"]}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/dictation/play":{"get":{"tags":["aigo-pen"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"query","name":"session_id","required":true},{"schema":{"type":"integer","minimum":0,"maximum":49},"in":"query","name":"index","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/dictation/submit":{"post":{"tags":["aigo-pen"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["session_id","answers"],"properties":{"session_id":{"type":"string","minLength":1,"maxLength":64},"answers":{"type":"array","minItems":1,"maxItems":50,"items":{"type":"object","required":["index","written"],"properties":{"index":{"type":"integer","minimum":0,"maximum":49},"written":{"type":"string","maxLength":128}}}}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/content/poems/{id}/audio":{"get":{"tags":["aigo-pen","recite"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/content/poems/{id}/recite-eval":{"post":{"tags":["aigo-pen","recite"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["audio_b64"],"properties":{"audio_b64":{"type":"string","minLength":1,"maxLength":20000000},"audio_format":{"type":"string","enum":["wav","mp3","m4a","webm"]}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/content/poems/{id}/recite-history":{"get":{"tags":["aigo-pen","recite"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/content/stories":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/content/books":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/content/voice-packs":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/content/kg/concept":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/content/dictation-source-stats":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/content/audio/{bucket}/{filename}":{"get":{"tags":["aigo-pen","audio"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":32},"in":"path","name":"bucket","required":true},{"schema":{"type":"string","minLength":1,"maxLength":128},"in":"path","name":"filename","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/chips":{"get":{"tags":["aigo-pen"],"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/admin/chips":{"get":{"tags":["aigo-pen","admin"],"responses":{"200":{"description":"Default Response"}}},"put":{"tags":["aigo-pen","admin"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["chips"],"properties":{"chips":{"type":"array","minItems":1,"maxItems":12,"items":{"type":"object","required":["id","name","vendor","model"],"properties":{"id":{"type":"string","minLength":1,"maxLength":32},"name":{"type":"string","minLength":1,"maxLength":64},"tag":{"type":"string","maxLength":64},"vendor":{"type":"string","minLength":1,"maxLength":32},"model":{"type":"string","minLength":1,"maxLength":96},"enabled":{"type":"boolean"},"is_default":{"type":"boolean"},"order":{"type":"integer","minimum":0,"maximum":99}}}}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/scan-ocr":{"post":{"tags":["aigo-pen"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["mode"],"properties":{"image_url":{"type":"string","maxLength":4096},"image_b64":{"type":"string","maxLength":4194304},"mode":{"type":"string","enum":["word","sent","para","math"]},"vendor":{"type":"string","enum":["dashscope","siliconflow","ark","zhipu","openai"]},"model":{"type":"string"},"device_id":{"type":"string","maxLength":64}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/dict-query":{"post":{"tags":["aigo-pen"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["q"],"properties":{"q":{"type":"string","minLength":1,"maxLength":64},"direction":{"type":"string","enum":["en2zh","zh2en","auto"],"default":"auto"},"allow_cloud":{"type":"boolean","default":true}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/qa-stream":{"post":{"tags":["aigo-pen"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["messages"],"properties":{"messages":{"type":"array","minItems":1},"scene":{"type":"string","enum":["math","english","science","general"],"default":"general"},"model":{"type":"string"},"max_tokens":{"type":"integer","minimum":1,"maximum":4096,"default":1024}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/oral-eval":{"post":{"tags":["aigo-pen"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["audio_b64","reference_text"],"properties":{"audio_b64":{"type":"string","minLength":1,"maxLength":8388608},"reference_text":{"type":"string","minLength":1,"maxLength":2000},"scene":{"type":"string","enum":["read_aloud","repeat","dialogue"],"default":"read_aloud"},"format":{"type":"string","enum":["mp3","wav","pcm","m4a","webm"],"default":"wav"},"language":{"type":"string","maxLength":16}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/correct/writing/markup":{"post":{"tags":["correct"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["lang","grade"],"properties":{"lang":{"type":"string","enum":["chinese","english"]},"grade":{"type":"string","enum":["primary3","primary4","primary5","primary6","junior1","junior2","junior3","senior1","senior2","senior3"]},"topic":{"type":"string"},"genre":{"type":"string","enum":["narrative","argumentative","expository","description","practical","poetry","auto"]},"imageUrl":{"type":"string"},"essayText":{"type":"string"},"mode":{"type":"string","enum":["fast","standard","deep"]},"vendorOverride":{"type":"object","properties":{"vl":{"type":"string"},"reason":{"type":"string"},"rewrite":{"type":"string"}},"additionalProperties":false}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/correct/qa/ask":{"post":{"tags":["correct"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["subject","stage"],"properties":{"subject":{"type":"string","enum":["数学","语文","英语","政治","历史","地理","物理","化学","生物","通用"]},"stage":{"type":"string","enum":["primary","junior","senior"]},"question":{"type":"string"},"imageUrl":{"type":"string"},"messages":{"type":"array","items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["system","user","assistant"]},"content":{"type":"string"}}}},"stream":{"type":"boolean"}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/correct/question/grade":{"post":{"tags":["correct"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["subject","stage"],"properties":{"subject":{"type":"string","enum":["数学","语文","英语","政治","历史","地理","物理","化学","生物"]},"stage":{"type":"string","enum":["primary","junior","senior"]},"grade":{"type":"string"},"imageUrl":{"type":"string"},"questionText":{"type":"string"},"studentAnswerText":{"type":"string"},"mode":{"type":"string","enum":["fast","standard","deep"]}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/correct/paper/grade":{"post":{"tags":["correct"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["subject","stage","imageUrl"],"properties":{"subject":{"type":"string","enum":["数学","语文","英语","政治","历史","地理","物理","化学","生物"]},"stage":{"type":"string","enum":["primary","junior","senior"]},"grade":{"type":"string"},"imageUrl":{"type":"string"},"mode":{"type":"string","enum":["fast","standard"]},"vendorOverride":{"type":"object","properties":{"vl":{"type":"string"},"reason":{"type":"string"}},"additionalProperties":false}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/capabilities":{"get":{"tags":["domains"],"responses":{"200":{"description":"Default Response"}}}},"/domains/{domain}/{action}":{"post":{"tags":["domains"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"object"},"vendor":{"type":"object","additionalProperties":{"type":"string"}},"model":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false}}},"required":true},"parameters":[{"schema":{"type":"string","enum":["record","speak","organize","memory"]},"in":"path","name":"domain","required":true},{"schema":{"type":"string","minLength":1,"maxLength":32},"in":"path","name":"action","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/infra/status":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/infra/storage/presign-put":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"bucket":{"type":"string","maxLength":64},"key":{"type":"string","maxLength":512},"expiry_sec":{"type":"integer","minimum":30,"maximum":86400}}}}}},"responses":{"200":{"description":"Default Response"}}}},"/infra/search/test":{"get":{"parameters":[{"schema":{"type":"string","maxLength":200},"in":"query","name":"q","required":false},{"schema":{"type":"string","maxLength":64},"in":"query","name":"index","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/infra/queue/test":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"stream":{"type":"string","maxLength":64},"payload":{"type":"object","additionalProperties":{"type":"string"}}}}}}},"responses":{"200":{"description":"Default Response"}}}},"/infra/queue/test/poll":{"get":{"parameters":[{"schema":{"type":"string","maxLength":64},"in":"query","name":"stream","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"count","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/dict/lookup":{"get":{"tags":["dict"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":200},"in":"query","name":"q","required":true},{"schema":{"type":"string","enum":["zh","en"]},"in":"query","name":"lang","required":false},{"schema":{"type":"string"},"in":"query","name":"sources","required":false,"description":"Comma-separated source ids"},{"schema":{"type":"number","minimum":1,"maximum":100},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/dict/suggest":{"get":{"tags":["dict"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":100},"in":"query","name":"prefix","required":true},{"schema":{"type":"number","minimum":1,"maximum":50},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/dict/jump-sources":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/system/dict/stats":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/system/dict/load":{"post":{"tags":["dict","admin"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["source"],"properties":{"source":{"type":"string","enum":["cc-cedict","wiktionary-zh","wiktionary-en","wordnet","termonline"]},"refresh":{"type":"boolean","description":"Drop existing rows before reload"},"url":{"type":"string","description":"Override default upstream URL"}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/system/stats":{"get":{"parameters":[{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"window","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"bucket","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"top","required":false},{"schema":{"type":"string"},"in":"query","name":"app","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/system/cost-summary":{"get":{"parameters":[{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"window","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"bucket","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"top","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/system/cost-bill":{"get":{"parameters":[{"schema":{"type":"string","enum":["today","week","month","30d","90d","custom"]},"in":"query","name":"period","required":false},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"in":"query","name":"to","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/system/vendor-balances":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/system/cost-app/{appId}":{"get":{"parameters":[{"schema":{"type":"string","enum":["today","week","month","30d","90d","custom"]},"in":"query","name":"period","required":false},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"in":"query","name":"to","required":false},{"schema":{"type":"string"},"in":"path","name":"appId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/system/recent":{"get":{"parameters":[{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/system/vendors":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/system/apps":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/system/apps/index":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/system/apps/{appId}/profile":{"get":{"parameters":[{"schema":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":64},"in":"path","name":"appId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/system/resources/summary":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/system/resources/list":{"get":{"parameters":[{"schema":{"type":"string","enum":["tool","prompt","knowledge","dataset","asset","content"]},"in":"query","name":"kind","required":false},{"schema":{"type":"string","enum":["education","meeting","office","export-trade","vertical","general"]},"in":"query","name":"industry","required":false},{"schema":{"type":"string","maxLength":200},"in":"query","name":"q","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"offset","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/system/resources":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/system/resources/refresh":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/system/resources/sources":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/system/resources/runs":{"get":{"parameters":[{"schema":{"type":"string","maxLength":64},"in":"query","name":"source_slug","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/system/resources/sources/{slug}/scan":{"post":{"parameters":[{"schema":{"type":"string","pattern":"^[a-z0-9_-]+$","maxLength":64},"in":"path","name":"slug","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/system/resources/scan-all":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/system/resources/proposals":{"get":{"parameters":[{"schema":{"type":"string","enum":["pending","approved","rejected"]},"in":"query","name":"status","required":false},{"schema":{"type":"string","maxLength":64},"in":"query","name":"kind","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}},"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["kind","title","rationale"],"properties":{"kind":{"type":"string","maxLength":64},"title":{"type":"string","maxLength":200},"rationale":{"type":"string","maxLength":4000},"payload":{"type":"object","additionalProperties":true},"created_by":{"type":"string","maxLength":64}}}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/system/resources/proposals/{id}/decide":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["approved","rejected"]},"decided_by":{"type":"string","maxLength":64},"note":{"type":"string","maxLength":1000}}}}},"required":true},"parameters":[{"schema":{"type":"string","maxLength":64},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/system/resources/agent/run":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"task":{"type":"string","enum":["daily_report","weekly_audit","source_health"]},"source_slug":{"type":"string","maxLength":64}}}}}},"responses":{"200":{"description":"Default Response"}}}},"/system/resources/link-health/run":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"source_slug":{"type":"string","maxLength":64}}}}}},"responses":{"200":{"description":"Default Response"}}}},"/system/resources/link-health/recent":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/system/resources/ai-tag/run":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"source_slug":{"type":"string","maxLength":64},"max_records":{"type":"number","minimum":1,"maximum":5000},"force":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response"}}}},"/system/resources/knowledge-tree":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/system/overview":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/catalog/summary":{"get":{"tags":["catalog"],"responses":{"200":{"description":"Default Response"}}}},"/catalog/list":{"get":{"tags":["catalog"],"parameters":[{"schema":{"type":"string","enum":["tool","prompt","knowledge","dataset","asset","content"]},"in":"query","name":"kind","required":false},{"schema":{"type":"string","enum":["education","meeting","office","export-trade","vertical","general"]},"in":"query","name":"industry","required":false},{"schema":{"type":"string","maxLength":200},"in":"query","name":"q","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"offset","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"limit","required":false},{"schema":{"type":"string","maxLength":512},"in":"query","name":"cursor","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/catalog/kinds":{"get":{"tags":["catalog"],"responses":{"200":{"description":"Default Response"}}}},"/catalog/industries":{"get":{"tags":["catalog"],"responses":{"200":{"description":"Default Response"}}}},"/catalog/manifest":{"get":{"tags":["catalog"],"responses":{"200":{"description":"Default Response"}}}},"/catalog/prompts/{id}/render":{"get":{"tags":["catalog"],"parameters":[{"schema":{"type":"string","maxLength":8192},"in":"query","name":"vars","required":false},{"schema":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":128},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/catalog/knowledge/search":{"post":{"tags":["catalog"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["namespace","query"],"properties":{"namespace":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":64},"query":{"type":"string","minLength":1,"maxLength":4000},"top_k":{"type":"integer","minimum":1,"maximum":50,"default":5}},"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/catalog/assets/{id}/signed-url":{"get":{"tags":["catalog"],"parameters":[{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"ttl","required":false},{"schema":{"type":"string","maxLength":256},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/catalog/assets/{id}/blob":{"get":{"tags":["catalog"],"parameters":[{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"exp","required":true},{"schema":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","maxLength":128},"in":"query","name":"sig","required":true},{"schema":{"type":"string","maxLength":256},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/catalog/datasets/{id}/sample":{"post":{"tags":["catalog"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"n":{"type":"integer","minimum":1,"maximum":500,"default":10},"seed":{"type":"string","maxLength":64}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string","maxLength":128,"pattern":"^[a-zA-Z0-9_-]+$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/catalog/content/search":{"post":{"tags":["catalog"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"q":{"type":"string","maxLength":200},"subkind":{"type":"string","maxLength":64},"owner_app":{"type":"string","maxLength":64},"limit":{"type":"integer","minimum":1,"maximum":200,"default":20}},"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response"}}}},"/resources/profiles":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/resources/profiles/{id}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/resources/integration/{id}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/resources/profiles/{id}/manifest":{"get":{"parameters":[{"schema":{"type":"string","enum":["tool","prompt","knowledge","dataset","asset","content"]},"in":"query","name":"kind","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"offset","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"limit","required":false},{"schema":{"type":"string","enum":["0","1"]},"in":"query","name":"slim","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/resources/profiles/{id}/bundle.json":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/resources/items/{rid}":{"get":{"parameters":[{"schema":{"type":"string","enum":["0","1"]},"in":"query","name":"slim","required":false},{"schema":{"type":"string"},"in":"path","name":"rid","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mcp":{"get":{"tags":["mcp"],"responses":{"200":{"description":"Default Response"}}},"post":{"tags":["mcp"],"responses":{"200":{"description":"Default Response"}}}},"/.well-known/ai-plugin.json":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/.well-known/mcp.json":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/.well-known/oauth-protected-resource":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/policies":{"get":{"responses":{"200":{"description":"Default Response"}}},"put":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["vendor"],"properties":{"app_id":{"type":["string","null"],"minLength":1,"maxLength":64},"vendor":{"type":"string","minLength":1,"maxLength":64},"capability":{"type":["string","null"],"minLength":1,"maxLength":32},"model":{"type":["string","null"],"minLength":1,"maxLength":128},"enabled":{"type":"boolean"},"rpm":{"type":["integer","null"],"minimum":0,"maximum":1000000},"daily_cny":{"type":["number","null"],"minimum":0,"maximum":1000000000},"note":{"type":["string","null"],"maxLength":1000}},"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/admin/policies/{id}":{"delete":{"parameters":[{"schema":{"type":"string","pattern":"^sp_[0-9a-f]+$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/services/{vendor}/toggle":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["enabled"],"properties":{"enabled":{"type":"boolean"},"app_id":{"type":["string","null"],"minLength":1,"maxLength":64}},"additionalProperties":false}}},"required":true},"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"vendor","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/apps":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/apps/{appId}/profile":{"get":{"parameters":[{"schema":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":64},"in":"path","name":"appId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/apps/{appId}/analytics":{"get":{"parameters":[{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"window","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"bucket","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"top","required":false},{"schema":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":64},"in":"path","name":"appId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/policies/reload":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/admin/cost-caps":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/audit":{"get":{"parameters":[{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"limit","required":false},{"schema":{"type":"string","maxLength":64},"in":"query","name":"app_id","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/admin/fallback/health":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin/system/refresh-index":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/admin/vendors/{vendor}/rotate-key":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":2048},"app_id":{"type":"string","minLength":1,"maxLength":256},"api_key":{"type":"string","minLength":1,"maxLength":1024},"api_secret":{"type":"string","minLength":1,"maxLength":1024},"ak":{"type":"string","minLength":1,"maxLength":1024},"sk":{"type":"string","minLength":1,"maxLength":1024},"ttl_sec":{"type":"integer","minimum":0,"maximum":31536000}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string","pattern":"^[a-z0-9_]+$","minLength":1,"maxLength":64},"in":"path","name":"vendor","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/analytics":{"get":{"parameters":[{"schema":{"type":"string","enum":["24h","7d","30d"]},"in":"query","name":"window","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/telemetry":{"get":{"parameters":[{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"hours","required":false},{"schema":{"type":"string","enum":["debug","info","warn","error"]},"in":"query","name":"level","required":false},{"schema":{"type":"string","maxLength":80},"in":"query","name":"event","required":false},{"schema":{"type":"string","maxLength":64},"in":"query","name":"user_id","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/pipl-purge":{"post":{"parameters":[{"schema":{"type":"string","enum":["true","false"]},"in":"query","name":"dry_run","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"grace_days","required":false},{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/audit/verify":{"get":{"parameters":[{"schema":{"type":"string","pattern":"^\\d+$"},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/admin/billing/redeem-codes":{"post":{"tags":["admin-billing"],"responses":{"200":{"description":"Default Response"}}}},"/admin/billing/redeem-codes/revoke":{"post":{"tags":["admin-billing"],"responses":{"200":{"description":"Default Response"}}}},"/admin/billing/users/{phone}":{"get":{"tags":["admin-billing"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"phone","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/billing/grant":{"post":{"tags":["admin-billing"],"responses":{"200":{"description":"Default Response"}}}},"/admin/billing/cap":{"post":{"tags":["admin-billing"],"responses":{"200":{"description":"Default Response"}}}},"/admin/billing/set-tier":{"post":{"tags":["admin-billing"],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/summary":{"get":{"tags":["admin-mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/users":{"get":{"tags":["admin-mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/users/{id}":{"get":{"tags":["admin-mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/users/{id}/analytics":{"get":{"tags":["admin-mnemocard"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/records":{"get":{"tags":["admin-mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/events":{"get":{"tags":["admin-mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/summary/cohorts":{"get":{"tags":["admin-mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/summary/funnel":{"get":{"tags":["admin-mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/summary/vendor":{"get":{"tags":["admin-mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/summary/platforms":{"get":{"tags":["admin-mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/summary/trend":{"get":{"tags":["admin-mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/summary/top-users":{"get":{"tags":["admin-mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/summary/heatmap":{"get":{"tags":["admin-mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/summary/distribution":{"get":{"tags":["admin-mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/summary/health":{"get":{"tags":["admin-mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/admin/mnemocard/summary/revenue":{"get":{"tags":["admin-mnemocard"],"responses":{"200":{"description":"Default Response"}}}},"/":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/admin":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/classroom":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/classroom/":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/classroom/app":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/classroom/student-view":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/classroom/student-view.html":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/classroom/parent-view":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/classroom/parent-view.html":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/hub-m":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/hub-m/":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/hub-m/assets/{*}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"*","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/mnemocard-admin":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/mnemocard-admin/":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/app":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/app/":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/app/index.html":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/assets/{*}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"*","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/manifest.json":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/sw.js":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/bootstrap.js":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/icons/{*}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"*","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/downloads/{*}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"*","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/alpha-pen":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/alpha-pen/":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/alpha-pen/assets/{*}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"*","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/index.html":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/sw.js":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/manifest.json":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/engineer":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/engineer/":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/engineer/index.html":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/assets/{*}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"*","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/aigo-pen/vendor/{*}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"*","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/correct":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/correct/":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/correct/index.html":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/correct/writing.html":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/correct/writing":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/correct/question.html":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/correct/question":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/correct/qa.html":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/correct/qa":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/correct/paper.html":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/correct/paper":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/correct/assets/{*}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"*","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/correct-bench/{*}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"*","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/baby-cry":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/baby-cry/":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/baby-cry/index.html":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/crawler-board":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/crawler-board/":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/crawler-board/index.html":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/mnemocard/client-event":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/healthz":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/readyz":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/version":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/openapi.json":{"get":{"responses":{"200":{"description":"Default Response"}}}}},"servers":[{"url":"/api/v1"}]}