Register for InstructureCon25 • Passes include access to all sessions, the expo hall, entertainment and networking events, meals, and extraterrestrial encounters.
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.
To interact with Panda Bot in the Instructure Community, you need to sign up or log in:
Sign In