AnsweredAssumed Answered

Attempting to Query Blackboard data via REST API

Question asked by sb0070287 on Jan 7, 2018

We are trying to determine the completion status for all students of a particular course.

There are around 40,000 students enrolled in the course and we want to update the status of the student in another system when they have completed.


When querying the API GET method “/learn/api/public/v1/courses/{courseId}/gradebook/columns/{columnId}/users” we found that

we were limited to returning 100 students

returning those 100 students took about 4 minutes per call and often failed due to timeout

Also, there is no ability to filter on completion status or for changes within a time window.

  We abandoned this approach as it would take more than a day to just query all the student results



We then looked at using the telemetry activity data to identify changes but apparently this no longer works in our current version.


So we have reverted to sourcing the list of students from another system and then querying each individual student enrolled in the course,

via the GET method “/learn/api/public/v1/users” then calling “/learn/api/public/v1/courses/{courseId}/gradebook/columns/{columnId}/users/{userid}”

We first found we were limited to 10 K calls in our dev environment

And now find that we are asking too much of the database.


Is there another alternative approach/API, which works efficiently in scenarios like this?


Thanks for your help.