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.

javascript
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

GET /v1/lessons

Retrieve a paginated list of lessons with filtering support.

Query Parameters

  • subject string - Filter by subject area
  • grade string - Filter by grade level
  • type string - Lesson type (interactive, lecture, workshop, lab)
  • has_materials boolean - Only return lessons with attached materials
  • limit integer - Records per page (default: 20, max: 100)
  • offset integer - Records to skip
POST /v1/lessons

Create a new lesson with structured content sections and learning objectives.

Request Body

  • title string required
  • subject string required
  • grade string required
  • type string - Lesson format
  • duration string - Expected duration
  • objectives string[] - Learning objectives
  • content object - Structured content with sections
  • materials string[] - IDs of attached materials
GET /v1/lessons/:id

Retrieve a specific lesson with full content, materials, and metadata.

PUT /v1/lessons/:id

Update a lesson's content, objectives, or attached materials.

DELETE /v1/lessons/:id

Delete a lesson. Associated materials are not deleted.

POST /v1/lessons/:id/duplicate

Create 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 support
interactive Embedded interactive elements (diagrams, simulations)
video Video content with timestamps and chapters
quiz Inline knowledge-check questions
activity Hands-on activities and exercises