Payload Example : course_completed

Document created by Oxana Jurosevic Administrator on Oct 18, 2018Last modified by Erin Hallmark on Nov 25, 2019
Version 4Show Document
  • View in full screen mode

Back to :  Event Type by Format

This event will be emitted only when ALL Canvas course modules are completed. 
The requirement_count is a count of all the requirements in the course as a number, and the requirement_completed_count is the count of those requirements that are done. E.g. 7 total, 5 completed. The next_requirement_url is a link to the module item that is next in the order of requirements to complete ( ALWAYS WILL BE  EQUAL TO NIL for this event) 
The event gets triggered when a ContextModuleProgression updates its “completed_at” attribute and the CourseProgress generated for the course returns that the course is completed. The case for this happening would be whenever a module completion time is set or updated at or after all the requirements of the entire course have been completed.
Optimally, this would mean this would trigger just once when all the requirements for the course are completed, but theoretically if a module’s completion time updated after the course was already completed, this would trigger again.


"metadata" :{
"job_id" : "1090017231439905",
"job_tag" :"ContextModuleProgression#evaluate!",
"producer" :"canvas",
"root_account_id" :"260000000111111111",
"root_account_uuid" :"tXm2ckBmgwurxttsdxTIHiCQ1ZlSGTwkyWGHFD",
"root_account_lti_guid" :"tXm2ckBmgwurxttsdxTIHiCQ1ZlSGTwkyGHTRDT76",
"event_name" :"course_completed",
"event_time" : "2018-10-18T20:50:36Z"
"body" : {
"progress" :{
"requirement_count" : 99,
"requirement_completed_count" : 99,
"next_requirement_url" : nil, // this will never be populated with anything but NIL for this event
"completed_at" :"2018-10-18T20:50:35Z"
"user" : {
"id" :"1234567",
"name" :"Test User",
"email" :""
"course" : {
"id" : "123456",
"name" : "Computer Science I "


Back to : Event Type by Format

1 person found this helpful