Skip to main content
A teacher action plan is created in two calls. The first call starts the work and returns straight away. The plan is written in the background, and the second call reads it. Everything starts from an exam whose answer sheets have been marked.
1

Evaluate the answer sheets

The papers are marked first, through exam evaluation. Marking saves the two things the plan depends on: the marks for each answer, and the feedback comments explaining what was wrong.What you need after this step: the exam ID.
2

Ask for a plan

Your platform sends the exam ID. The reply comes back immediately, with that same ID and a message confirming the plan was started. The plan is saved at once with the status In Progress.
3

The service collects the evidence

It reads every answer sheet on the exam and works out each student’s marks on each question. A question a student was allowed to skip is not held against them. From those marks it computes the class’s numbers: the averages, how the class did on each question, and which score group each student falls in.For every question where a student lost marks it gathers the answers that lost them, with the feedback recorded at marking. An answer many students wrote is counted once, which is what lets one request cover a class of any size.
4

The AI writes the plan

The AI works in two rounds. First it diagnoses each question from what students wrote, and reads the paper to name the learning outcomes it assesses. Then it writes the class overview, and what to do about each outcome and each score group, from those diagnoses and the numbers. Student IDs and names are never sent to the AI. The plan is saved and the status changes to Completed.
5

Read the plan

Your platform asks for the plan by exam ID and gets the plan, the exam name, the status, and the time it was created. If you registered the teacher_action_plan webhook, the service calls your URL with the status as soon as the work ends, so you do not have to keep checking.

What do the statuses mean?

What happens if something fails?

If part of the work fails, the plan keeps whatever was written and the status becomes Partial. If all of it fails, or the work is stopped for any reason, the status is Failed and the reason is saved with the plan. Your webhook, if you registered one and it is enabled, is called with the same status. Ask for a new plan for the same exam when the cause is fixed. Three things are checked before any work starts. An exam ID that does not belong to a real exam is rejected, and no plan is created. An exam with no answer sheets cannot produce a plan. Going over the daily limit on plan requests is rejected with 429.

Frequently asked questions

Usually one to three minutes. It depends on how many students sat the exam, how many questions lost marks, and how long the answers are. The service stops work on a plan that has not finished within 10 minutes and marks it Failed, and you can ask for a new one.
You can, but the plan only covers the answers marked so far. Wait until every answer sheet on the exam is evaluated.
Yes. Each request creates a new plan, and reading the plan returns the newest one. The older plan is no longer returned.
Yes, and they are separate requests. The teacher plan uses the exam ID and covers the whole exam. A student plan uses one answer sheet ID. Both count against the same daily limit.
Only the API user that created it. The read is matched on the user, not the account, so a second API user on the same account gets nothing back for that exam. If several of your services need the plan, create it with the same API user, or store the result on your side.
Your developers register the teacher_action_plan event once, with an HTTPS URL of yours, using the webhook API. The call your URL receives carries the exam ID, the event name, and the status. It does not carry the plan itself, so read the plan afterwards. If the event is not in the list your account can subscribe to, contact CrazyGoldFish.

Next steps

Use cases

How schools and platforms use teacher action plans.

Developer guide

Create student and teacher action plans with the API, step by step.