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!
I am using the Live API to try and test Account Reports.
Specifically, the students_with_no_submissions_csv report.
I want to add the enrollment_term_id (integer, optional) optional parameter but cannot figure out how to format it in the Parameters field.
I've tried a lot different things such as this and it all returns Internal Server Error.
{"enrollment_term_id": 123}
Any help would be appreciated!
Hello @jared_flaherty,
I am not familiar with the exact parameters you may use for that report, but you probably need to put the parameters in a parameters object like shown below.
{
"parameters":{
"enrollment_term_id":123
}
}
The Account Reports API documentation also shows that you can get a list of available reports by requesting the following endpoint:
/api/v1/accounts/:account_id/reports
This would look in your browser something like yourschool.instructure.com/api/v1/accounts/1/reports
Just be sure to replace "yourschool.instructure.com" with your institution's Canvas domain.
thanks, I have tried that from the following documentation below, but still getting errors.
"title": "Students with no submissions", "parameters": { "enrollment_term_id": { "required": false, "description": "The term to report on" },
Hi @jared_flaherty,
Do you have an example of the full JSON you are sending up to the Canvas API (making sure to obfuscate any sensitive information like IDs)? There may be some additional required fields that need to be sent as well, and if those are not being sent or sent in the wrong shape, that could trigger an internal server error.
In the Live API, if there isn't a fillable field provided for attribute in which you're interested on that endpoint it's not offered as an option. I think you're grasping at straws here. What is the overall goal or desired result set in which you're interested?
I know this seems small, but going off of what has already been provided, have you tried this-- putting quotes around the term ID number?
{
"parameters":{
"enrollment_term_id":"123"
}
}
yes. I've tried all sorts of different things like that. 😞
I couldn't get anything to work in the Live API when testing, but did get this call format to work in other programs. /api/v1/accounts/1/reports/students_with_no_submissions_csv?parameters[enrollment_term_id]=123
Like some of the other community members have suggested, the Canvas LIVE API might not be the best place for you depending on your end goals. If you want to automate the creation of the report, you'll likely have to write some automation scripts using other tools. Some people use Postman to work with the API. I personally integrate the API into PowerShell scripts.
If you're just looking to run the report occasionally, this can be done easily from the account settings menu --> reports tab. Here you'll be able to specify the term from the dropdown.
thanks. this is what we have been using for the parameters for years and years:
{"enrollment_term_id":727,"start_at":"2024-10-13T00:00:00-05:00","end_at":"2024-10-14T23:59:59-05:00","include_enrollment_state":"1"}
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