Before proceeding with these steps, please inform your contact person or Pilot and Partner Manager at FeedbackFruits to ensure a smooth and safe process.
Introduction
As mentioned in the API Primer, adding an API integration greatly improves the experience FeedbackFruits can offer a teacher.
Unlike LTI tools, API can only be enabled for a top level account. For more details see also the Canvas documentation.
API can be setup in Canvas using the inherited configuration or manually. It is recommended to use the inherited configuration.
Inherited configuration
-
Navigate to the Admin tab and select Developer Keys
-
Navigate to the Inherited tab and locate the FeedbackFruits key
(the one with the logo) -
Switch the State to ON
-
Send the URL of your environment to your FeedbackFruits contact
That is all! To review the scopes that FeedbackFruits uses, see the section below.
Manual configuration
-
Go to the Admin, select your account and click Developer Keys
- Click + Developer Key
- Fill out the fields:
Key name: FeedbackFruits
Owner email: administrators@feedbackfruits.com
Redirect URIs:
-
When using FeedbackFruits hosted in Europe:
https://accounts.feedbackfruits.com/identify/canvas/callback -
When using FeedbackFruits hosted in United States:
https://us-accounts.feedbackfruits.com/identify/canvas/callback -
When using FeedbackFruits hosted in Canada:
https://ca-accounts.feedbackfruits.com/identify/canvas/callback -
When using FeedbackFruits hosted in Australia:
https://au-accounts.feedbackfruits.com/identify/canvas/callback
-
When using FeedbackFruits hosted in Europe:
- Click Save Key
- Scopes: you have two options when it comes to scopes. If you choose to enable Enforce Scopes, please use the list below. Otherwise, you can keep this disabled.
- Send the ID, Key, and URL of your environment to your FeedbackFruits contact. (Clicking Show Key might be necessary to reveal the key)
Scopes
FeedbackFruits supports the enabling of API scoping in Canvas when adding a Developer Key. To enable scopes, turn on the Enforce Scopes switch and select the following scopes:
Assignment groups
- url:GET|/api/v1/courses/:course_id/assignment_groups
- url:GET|/api/v1/courses/:course_id/assignment_groups/:assignment_group_id
Assignments
- url:GET|/api/v1/courses/:course_id/assignments
- url:GET|/api/v1/courses/:course_id/assignments/:id
- url:POST|/api/v1/courses/:course_id/assignments
Calendar Events
- url:POST|/api/v1/calendar_events
- url:GET|/api/v1/calendar_events/:id
- url:PUT|/api/v1/calendar_events/:id
- url:DELETE|/api/v1/calendar_events/:id
Courses
- url:GET|/api/v1/courses/:id
- url:GET|/api/v1/courses/:course_id/users
- url:GET|/api/v1/courses/:course_id/users/:id
Enrollments
- url:GET|/api/v1/courses/:course_id/enrollments
- url:GET|/api/v1/sections/:section_id/enrollments
Group Categories
- url:POST|/api/v1/courses/:course_id/group_categories
- url:GET|/api/v1/group_categories/:group_category_id
- url:GET|/api/v1/courses/:course_id/group_categories
- url:GET|/api/v1/group_categories/:group_category_id/groups
- url:PUT|/api/v1/group_categories/:group_category_id
Groups
- url:POST|/api/v1/groups/:group_id/memberships
- url:GET|/api/v1/groups/:group_id
- url:GET|/api/v1/courses/:course_id/groups
- url:GET|/api/v1/groups/:group_id/memberships
- url:GET|/api/v1/groups/:group_id/memberships/:membership_id
- url:PUT|/api/v1/groups/:group_id
- url:DELETE|/api/v1/groups/:group_id
- url:DELETE|/api/v1/groups/:group_id/memberships/:membership_id
- url:POST|/api/v1/group_categories/:group_category_id/groups
Modules
- url:GET|/api/v1/courses/:course_id/modules
- url:GET|/api/v1/courses/:course_id/modules/:id
- url:POST|/api/v1/courses/:course_id/modules
- url:GET|/api/v1/courses/:course_id/modules/:module_id/items
- url:GET|/api/v1/courses/:course_id/modules/:module_id/items/:id
- url:POST|/api/v1/courses/:course_id/modules/:module_id/items
Rubrics
- url:GET|/api/v1/courses/:course_id/rubrics
- url:POST|/api/v1/courses/:course_id/rubrics
- url:PUT|/api/v1/courses/:course_id/rubrics/:id
Sections
- url:GET|/api/v1/sections/:id
- url:GET|/api/v1/courses/:course_id/sections
Submissions
- url:GET|/api/v1/courses/:course_id/assignments/:assignment_id/submissions
- url:GET|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id
- url:POST|/api/v1/courses/:course_id/assignments/:assignment_id/submissions
- url:PUT|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id
Users
- url:GET|/api/v1/users/:user_id/profile