GET - Student Action Plan
This API allows authenticated clients to retrieve the student-specific action plan associated with a given answer sheet.
How to Use:
- Call
GET /action-plan/v1/k12/student/{answer_sheet_id}with a validanswer_sheet_id(UUID) as a path parameter. - The API validates the UUID format and ensures the answer sheet exists.
- If a corresponding action plan exists, the system returns detailed information including student details, creation timestamp, and the action plan data.
- If the ID is invalid or the action plan is not found, a descriptive error is returned.
Example Scenario:
A teacher wants to view a personalized action plan for a student:
- They send a GET request with the
answer_sheet_idof the student’s answer sheet. - The API validates the ID and checks for an associated action plan.
- If found, the system returns the student’s information and the generated action plan for further review.
GET
/
action-plan
/
v1
/
k12
/
student
/
{answer_sheet_id}
Retrieve Student Action Plan
curl --request GET \
--url https://api-staging.crazygoldfish.com/action-plan/v1/k12/student/{answer_sheet_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-staging.crazygoldfish.com/action-plan/v1/k12/student/{answer_sheet_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-staging.crazygoldfish.com/action-plan/v1/k12/student/{answer_sheet_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-staging.crazygoldfish.com/action-plan/v1/k12/student/{answer_sheet_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-staging.crazygoldfish.com/action-plan/v1/k12/student/{answer_sheet_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-staging.crazygoldfish.com/action-plan/v1/k12/student/{answer_sheet_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-staging.crazygoldfish.com/action-plan/v1/k12/student/{answer_sheet_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"answer_sheet_id": "c0f312dc-4613-400b-9092-1eb65bda7ae7",
"status": "Completed",
"student_id": "7",
"student_name": "Govardhani",
"created_at": "2025-09-18T04:32:06.820172",
"action_plan": [
{
"action": "Focus on clarifying fundamental concepts and completing answers fully by reviewing key properties and definitions in chemistry, especially on mixtures, atomic structure, and nomenclature.",
"questions": [
{
"action": "Review the properties and separation techniques for both suspensions and colloids. Practice identifying all correct options in multiple-answer questions to avoid partial credit loss.",
"action_type": "Remediation",
"question_number": "Q5"
},
{
"action": "Revisit the characteristics of mixtures and their behavior over time, particularly focusing on light scattering. Use examples to differentiate mixtures P and Q clearly.",
"action_type": "Remediation",
"question_number": "Q7"
},
{
"action": "Study the relation between statements and their explanations carefully. Understand why some explanations correctly justify the statements to choose the best matching option.",
"action_type": "Remediation",
"question_number": "Q14"
},
{
"action": "Learn the key indicators for confirming pure water, specifically boiling and freezing points, rather than relying on indirect signs such as water vapors.",
"action_type": "Remediation",
"question_number": "Q16"
},
{
"action": "Ensure to include all required elements in your answer. Memorize the Latin-derived names of elements such as both Sodium and Potassium to maximize marks.",
"action_type": "Remediation",
"question_number": "Q17"
},
{
"action": "Review definitions of phase changes, distinguishing clearly between sublimation and vaporisation to apply the correct term.",
"action_type": "Remediation",
"question_number": "Q19"
},
{
"action": "Study the physical properties and common forms of non-metals like iodine and the correct names of their antiseptic solutions. Also, review definitions and examples of colloids such as emulsions and foams.",
"action_type": "Remediation",
"question_number": "Q20"
},
{
"action": "Focus on the fundamental differences between atoms and ions, particularly highlighting charge. Also, review correct examples of polyatomic ions and chemical nomenclature rules.",
"action_type": "Remediation",
"question_number": "Q21"
},
{
"action": "Understand that neutral atoms have zero charge and ions have positive or negative charges. Correctly state atomic neutrality when describing atoms.",
"action_type": "Remediation",
"question_number": "Q22"
},
{
"action": "Interpret experimental results precisely, paying attention to ratios and frequencies. Avoid repetition and ensure clear explanation of atomic structure concepts based on experimental evidence.",
"action_type": "Remediation",
"question_number": "Q23"
},
{
"action": "Clarify the definition of valency as combining capacity without unnecessary details. Focus answers specifically on the question asked, avoiding irrelevant information.",
"action_type": "Remediation",
"question_number": "Q26"
}
],
"skill_focus": "Concept Understanding and Application",
"overall_insight": "The student demonstrates some grasp of core concepts such as properties of mixtures and atomic structure but often misses additional components needed for full understanding. Common challenges include incomplete answers, confusion between related terms (e.g., sublimation vs vaporisation), and inaccuracies in chemical nomenclature and ion charges. The student benefits from reviewing fundamental definitions and paying close attention to all parts of multi-answer questions.",
"overall_action_type": "Remediation",
"confidence_booster_tip": "Remember that making mistakes is a natural part of learning. Take your time to understand each concept clearly, and don't hesitate to review topics multiple times to build confidence."
}
]
}
}{
"detail": {
"loc": "path.answer_sheet_id",
"msg": "Input should be a valid UUID, invalid group length in group 4: expected 12, found 11",
"input_value": "654387a0-c412-477a-9126-4ee12d25e4d",
"ctx": {}
}
}{
"detail": {
"loc": "<string>",
"msg": "<string>",
"input_value": "<string>"
}
}{
"detail": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Unique identifier of the student's answer sheet.
Response
Successful response containing the full student action plan.
Show child attributes
Show child attributes
Was this page helpful?
⌘I
Retrieve Student Action Plan
curl --request GET \
--url https://api-staging.crazygoldfish.com/action-plan/v1/k12/student/{answer_sheet_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-staging.crazygoldfish.com/action-plan/v1/k12/student/{answer_sheet_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-staging.crazygoldfish.com/action-plan/v1/k12/student/{answer_sheet_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-staging.crazygoldfish.com/action-plan/v1/k12/student/{answer_sheet_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-staging.crazygoldfish.com/action-plan/v1/k12/student/{answer_sheet_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-staging.crazygoldfish.com/action-plan/v1/k12/student/{answer_sheet_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-staging.crazygoldfish.com/action-plan/v1/k12/student/{answer_sheet_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"answer_sheet_id": "c0f312dc-4613-400b-9092-1eb65bda7ae7",
"status": "Completed",
"student_id": "7",
"student_name": "Govardhani",
"created_at": "2025-09-18T04:32:06.820172",
"action_plan": [
{
"action": "Focus on clarifying fundamental concepts and completing answers fully by reviewing key properties and definitions in chemistry, especially on mixtures, atomic structure, and nomenclature.",
"questions": [
{
"action": "Review the properties and separation techniques for both suspensions and colloids. Practice identifying all correct options in multiple-answer questions to avoid partial credit loss.",
"action_type": "Remediation",
"question_number": "Q5"
},
{
"action": "Revisit the characteristics of mixtures and their behavior over time, particularly focusing on light scattering. Use examples to differentiate mixtures P and Q clearly.",
"action_type": "Remediation",
"question_number": "Q7"
},
{
"action": "Study the relation between statements and their explanations carefully. Understand why some explanations correctly justify the statements to choose the best matching option.",
"action_type": "Remediation",
"question_number": "Q14"
},
{
"action": "Learn the key indicators for confirming pure water, specifically boiling and freezing points, rather than relying on indirect signs such as water vapors.",
"action_type": "Remediation",
"question_number": "Q16"
},
{
"action": "Ensure to include all required elements in your answer. Memorize the Latin-derived names of elements such as both Sodium and Potassium to maximize marks.",
"action_type": "Remediation",
"question_number": "Q17"
},
{
"action": "Review definitions of phase changes, distinguishing clearly between sublimation and vaporisation to apply the correct term.",
"action_type": "Remediation",
"question_number": "Q19"
},
{
"action": "Study the physical properties and common forms of non-metals like iodine and the correct names of their antiseptic solutions. Also, review definitions and examples of colloids such as emulsions and foams.",
"action_type": "Remediation",
"question_number": "Q20"
},
{
"action": "Focus on the fundamental differences between atoms and ions, particularly highlighting charge. Also, review correct examples of polyatomic ions and chemical nomenclature rules.",
"action_type": "Remediation",
"question_number": "Q21"
},
{
"action": "Understand that neutral atoms have zero charge and ions have positive or negative charges. Correctly state atomic neutrality when describing atoms.",
"action_type": "Remediation",
"question_number": "Q22"
},
{
"action": "Interpret experimental results precisely, paying attention to ratios and frequencies. Avoid repetition and ensure clear explanation of atomic structure concepts based on experimental evidence.",
"action_type": "Remediation",
"question_number": "Q23"
},
{
"action": "Clarify the definition of valency as combining capacity without unnecessary details. Focus answers specifically on the question asked, avoiding irrelevant information.",
"action_type": "Remediation",
"question_number": "Q26"
}
],
"skill_focus": "Concept Understanding and Application",
"overall_insight": "The student demonstrates some grasp of core concepts such as properties of mixtures and atomic structure but often misses additional components needed for full understanding. Common challenges include incomplete answers, confusion between related terms (e.g., sublimation vs vaporisation), and inaccuracies in chemical nomenclature and ion charges. The student benefits from reviewing fundamental definitions and paying close attention to all parts of multi-answer questions.",
"overall_action_type": "Remediation",
"confidence_booster_tip": "Remember that making mistakes is a natural part of learning. Take your time to understand each concept clearly, and don't hesitate to review topics multiple times to build confidence."
}
]
}
}{
"detail": {
"loc": "path.answer_sheet_id",
"msg": "Input should be a valid UUID, invalid group length in group 4: expected 12, found 11",
"input_value": "654387a0-c412-477a-9126-4ee12d25e4d",
"ctx": {}
}
}{
"detail": {
"loc": "<string>",
"msg": "<string>",
"input_value": "<string>"
}
}{
"detail": "<string>"
}