建立課程計畫
API 版本 2026-10-affable-towhee
post https://api.getlingara.com/v1/lesson-plans
開始產生課程計畫,閣串流伊的進度。計畫一建立,started 就會講出伊的名,所以連線若斷去,會當用 GET /v1/lesson-plans/{id}/stream 重新連著。串流用 result 抑是 error 結束。對資料庫提出來的計畫干焦會送一个 result。
權限範圍 lesson_plans:write
參數
Lingara-Versionheaderstring選填- 回應這个請求所用的 API 版本。無這个的話,存取權杖會用伊的用戶端綁定的版本,無權杖的請求會用這馬的版本。猶咧開發的版本,干焦佇遮講明才用會著。毋捌的版本會回
400,代碼是api_version_unknown。GET /v1/versions會列出所有版本。
請求內容 application/json
contextstring必填source_langstring必填target_langstring必填levelinteger必填
回應
200 計畫的進度,紲落來是計畫
串流事件 text/event-stream
逐 15 秒送一條 keepalive 註解。
-
startedPlanStarted -
plan_idstring必填
-
phasePlanPhase -
phasestring必填attemptinteger必填
-
resultPlanResult 結束串流 -
planLessonPlan必填idstring必填statusPlanStatus必填titlestring | null選填source_langstring必填target_langstring必填levelinteger必填created_atstring必填completed_atstring | null選填ai_generatedboolean必填contentLessonPlanContent | null選填introductionstring | null選填learning_objectivesarray of string必填vocabularyarray of PlanWord必填wordstring必填pronunciationstring | null選填translationstring必填
setsarray of PlanSet必填numberinteger必填contextstring | null選填questionsarray of PlanQuestion必填typestring必填promptstring必填optionsarray of string | null選填answerstring必填explanationstring必填hintstring | null選填
-
errorStreamError 結束串流 -
佇 200 回應內底到。狀態行已經送出去矣,所以串流開始了後的失敗會用這个事件來報。
codestring必填messagestring必填plan_idstring | null選填
錯誤
402application/json- 一个照用量計費的用戶端的呼叫,佇伊開任何物件進前就予人拒絕矣。
spend_cap_reached:用戶端抑是伊的帳戶已經到每月的開銷上限;請佇整合頁面調懸上限。metered_billing_inactive:這个帳戶的照用量計費猶未啟用;請佇整合頁面設定,抑是更新付款方式。 410application/json- 回應這个請求所用的 API 版本已經停用。請佇
Lingara-Version送一个有支援的版本,抑是共用戶端綁去別个版本。 4XXapplication/json- 請求予人拒絕矣。
code講原因,error用文字講明。 503application/json · text/plain- 服務暫時無法度使用;請等
Retry-After內底的秒數過了閣試。維護期間,內容是純文字,毋是錯誤封包。 5XXapplication/json- 請求予人拒絕矣。
code講原因,error用文字講明。
codestring必填請求予人拒絕的原因,是一个穩定的代碼,會當用來分支處理:比如
insufficient_scope(403)、rate_limited(429),對照用量計費的用戶端閣有spend_cap_reached(402)佮metered_billing_inactive(402)。errorstring必填
範例
串流範例
event: started
data: {"plan_id":"3f1c2a9e-5b7d-4e21-9a0c-6d8e4f2b1a37"}
event: phase
data: {"phase":"selecting_vocabulary","attempt":1}
event: result
data: {"plan":{"id":"3f1c2a9e-5b7d-4e21-9a0c-6d8e4f2b1a37","status":"complete","title":"At the night market","source_lang":"en","target_lang":"zh","level":2,"created_at":"2026-09-23T10:00:00Z","completed_at":"2026-09-23T10:00:41Z","ai_generated":true,"content":{"introduction":"Order food and ask prices at a night market.","learning_objectives":["Ask how much something costs"],"vocabulary":[{"word":"多少钱","pronunciation":"duōshao qián","translation":"how much"}],"sets":[{"number":1,"questions":[{"type":"multiple_choice_word","prompt":"Which word asks for a price?","options":["多少钱","谢谢"],"answer":"多少钱","explanation":"多少钱 means how much money."}]}]}}}若是翻譯佮英文參考文件無仝,就以英文參考文件為準。