manage:exam. A student × question answer matrix: one row per rostered student, one cell per question showing that student's own answer. Each cell carries a short display string and a status — wrong (objectively incorrect, highlighted red on screen), correct, blank (unanswered, no attempt, or the question was not on the student's shuffled subset), or ungraded (essay — no objective key). Cells align 1:1 with the questions array.{
"examId": "string",
"title": "string",
"totalParticipants": 0,
"questions": [
{
"id": "string",
"number": 0,
"type": "MULTIPLE_CHOICE"
}
],
"students": [
{
"no": 0,
"studentId": "string",
"nipd": "string",
"name": "string",
"answers": [
{
"display": "string",
"status": "correct"
}
]
}
]
}