The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December.
Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
Hello Canvas LMS Community,
We're currently working with the Quiz Submissions API and ran into a couple of issues that we’d love some clarification on:
When calling the endpoint to retrieve quiz submissions, the response only includes an html_url to view the submission in the Canvas UI. For our use case, we need access to more detailed data — such as individual question responses, scores per question, attempt history, etc. Ideally, we would like to retrieve this information directly via the API without relying on the HTML view.
submission_history Not DocumentedWe came across references to an include[]=submission_history parameter, which we assumed would allow us to retrieve submission details. However:
The current API documentation does not mention this parameter.
Even when we include submission_history in the request, we don’t see any additional data beyond the default response.
Is the submission_history include[] parameter still supported?
If so, what is the correct way to use it?
If not, is there another endpoint or approach we should be using to retrieve full quiz submission data via the API?
We’d appreciate any insight from the community or Canvas engineers.
Solved! Go to Solution.
Submission history is not part of the quiz submissions API, it's part of the submissions API. It is still functional. The fact that there is a submission_history parameter is documented; what it returns is not. But for classic quizzes, it returns the information about the individual responses for each question. It has been the most reliable place to get information about quiz answers. The only other place I've found it is through the Student Analysis report, which is harder to interpret programmatically.
Pick one of the options to retrieve a submission such as List assignment submissions or List submissions for multiple assignments.
Make sure you are using the assignment ID and not the quiz ID.
Depending on how you make the request, you may only get a single attempt. The API requests that do not ask for a specific student --- list assignment submissions multiple submissions using students[]=all --- only return a single attempt. If I specify a student using Get a single submission or multiple submissions and specify a student ID with students[]=xxx, then I get all attempts for that student.
Submission history is not part of the quiz submissions API, it's part of the submissions API. It is still functional. The fact that there is a submission_history parameter is documented; what it returns is not. But for classic quizzes, it returns the information about the individual responses for each question. It has been the most reliable place to get information about quiz answers. The only other place I've found it is through the Student Analysis report, which is harder to interpret programmatically.
Pick one of the options to retrieve a submission such as List assignment submissions or List submissions for multiple assignments.
Make sure you are using the assignment ID and not the quiz ID.
Depending on how you make the request, you may only get a single attempt. The API requests that do not ask for a specific student --- list assignment submissions multiple submissions using students[]=all --- only return a single attempt. If I specify a student using Get a single submission or multiple submissions and specify a student ID with students[]=xxx, then I get all attempts for that student.
Thanks so much for the detailed explanation — that really helped clarify things!
You're right — we were testing this on a practice quiz, which explains why we weren't seeing assignment_id or getting the expected submission history details. We now understand that:
The submission_history parameter is supported in the Submissions API, but not in the Quiz Submissions API, especially for practice quizzes.
Since practice quizzes aren't tied to assignments, they don't generate the kind of full submission records needed to access individual responses through the Submissions API.
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in