Grade Passback Endpoint Configurations

The Instructure OneRoster grade passback (GPB) integration supports either the Standard or Modified GPB endpoint configurations. Because it more strictly follows the OneRoster endpoint configuration specifications, the Standard GPB configuration is recommended.

Additionally, to improve performance, include a Performance endpoint in your GPB configuration.

Learn more about OneRoster gradebook endpoint compliance.

Note: Instructure is a OneRoster Consumer. For OneRoster Consumer and Provider definitions, view the Introduction to OneRoster.

Standard Grade Passback

The Standard GPB integration endpoint includes the assignment sourcedId when syncing gradebook data from Canvas to your SIS.

 

Service Call Endpoint HTTP Verb Required
getAllCategories /categories GET
getAllLineItems /lineItems GET
getResultsForClass /classes/{class_id}/results GET
getLineItemsForClass /classes/{class_id}/lineItems GET
getResultsForLineItemForClass /classes/{class_id}/lineItems/{li_id}/results GET
getResultsForStudentForClass /classes/{class_id}/students/{student_id}/results GET
putCategory /categories/{id} PUT 𝗫
putLineItem /lineItems/{id} PUT
putResult /results/{id} PUT

Modified Grade Passback

The Modified GPB endpoint omits the assignment sourcedId when syncing gradebook data from Canvas to your SIS.

In the response to the PUT call for new records, the sourcedId must be returned by the OneRoster provider. The integration then stores this data for future use when performing API calls.

 

Service Call Endpoint HTTP Verb Required
getAllCategories /categories GET
getAllLineItems /lineItems GET
getResultsForClass /classes/{class_id}/results GET
getLineItemsForClass /classes/{class_id}/lineItems GET
getResultsForLineItemForClass /classes/{class_id}/lineItems/{li_id}/results GET
getResultsForStudentForClass /classes/{class_id}/students/{student_id}/results GET
putCategory /categories/{id} PUT 𝗫
putLineItem /lineItems/{id} PUT
putResult /results/{id} PUT
putCategory* /categories* PUT 𝗫
putLineItem* /lineItems* PUT
putResult* /results* PUT

*sourcedId omitted from these API calls

Performance Grade Passback Endpoints

At least one of the following Performance Grade Passback integration endpoint methods should be implemented.

 

Service Call Endpoint HTTP Verb Required
getFilteredClassCategory /categories?filter=metadata.classId='{class_id}' GET 𝗫*
getCategoriesForClass /classes/{class_id}/categories GET ✓**

*While not strictly required, implementing this filter prevents the need to pull and cache all categories. 

**If you do not implement the category metadata.classid, this implementation is required. This allows classes to associate with a category.