For the complete documentation index, see llms.txt. This page is also available as Markdown.

New Quizzes Accommodations

API for setting course-level and quiz-level accommodations for students.

This API supports bulk operations to apply accommodations to multiple users at once.

An AccommodationResponse object looks like:

// Response structure for processing accommodations
{
  // Processing result message
  "message": "Accommodations processed",
  // List of successfully processed accommodations
  "successful": [{"user_id":5}],
  // List of accommodations that failed to process
  "failed": [{"user_id":6,"error":"User is not in any in-progress quiz sessions for course 3"}]
}

A CourseAccommodationRequest object looks like:

// Request format for setting course-level accommodations
{
  // Canvas user ID of the student receiving accommodations
  "user_id": 3,
  // Amount of extra time (in minutes) for quiz submission
  "extra_time": 60,
  // Apply accommodations to ongoing quiz sessions
  "apply_to_in_progress_quiz_sessions": true,
  // Removes one incorrect answer from multiple-choice questions with 4+ choices
  "reduce_choices_enabled": true
}

A QuizAccommodationRequest object looks like:

POST /api/quiz/v1/courses/:course_id/quizzes/:assignment_id/accommodations

Scope: url:POST|/api/quiz/v1/courses/:course_id/quizzes/:assignment_id/accommodations

Apply accommodations at the <b>quiz level</b> for students in a specific assignment.

<b>Request Body Format:</b> [{ "user_id": 3, "extra_time": 60, "extra_attempts": 1, "reduce_choices_enabled": true }]

<b>Responses</b>

  • <code>200 OK</code>: Accommodations were processed with some successes and failures

  • <code>401 Unauthorized</code>: User does not have permission to update accommodations

  • <code>404 Not Found</code>: The course or assignment was not found

  • <code>400 Bad Request</code>: Validation error (e.g., invalid JSON, missing user IDs)

Request Parameters:

Parameter
Type
Description

course_id

Required string

The ID of the course where the quiz is located.

assignment_id

Required integer

The ID of the assignment/quiz that needs accommodations.

user_id

Required integer

The Canvas user ID of the student receiving accommodations.

extra_time

integer

Amount of extra time in <b>minutes</b> granted for quiz submission. Allowed range: 0 to 10080 minutes (168 hours).

extra_attempts

integer

Number of times the student is allowed to re-take the quiz over the multiple-attempt limit.

reduce_choices_enabled

boolean

If 'true', removes <b>one incorrect answer</b> from multiple-choice questions with <b>4 or more options</b>.

Example Request:

Returns an AccommodationResponse object.

POST /api/quiz/v1/courses/:course_id/accommodations

Scope: url:POST|/api/quiz/v1/courses/:course_id/accommodations

Apply accommodations at the <b>course level</b> for students enrolled in a given course.

<b>Request Body Format:</b> [{ "user_id": 3, "extra_time": 60, "apply_to_in_progress_quiz_sessions": true, "reduce_choices_enabled": true }]

<b>Responses</b>

  • <code>200 OK</code>: Accommodations were processed with some successes and failures

  • <code>401 Unauthorized</code>: User does not have permission to update accommodations

  • <code>404 Not Found</code>: The course was not found

  • <code>400 Bad Request</code>: Validation error (e.g., invalid JSON, missing user IDs)

Request Parameters:

Parameter
Type
Description

course_id

Required string

The ID of the course where accommodations should be applied.

user_id

Required integer

The Canvas user ID of the student receiving accommodations.

extra_time

integer

Amount of extra time in <b>minutes</b> granted for quiz submission. Allowed range: 0 to 10080 minutes (168 hours).

apply_to_in_progress_quiz_sessions

boolean

If 'true', applies the accommodation to currently <b>in-progress</b> quiz sessions.

reduce_choices_enabled

boolean

If 'true', removes <b>one incorrect answer</b> from multiple-choice questions with <b>4 or more options</b>.

Example Request:

Returns an AccommodationResponse object.


This documentation is generated directly from the Canvas LMS source code, available on Github.

Last updated

Was this helpful?