Exams
List Exams
Retrieve all exams (quizzes) in a classroom or facility.GET /api/exams/exam
Query Parameters
Filter by collection (classroom) UUID
Response Fields
Exam unique identifier (UUID for published exams, integer for drafts)
Exam title
Array of question source objects defining which exercises to pull from
Random seed for question selection
Total number of questions in the exam
Whether the exam is currently active
Whether the exam is archived
UUID of the classroom/collection
UUID of the user who created the exam
ISO 8601 timestamp of creation
ISO 8601 timestamp when exam was activated
ISO 8601 timestamp when exam was archived
Whether learners see questions in a fixed order
Whether learners can see their results immediately
Whether this is a draft exam (not yet published)
Array of collection UUIDs (groups) assigned to
Array of individual learner UUIDs assigned to
Version of the exam data model
Get Exam
Retrieve details of a specific exam.GET /api/exams/exam/:id
Create Exam
Create a new exam (initially as a draft).POST /api/exams/exam
Request Parameters
Exam title
Total number of questions in the exam
Array of question source objects, each with exercise_id, number_of_questions, and title
Random seed for reproducible question selection
UUID of the classroom this exam belongs to
Whether to show questions in fixed order (default: false)
Whether learners see results immediately (default: true)
Array of collection (group) UUIDs to assign this exam to
Array of individual learner UUIDs to assign this exam to
Update Exam
Update an existing exam or draft.PATCH /api/exams/exam/:id
Common Update Operations
Activate an exam (publish from draft):Delete Exam
Delete an exam or draft.DELETE /api/exams/exam/:id
Get Exam Sizes
Calculate the total size of all resources (exercises) in exams.GET /api/exams/exam/size
Response
Returns an array of objects with exam IDs as keys and sizes in bytes as values:Question Sources
Question sources define which exercises to pull questions from. Each source object contains:UUID of the exercise content node
How many questions to include from this exercise
Title of the exercise
Question counter within the exercise
Exam Lifecycle
Exams go through several states:- Draft: Initial state when created (
draft: true). Can be edited freely. - Active: Published and available to learners (
active: true, draft: false). - Inactive: Published but not currently available (
active: false, archive: false). - Archived: Closed and marked complete (
archive: true).
active: true), it transitions from draft to published exam and receives a UUID identifier.
When an exam is archived, all associated MasteryLog records are marked as complete.
Exam Assignments
Exam assignments work the same way as lesson assignments:- assignments: Array of collection (group) UUIDs
- learner_ids: Array of individual learner UUIDs