Steps 1 and 2 run once per exam. Steps 3 and 4 run once per student.
Each call starts a background job. Wait until the job has finished before you show the plan. 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. You also need an exam whose answer sheets are evaluated. Action plans are built from the marks of each evaluated answer sheet, and from the answers that lost marks together with the feedback the evaluation left on them. See Get scores for review.
That is why the helper above treats
Partial as done. Both kinds of plan can report it.
Step 1: Start the teacher action plan
Send the exam’s UUID. The job reads every answer sheet in the exam, whatever the class size, and writes four things: a class overview, one action per question the class lost marks on, the learning outcomes the paper assesses, and what each score group of students needs. It usually takes one to three minutes.What you get back
What you get back
id is the exam ID you sent, not a new job ID. Keep using the exam ID.Step 2: Get the teacher action plan
Poll the same exam ID until the job finishes.What you get back
What you get back
action_plan entry per question the class lost marks on, and one student_groups entry per score group that has students. See Get a teacher action plan for every field.While the job runs, action_plan, learning_outcomes and student_groups are empty lists and overview is an empty object. action_type is Reinforcement, Remediation, or Extension.Step 3: Start a student action plan
One call covers one student, so loop over the exam’s answer sheets. Get their IDs from List answer sheets.Step 4: Get the student action plans
Poll each answer sheet ID. The plan comes back as an array with one item in it.What you get back
What you get back
data.id is the plan’s own ID. No endpoint takes it, so keep using the answer sheet ID.Good to know
Limits
Limits
Use webhooks instead of polling
Use webhooks instead of polling
Register a webhook for each event, then fetch the plan when the event arrives. See Async jobs and webhooks.
Both events are sent for
Completed, Partial, and Failed, and only to an enabled webhook of the API user who started the plan. They carry an X-Webhook-Signature header you can verify. See Verify the signature.Troubleshooting
Troubleshooting
Related
Action Plans API reference
Every field, response, and error.
Evaluate an exam
Create the exam and evaluate the answer sheets first.
Teacher Action Plan
What teachers see, without the code.
Student Action Plan
What students see, without the code.