Skip to main content
POST
Create Lesson Plan

Authorizations

Authorization
string
header
required

Org API key as Token token=ei_live_...

Headers

Idempotency-Key
string | null

Body

application/json

POST /v1/lesson-plans → lesson_plans. Server sets created_by (the key's creator) + timestamps. The referenced classroom/group/student must belong to the org.

scope
string
required

classroom | group | student

title
string
required
Minimum string length: 1
classroom_id
string | null
group_id
string | null
student_id
string | null
session_id
string | null
math_level_id
string | null
curriculum_level_ids
string[]
status
string
default:draft

draft | ready | delivered

plan_data
PlanData · object

Free-form lesson-plan body (learning_objectives, lesson_hook, activities, worked_examples, exit_ticket, notes, …). Arbitrary keys are preserved. Shared by the read + write lesson-plan models so the OpenAPI has a single PlanData component — SDK generators choke on duplicate inline object schemas.

scheduled_for
string | null

Response

Successful Response

id
string
required
created_by
string | null
scope
string | null
classroom_id
string | null
group_id
string | null
student_id
string | null
session_id
string | null
math_level_id
string | null
curriculum_level_ids
string[]
title
string | null
status
string | null
plan_data
PlanData · object

Free-form lesson-plan body (learning_objectives, lesson_hook, activities, worked_examples, exit_ticket, notes, …). Arbitrary keys are preserved. Shared by the read + write lesson-plan models so the OpenAPI has a single PlanData component — SDK generators choke on duplicate inline object schemas.

scheduled_for
string | null
created_at
string | null
updated_at
string | null