Lektionsplan erstellen
API-Version 2026-10-affable-towhee
Startet die Erstellung eines Lektionsplans und streamt den Fortschritt. started benennt den Plan, sobald er existiert, sodass sich eine abgebrochene Verbindung mit GET /v1/lesson-plans/{id}/stream neu verbinden kann. Der Stream endet mit result oder error. Ein Plan aus der Bibliothek kommt als einzelnes result an.
Scopes lesson_plans:write
Parameter
Lingara-Versionheaderstringoptional- Die API-Version, unter der diese Anfrage beantwortet wird. Ohne sie erhält ein Zugriffstoken die Version, an die sein Client gebunden ist, und eine Anfrage ohne Token die aktuelle Version. Die Version in Entwicklung ist nur erreichbar, indem man sie hier nennt. Eine unbekannte Version wird mit
400und dem Codeapi_version_unknownbeantwortet.GET /v1/versionslistet die Versionen auf.
Anfragetext application/json
contextstringerforderlichsource_langstringerforderlichtarget_langstringerforderlichlevelintegererforderlich
Antworten
200 Der Fortschritt des Plans, dann der Plan
Stream-Ereignisse text/event-stream
Sendet alle 15 Sekunden einen Keepalive-Kommentar.
-
startedPlanStarted -
plan_idstringerforderlich
-
phasePlanPhase -
phasestringerforderlichattemptintegererforderlich
-
resultPlanResult Beendet den Stream -
planLessonPlanerforderlichidstringerforderlichstatusPlanStatuserforderlichtitlestring | nulloptionalsource_langstringerforderlichtarget_langstringerforderlichlevelintegererforderlichcreated_atstringerforderlichcompleted_atstring | nulloptionalai_generatedbooleanerforderlichcontentLessonPlanContent | nulloptionalintroductionstring | nulloptionallearning_objectivesarray of stringerforderlichvocabularyarray of PlanWorderforderlichwordstringerforderlichpronunciationstring | nulloptionaltranslationstringerforderlich
setsarray of PlanSeterforderlichnumberintegererforderlichcontextstring | nulloptionalquestionsarray of PlanQuestionerforderlichtypestringerforderlichpromptstringerforderlichoptionsarray of string | nulloptionalanswerstringerforderlichexplanationstringerforderlichhintstring | nulloptional
-
errorStreamError Beendet den Stream -
Kommt innerhalb der 200-Antwort an. Die Statuszeile wurde bereits gesendet, daher wird ein Fehler nach dem Öffnen des Streams als dieses Ereignis gemeldet.
codestringerforderlichmessagestringerforderlichplan_idstring | nulloptional
Fehler
402application/json- Der Aufruf eines nutzungsbasiert abgerechneten Clients wurde abgelehnt, bevor er etwas verbraucht hat.
spend_cap_reached: Der Client oder sein Konto hat sein monatliches Ausgabenlimit erreicht; erhöhe das Limit auf der Seite Integrationen.metered_billing_inactive: Die Nutzungsabrechnung ist für dieses Konto nicht aktiv; richte sie ein oder aktualisiere die Zahlungsmethode auf der Seite Integrationen. 410application/json- Die API-Version, unter der diese Anfrage beantwortet wird, wurde eingestellt. Sende eine unterstützte Version in
Lingara-Versionoder binde den Client an eine andere Version. 4XXapplication/json- Die Anfrage wurde abgelehnt.
codenennt den Grund, underrorbeschreibt ihn in Worten. 503application/json · text/plain- Der Dienst ist vorübergehend nicht verfügbar; versuche es nach der in
Retry-Afterangegebenen Anzahl Sekunden erneut. Während Wartungsarbeiten ist der Body reiner Text statt des Fehlerumschlags. 5XXapplication/json- Die Anfrage wurde abgelehnt.
codenennt den Grund, underrorbeschreibt ihn in Worten.
codestringerforderlichWarum die Anfrage abgelehnt wurde, als stabiler Code, nach dem du verzweigen kannst: zum Beispiel
insufficient_scope(403),rate_limited(429) und, bei einem nutzungsbasiert abgerechneten Client,spend_cap_reached(402) undmetered_billing_inactive(402).errorstringerforderlich
Beispiel
Lieber eine Bibliothek? Siehe den Bereich Bibliotheken.
Beispiel-Stream
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."}]}]}}}Weichen eine Übersetzung und die englische Referenz voneinander ab, ist die englische Referenz maßgeblich.