SIS Import via API not respecting "Completed" status

Jump to solution
Community Contributor

Some weird things just started happening yesterday with our SIS update via API. See below for a copy of what we sent to Tier 1.

Anyone else seeing this?

"I believe there is a problem with the API upload of our SIS CSVs

For the past 5+ years, our daily CSVs have used the status "completed" to designate student withdraws. This has worked great because it hides them in the gradebook and roster but maintains their data on the back end.

This week it seems like CSVs uploaded via the API aren't recognizing "completed" and reverting them to active.

I have several feed files that have been uploaded with that status and when I pull a provisioning report to check to see that it was worked, those same enrollments have an active status.

What is weirder is that when I take that same enrollment CSV and upload it through the SIS Imports tab on the front-end (not upload via API) those that are marked "completed" behave as expected. They are removed from view and you can see them under "past enrollments".

However, the next scheduled feed that runs via the API with those statuses as "completed" reverts them back to active.

As far as I can see this just started happening yesterday.

Also, for what it's worth, when I download a complete provisioning report for every past term... I don't see any "completed" statuses from past terms. This is a big problem because we have several processes that depend on us being able to tell the difference between a student dropping a class ("deleted") and a student withdrawal ("completed")."


Labels (1)
1 Solution

Hi @bmerkel 

I definitely see the confusion in the wording for those two sets of documentation.

If you look specifically at the API documentation for updating enrollments (rather than csv), you will see that it references the status of "conclude" rather than a state of completed which would work with a csv upload. -

I singled out that info in the attached screenshot, I hope that is helpful in explaining the difference. For a more technical understanding I recommend continuing to work with Canvas Support as you mentioned you had submitted a request.

View solution in original post