Quizzes Submissions API returns empty list

Jump to solution
saelterman
Community Novice

I am attempting to get the results of quizzes (by question by student, because the available student analysis report isn't great for importing in our data warehouse) using the API.

This call results in a response with empty quiz_submissions and submissions properties. Both the quiz and the course ID exist; they were retrieved from prior API calls.

I am an admin for the account.

What am I overlooking? Or is there a different API that would provide me with each students quiz results by question?

https://mydomain.instructure.com/api/v1/courses/{{CourseID}}/quizzes/{{QuizID}}/submissions?include=submission

Labels (1)
1 Solution
James
Community Champion

Is there some undocumented time restriction after which submissions can no longer be retrieved?

I have not seen any limitation on the CSV report. I just went back to Fall 2012, which was our first semester with Canvas, and downloaded a Student Analysis report from then and it came through as expected.

The Quiz Submission Events API requires that you enable Quiz Logging and nothing that was taken before you enabled that will be retrievable.

I have seen limits on how much history appears in the event logs. I don't know if it's date related or volume related. I did go back to last summer and fall. The last quiz from summer, due July 19, 2017, does not have event data. My first quiz from the fall of last year, due August 31, 2017, does have event data.

We have several different tests and each test having essentially a different schema makes it very time consuming to develop an ETL process for our data warehouse.

That difficulty may be part of the reason that Canvas doesn't provide us with the student answers in Canvas Data. Or maybe they don't think there's enough demand for it?

A complete analysis of the student response data would probably involve looking at the quiz submission data as well. The questions can change from student to student. By change, I mean you can get different questions (question groups) and different wording for the same question (quiz versions). That is not contained in the CSV file, just the response and then just for certain question types. I had great difficulty in multiple response questions trying to find the answers when I just based it off the values in the CSV since their delimiter was one that I used in my responses. Looking through the available options probably would have made that easier.

You're not alone in wanting to do this. There was a feature request (or two or maybe three) where people wanted the CSV file improved, but they never reached critical mass. I think there was a group of people who have written some code to process that CSV file and merge results into something usable and I want to say they did it in R.

I suppose that one way to get the information would be to self-host and then you would have direct access to the database. I'm not recommending that, just trying to think of possibilities.

View solution in original post