QuizAttemptReview
A request or response body; the type column links to the schemas it refers to.
QuizAttemptReview
| Field | Type | Required | Description |
|---|---|---|---|
| id | string (uuid) | yes | — |
| quiz_id | string (uuid) | yes | — |
| scheduled_quiz_id | string (uuid) | null | yes | The sitting a live attempt was sat in; null on async attempts. |
| user_id | string (uuid) | yes | — |
| user_display_name | string | null | yes | Display name of the taker's user account, when the read joins it; else null. |
| attempt_number | integer | yes | — |
| status | string | yes | in_progress while being sat; pending_grading once submitted with a manually graded question still to be marked or finalized; submitted once scored. one of "in_progress" | "pending_grading" | "submitted" |
| started_at | string (date-time) | yes | — |
| deadline_at | string (date-time) | null | yes | When the attempt auto-submits as-is: started_at plus the time limit, capped by the sitting's close. Null when neither applies. |
| submitted_at | string (date-time) | null | yes | — |
| auto_submitted | boolean | yes | True when the deadline finalized the attempt rather than the taker. |
| question_count | integer | yes | — |
| correct_count | integer | null | yes | Questions awarded full marks; null until scored. |
| points_possible | integer | yes | The points of every presented question, summed when the paper was built. |
| points_awarded | integer | null | yes | Points earned across the paper; null until scored or while withheld. |
| score_percentage | number | null | yes | points_awarded as a percentage of points_possible, to two decimals. |
| passed | boolean | null | yes | — |
| requires_manual_grading | boolean | yes | Whether the paper holds a manually graded question: such an attempt waits in pending_grading for a marker, and its results reach the taker only once released. |
| finalized_at | string (date-time) | null | yes | When a marker finalized the grading of a manually graded attempt. |
| results_released_at | string (date-time) | null | yes | The per-attempt release stamp; null until an administrator releases it. |
| results_visible | boolean | yes | Whether the caller may see this attempt's results. False nulls correct_count, points_awarded, score_percentage and passed. |
| questions | array of QuizReviewQuestion | yes | — |
{
"id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"quiz_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"scheduled_quiz_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"user_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"user_display_name": "string",
"attempt_number": 0,
"status": "in_progress",
"started_at": "2026-01-01T00:00:00.000Z",
"deadline_at": "2026-01-01T00:00:00.000Z",
"submitted_at": "2026-01-01T00:00:00.000Z",
"auto_submitted": true,
"question_count": 0,
"correct_count": 0,
"points_possible": 0,
"points_awarded": 0,
"score_percentage": 0,
"passed": true,
"requires_manual_grading": true,
"finalized_at": "2026-01-01T00:00:00.000Z",
"results_released_at": "2026-01-01T00:00:00.000Z",
"results_visible": true,
"questions": [
{
"question_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"position": 0,
"kind": "true_false",
"prompt": "string",
"prompt_format": "plaintext",
"prompt_pdf_file_name": "string",
"prompt_pdf_prefer_inline_display": true,
"explanation": "string",
"correct_boolean": true,
"correct_number": 0,
"tolerance": 0,
"options": [
{
"id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"label": "string",
"is_correct": true,
"match_label": "string",
"blank_index": 0
}
],
"drawing_starting_image": "data:image/png;base64,iVBORw0KGgo…",
"response_boolean": true,
"selected_option_ids": [
"1b671a64-40d5-491e-99b0-da01ff1f3341"
],
"response_text": "string",
"response_number": 0,
"response_matches": [
{
"option_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
"match_option_id": "1b671a64-40d5-491e-99b0-da01ff1f3341"
}
],
"response_blanks": [
"string"
],
"response_drawing": "string",
"answered_at": "2026-01-01T00:00:00.000Z",
"is_correct": true,
"points_possible": 0,
"points_awarded": 0,
"manually_graded": true,
"auto_result": true,
"rubric_markdown": "- 2 points: names both hazards\n- 1 point: names one\n- 0: neither",
"feedback_markdown": "string",
"graded_at": "2026-01-01T00:00:00.000Z"
}
]
}