QuizAttempt

A request or response body; the type column links to the schemas it refers to.

QuizAttempt

FieldTypeRequiredDescription
idstring (uuid)yes—
quiz_idstring (uuid)yes—
scheduled_quiz_idstring (uuid) | nullyes

The sitting a live attempt was sat in; null on async attempts.

user_idstring (uuid)yes—
user_display_namestring | nullyes

Display name of the taker's user account, when the read joins it; else null.

attempt_numberintegeryes—
statusstringyes

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_atstring (date-time)yes—
deadline_atstring (date-time) | nullyes

When the attempt auto-submits as-is: started_at plus the time limit, capped by the sitting's close. Null when neither applies.

submitted_atstring (date-time) | nullyes—
auto_submittedbooleanyes

True when the deadline finalized the attempt rather than the taker.

question_countintegeryes—
correct_countinteger | nullyes

Questions awarded full marks; null until scored.

points_possibleintegeryes

The points of every presented question, summed when the paper was built.

points_awardedinteger | nullyes

Points earned across the paper; null until scored or while withheld.

score_percentagenumber | nullyes

points_awarded as a percentage of points_possible, to two decimals.

passedboolean | nullyes—
requires_manual_gradingbooleanyes

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_atstring (date-time) | nullyes

When a marker finalized the grading of a manually graded attempt.

results_released_atstring (date-time) | nullyes

The per-attempt release stamp; null until an administrator releases it.

results_visiblebooleanyes

Whether the caller may see this attempt's results. False nulls correct_count, points_awarded, score_percentage and passed.

jsonExample
{
  "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
}