New Quizzes Accommodations
Welcome to Our New API Docs! This is the new home for all things API (previously at Canvas LMS REST API Documentation).
New Quizzes Accommodations API
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:
// Request format for setting quiz-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,
// Number of additional attempts allowed beyond the quiz limit
"extra_attempts": 1,
// Removes one incorrect answer from multiple-choice questions with 4+ choices
"reduce_choices_enabled": true
}
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 quiz level for students in a specific assignment.
Request Body Format:
[{
"user_id": 3,
"extra_time": 60,
"extra_attempts": 1,
"reduce_choices_enabled": true
}]
Responses
200 OK
: Accommodations were processed with some successes and failures401 Unauthorized
: User does not have permission to update accommodations404 Not Found
: The course or assignment was not found400 Bad Request
: Validation error (e.g., invalid JSON, missing user IDs)
Request Parameters:
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 minutes 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 one incorrect answer from multiple-choice questions with 4 or more options.
Example Request:
curl -X POST 'https://<canvas>/api/v1/courses/123/quizzes/456/accommodations' \
-H 'Authorization: Bearer <your-token>' \
-H 'Content-Type: application/json' \
--data '[
{
"user_id": 3,
"extra_time": 60,
"extra_attempts": 1,
"reduce_choices_enabled": true
}
]'
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 course level for students enrolled in a given course.
Request Body Format:
[{
"user_id": 3,
"extra_time": 60,
"apply_to_in_progress_quiz_sessions": true,
"reduce_choices_enabled": true
}]
Responses
200 OK
: Accommodations were processed with some successes and failures401 Unauthorized
: User does not have permission to update accommodations404 Not Found
: The course was not found400 Bad Request
: Validation error (e.g., invalid JSON, missing user IDs)
Request Parameters:
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 minutes 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 in-progress quiz sessions.
reduce_choices_enabled
boolean
If ‘true’, removes one incorrect answer from multiple-choice questions with 4 or more options.
Example Request:
curl -X POST 'https://<canvas>/api/v1/courses/123/accommodations' \
-H 'Authorization: Bearer <your-token>' \
-H 'Content-Type: application/json' \
--data '[
{
"user_id": 3,
"extra_time": 60,
"apply_to_in_progress_quiz_sessions": true,
"reduce_choices_enabled": true
}
]'
Returns an AccommodationResponse object.
This documentation is generated directly from the Canvas LMS source code, available on Github.
Last updated
Was this helpful?