Skip to main content
GET
Get a student action plan
Step 4 of 4 in Create action plans. Poll every 5 seconds until status is Completed.

Rules

  • answer_sheet_id is the same value you sent as ans_sheet_id to Create a student action plan.
  • You only see plans that your own API user started. Use the same API user for both calls.
  • If you started the plan more than once for this answer sheet, you get the newest one.
This endpoint returns 200 for every status, including Failed. Read data.status instead of relying on the status code.

Reading the response

A plan’s status is one of In Progress, Completed, Partial, or Failed. A student plan is a single request, so in practice it ends Completed or Failed. Partial is reserved for a teacher action plan, where some questions can succeed while others fail. Treat it as usable if you share one status handler between the two.
While the job runs, action_plan is an empty object {}. When it finishes, it becomes an array with a single plan in it. Check the type before you read action_plan[0].

What the plan contains

data.id is the action plan’s own ID, not the answer sheet ID. No endpoint takes it, so keep using the answer sheet ID.
Instead of polling, register a webhook for student_action_plan. See Async jobs and webhooks.

Create action plans

The full flow, from an evaluated exam to a plan for every student.

Authorizations

Authorization
string
header
required

Access token from Get an access token.

Path Parameters

answer_sheet_id
string<uuid>
required

The answer sheet ID from Create answer sheet. The POST call calls the same value ans_sheet_id.

Example:

"8a2f4c1e-5b3d-4e6f-9a7b-0c1d2e3f4a5b"

Response

The plan exists. It is returned with HTTP 200 for every status, including Failed.

data
object