We have relocated to Instructure Developer Documentation Portal. 🎉 Please update your bookmarks. This page will automatically redirect after July 1, 2026.
Quiz Question Groups API
API for accessing information on quiz question groups
A QuizGroup object looks like:
{
  // The ID of the question group.
  "id": 1,
  // The ID of the Quiz the question group belongs to.
  "quiz_id": 2,
  // The name of the question group.
  "name": "Fraction questions",
  // The number of questions to pick from the group to display to the student.
  "pick_count": 3,
  // The amount of points allotted to each question in the group.
  "question_points": 10,
  // The ID of the Assessment question bank to pull questions from.
  "assessment_question_bank_id": 2,
  // The order in which the question group will be retrieved and displayed.
  "position": 1
}Get a single quiz group Quizzes::QuizGroupsController#show
GET /api/v1/courses/:course_id/quizzes/:quiz_id/groups/:id
url:GET|/api/v1/courses/:course_id/quizzes/:quiz_id/groups/:id
  Returns details of the quiz group with the given id.
Returns a QuizGroup objectCreate a question group Quizzes::QuizGroupsController#create
POST /api/v1/courses/:course_id/quizzes/:quiz_id/groups
url:POST|/api/v1/courses/:course_id/quizzes/:quiz_id/groups
  Create a new question group for this quiz
201 Created response code is returned if the creation was successful.
Request Parameters:
| Parameter | Type | Description | |
|---|---|---|---|
| quiz_groups[][name] | string | The name of the question group. | |
| quiz_groups[][pick_count] | integer | The number of questions to randomly select for this group. | |
| quiz_groups[][question_points] | integer | The number of points to assign to each question in the group. | |
| quiz_groups[][assessment_question_bank_id] | integer | The id of the assessment question bank to pull questions from. | 
Example Response:
{
  "quiz_groups": [QuizGroup]
}Update a question group Quizzes::QuizGroupsController#update
PUT /api/v1/courses/:course_id/quizzes/:quiz_id/groups/:id
url:PUT|/api/v1/courses/:course_id/quizzes/:quiz_id/groups/:id
  Update a question group
Request Parameters:
| Parameter | Type | Description | |
|---|---|---|---|
| quiz_groups[][name] | string | The name of the question group. | |
| quiz_groups[][pick_count] | integer | The number of questions to randomly select for this group. | |
| quiz_groups[][question_points] | integer | The number of points to assign to each question in the group. | 
Example Response:
{
  "quiz_groups": [QuizGroup]
}Delete a question group Quizzes::QuizGroupsController#destroy
DELETE /api/v1/courses/:course_id/quizzes/:quiz_id/groups/:id
url:DELETE|/api/v1/courses/:course_id/quizzes/:quiz_id/groups/:id
  Delete a question group
<b>204 No Content<b> response code is returned if the deletion was successful.
Reorder question groups Quizzes::QuizGroupsController#reorder
POST /api/v1/courses/:course_id/quizzes/:quiz_id/groups/:id/reorder
url:POST|/api/v1/courses/:course_id/quizzes/:quiz_id/groups/:id/reorder
  Change the order of the quiz questions within the group
<b>204 No Content<b> response code is returned if the reorder was successful.
Request Parameters:
| Parameter | Type | Description | |
|---|---|---|---|
| order[][id] | Required | integer | The associated item’s unique identifier | 
| order[][type] | string | The type of item is always ‘question’ for a group 
          Allowed values:  |