Skip to main content
POST
Create a teacher action plan
Step 1 of 4 in Create action plans. This call starts a background job and returns the exam_id you sent.

Rules

  • Evaluate the exam first. The plan is built from the marks of every evaluated answer sheet, and from the answers that lost marks together with the feedback the evaluation left on them. See Get scores for review.
  • exam_id is the exam’s UUID from the Exam Evaluation API. Send it as JSON: {"exam_id": "..."}.
  • The exam must have at least one answer sheet. Without one the call returns 400 No answer sheets found for the given exam.
  • The plan covers the whole class in one call, whatever the class size. Answers are grouped by question, so a question several students got wrong produces one action with all of their student IDs.
  • A question a student was allowed to skip is not held against them. That covers an either/or alternative inside a question, and a section that says “answer any 8 of 12”.
  • The plan is written in the language of the question paper. A Hindi paper gets a plan in Hindi.
  • You can call it again for the same exam. Each call creates a new plan, and the GET call returns the newest one.
Add and evaluate answer sheets before you call.
A teacher plan usually takes one to three minutes. A longer paper or a larger class takes longer, so poll, or wait for the webhook, instead of holding a request open.

Statuses the job ends in

Read these from Get a teacher action plan.
If no student lost marks anywhere in the exam, there is nothing to act on. The job finishes with status: "Completed", an empty action_plan, and an overview that holds only the class’s marks.

Next step

Get a teacher action plan

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

Authorizations

Authorization
string
header
required

Access token from Get an access token.

Body

application/json
exam_id
string<uuid>
required

The exam to analyze. Use the exam unique_id from the Exam Evaluation API.

Response

The job is queued. id is the exam_id you sent, not a new ID.

detail
object[]