Each call starts a background job. Wait until the job’s status is
Completed before the next call. The wait_for helper below does this for you.Set up
You need an access token. If you don’t have one, follow the Quickstart.While a job is starting, the API returns
404 with a step not found message. A failed job returns 400 with "status": "Failed", except Get lesson plan content which returns 200 with "status": "Failed". wait_for handles all three.Step 1: Start the lesson plan
Send the board, grade, and subject, how long the period is, and one source: a topic, up to four images, or one audio recording. The fields go in a form, not in JSON.What you get back
What you get back
additional_recommendations.Step 2: Finalize the metadata
Sendsubject_matter and learning_standards back, with any edits. You get the materials, the teaching strategies, and the six stages of the lesson with minutes for each.
What you get back
What you get back
duration values so they add up to duration_minutes, aiming to keep each stage at 5 minutes or more. The 5 minute floor is a target, not a rule the API enforces, so read the values rather than assuming a minimum.Step 3: Build the lesson content
Send the alignment back, wrapped in analignment key. Keep only the options the teacher chose. You get a script for every stage.
What you get back
What you get back
Each stage has a The stages are written in parallel, so they appear one at a time while
components list. The summative_assessment stage comes back as assessment_block.status is still In Progress.Step 4: Add enrichment blocks (optional)
Add extra sections to the finished plan, such as differentiation notes or real-life connections. Ask for all the blocks you want in one call: this step runs only once.What you get back
What you get back
The response repeats the whole lesson plan and adds
additional_blocks.Good to know
Limits
Limits
Use webhooks instead of polling
Use webhooks instead of polling
Register a webhook for each step, then fetch the result when the event arrives. See Async jobs and webhooks.
Every event fires for both outcomes, so read
status in the payload: Completed or Failed.Troubleshooting
Troubleshooting
Related
Lesson Plan API reference
Every field, response, and error.
Lesson Plan Builder features
What the product does, without the code.
How the workflow runs
The same four steps, from a teacher’s side.
List lesson plans
Show a teacher’s lesson plan history.