adapt_lesson
ChatGPTCreate a new draft adapted from an owned or Explore lesson for a new level/language/age. Then call generate_lesson.
copy_explore_lesson
ChatGPTCopy a published Explore lesson into the teacher's library (uses coins).
create_lesson_draft
ChatGPTCreate a Lesso lesson draft from a teaching brief (or curriculum topic). Returns workspace URL and planned blocks. Does not generate full content — call generate_lesson next.
create_lesson_from_news
ChatGPTFetch a news article URL and create a lesson draft seeded from it. Then generate_lesson.
create_lesson_from_reel
ChatGPTTranscribe an Instagram Reel or TikTok (credits) and create a lesson draft. If pending, wait and call again with the same URL.
create_talk_room
ChatGPTCreate a Teacher Talk conversation room from a brief, or AI-teacher room (teaching_phrase, uses credits). Optionally anchor with curriculumTopicId.
create_talk_room_from_lesson
ChatGPTInvent a conversation or AI-teacher room grounded in an existing lesson.
create_talk_room_from_news
ChatGPTCreate a discussion speaking room seeded from a news article URL.
generate_lesson
ChatGPTStart AI generation for a draft lesson (uses credits). Then call get_generation_status once with waitSeconds=60. Do not poll in a loop.
get_credits_balance
ChatGPTReturn the teacher's effective Lesso coin balance (and org pool if applicable). Call before generate_lesson or AI-teacher creates.
get_curriculum_topic
ChatGPTFetch one curriculum topic by id for lesson/Talk anchoring.
get_generation_status
ChatGPTCheck or briefly wait for generate_lesson. Prefer one call with waitSeconds=60 (hard max). Never poll infinitely.
get_lesson
ChatGPTInspect one lesson: status, contentReady, blocks. Use before publish_lesson — do not open the teacher editor.
get_org_context
ChatGPTWhich organization the teacher is in, role, seat credits, and owner pool.
get_recent_credit_spend
ChatGPTRecent credit spend transactions for the teacher.
invite_students_to_lesson
ChatGPTInvite students by email to a published lesson (sets invite visibility and emails them).
invite_students_to_talk_room
ChatGPTInvite students by email to a Talk room (publishes as invite_only and emails them).
list_curriculum_topics
ChatGPTList catalog curriculum topics for a language/level to plan lessons or Talk rooms.
list_lesson_students
ChatGPTRead-only: students who opened a lesson with progress percent and status.
list_lessons
ChatGPTList the teacher's lessons with status, contentReady, and URLs.
list_talk_room_students
ChatGPTRead-only: participants and completion status for a Talk room.
list_talk_rooms
ChatGPTList the teacher's Talk rooms with publish state and URLs.
publish_lesson
ChatGPTPublish when contentReady is true (via get_lesson) and return the student share URL.
publish_talk_room
ChatGPTPublish a Talk room and return the student share URL.
regenerate_block
ChatGPTRegenerate a single block (uses credits / free regen quota). Returns jobId — then get_generation_status.
search_explore
ChatGPTSearch community Explore lessons by topic, level, or language.
unpublish_lesson
ChatGPTUnpublish so the public share link stops working.
unpublish_talk_room
ChatGPTUnpublish a Talk room (share link stops working for new joins).
update_lesson
ChatGPTUpdate a lesson's title and/or description after the first draft.