Get a lesson plan
API version 2026-10-affable-towhee
get https://api.getlingara.com/v1/lesson-plans/{id}
Returns a lesson plan you own. A plan that is still generating has no content yet.
Scopes lesson_plans:read
Parameters
Lingara-Versionheaderstringoptional- The API version to answer this request under. Without it, an access token gets the version its client is pinned to, and a request with no token gets the current version. The version still in development is reached only by naming it here. An unknown version answers
400with codeapi_version_unknown.GET /v1/versionslists the versions. idpathstringrequired
Responses
200 The lesson plan
idstringrequiredstatusPlanStatusrequiredtitlestring | nulloptionalsource_langstringrequiredtarget_langstringrequiredlevelintegerrequiredcreated_atstringrequiredcompleted_atstring | nulloptionalai_generatedbooleanrequiredcontentLessonPlanContent | nulloptionalintroductionstring | nulloptionallearning_objectivesarray of stringrequiredvocabularyarray of PlanWordrequiredwordstringrequiredpronunciationstring | nulloptionaltranslationstringrequired
setsarray of PlanSetrequirednumberintegerrequiredcontextstring | nulloptionalquestionsarray of PlanQuestionrequiredtypestringrequiredpromptstringrequiredoptionsarray of string | nulloptionalanswerstringrequiredexplanationstringrequiredhintstring | nulloptional
Errors
410application/json- The API version this request is answered under has been discontinued. Send a supported version in
Lingara-Version, or re-pin the client. 4XXapplication/json- The request was refused.
codesays why, anderrorsays it in words. 503application/json · text/plain- The service is temporarily unavailable; retry after the number of seconds in
Retry-After. During maintenance the body is plain text rather than the error envelope. 5XXapplication/json- The request was refused.
codesays why, anderrorsays it in words.
codestringrequiredWhy the request was refused, as a stable code to branch on: for example
insufficient_scope(403),rate_limited(429) and, for a metered client,spend_cap_reached(402) andmetered_billing_inactive(402).errorstringrequired