Lesson Materials
Create and manage comprehensive study materials and lesson plans through our powerful APIs. Structure your educational content with rich metadata, learning objectives, and multimedia support.
Creating a Lesson
Use the Lessons API to build structured lesson plans with objectives, content blocks, and associated materials.
const lesson = await client.lessons.create({
title: "Introduction to Photosynthesis",
subject: "biology",
grade: "9",
type: "interactive",
duration: "50min",
objectives: [
"Explain the process of photosynthesis",
"Identify the inputs and outputs",
"Describe the role of chlorophyll"
],
content: {
sections: [
{
title: "What is Photosynthesis?",
type: "text",
body: "Photosynthesis is the process by which..."
},
{
title: "Interactive Diagram",
type: "interactive",
resource_id: "res_diagram_001"
}
]
},
materials: ["textbook_ch4", "worksheet_photosynthesis"]
});Endpoints
/v1/lessonsRetrieve a paginated list of lessons with filtering support.
Query Parameters
subjectstring - Filter by subject areagradestring - Filter by grade leveltypestring - Lesson type (interactive,lecture,workshop,lab)has_materialsboolean - Only return lessons with attached materialslimitinteger - Records per page (default: 20, max: 100)offsetinteger - Records to skip
/v1/lessonsCreate a new lesson with structured content sections and learning objectives.
Request Body
titlestring requiredsubjectstring requiredgradestring requiredtypestring - Lesson formatdurationstring - Expected durationobjectivesstring[] - Learning objectivescontentobject - Structured content with sectionsmaterialsstring[] - IDs of attached materials
/v1/lessons/:idRetrieve a specific lesson with full content, materials, and metadata.
/v1/lessons/:idUpdate a lesson's content, objectives, or attached materials.
/v1/lessons/:idDelete a lesson. Associated materials are not deleted.
/v1/lessons/:id/duplicateCreate a copy of an existing lesson for reuse or modification.
Content Sections
Lessons are composed of content sections. Each section has a type that determines how it's rendered.
text Rich text content with markdown supportinteractive Embedded interactive elements (diagrams, simulations)video Video content with timestamps and chaptersquiz Inline knowledge-check questionsactivity Hands-on activities and exercises