Skip to main content
POST
Finalize lesson plan metadata
Step 2 of 4 in Build a lesson plan. This call starts an async job.

Rules

  • Call this only after Get lesson plan metadata returns status: "Completed". An earlier call returns 400 Lesson plan metadata is not finalized!.
  • Send subject_matter and learning_standards in the same shape you received them, as the two top-level keys of the body. Every key inside them is required except competencies.
  • To steer the lesson, add items to additional_recommendations or remove items you don’t want. Both lists are plain strings.
  • Whatever you send replaces what the AI generated, so send the full objects, not just your edits.
  • This step runs once per lesson plan. A second call returns 400 unless the first one failed.

Next step

Get lesson plan alignment

Poll until status is Completed, or wait for the lesson_plan_finalize_metadata webhook.

Authorizations

Authorization
string
header
required

Access token from Get an access token.

Path Parameters

lesson_plan_id
string<uuid>
required

The lesson plan id returned by Start a lesson plan.

Example:

"7d2f1b90-4c6a-4f3e-b1d7-9a5e2c8f0b34"

Body

application/json
subject_matter
object
required

What the lesson covers. Each part holds one ai_recommendations and additional_recommendations pair, under a fixed key.

learning_standards
object
required

What students should be able to do after the lesson.

Response

The job was queued. Poll Get lesson plan alignment or wait for the lesson_plan_finalize_metadata webhook.

detail
object[]