This guide is for schools without specific data residency requirements. For compliance with Canadian data residency requirements please see the Canadian version of this guide.
To enable advanced Hypothesis integration with Canvas, a Canvas administrator will need to generate a Canvas API Developer Key before Hypothesis is installed.
This key will be tied to the Hypothesis LTI tool, and enables the following deeper integrations with Canvas:
- Access to Canvas Files for documents
- Integration with Canvas Groups
- Integration with Canvas Sections
For more detail, please see our article on the Canvas API endpoints used by the Hypothesis LMS app.
Note that deleting the API Developer Key and/or creating a new API Developer Key for Hypothesis will require installing a new instance of Hypothesis in Canvas.
1. Create a new Canvas Developer Key for Hypothesis
Navigate to Admin > Developer Keys, click on the +Developer Key button, and select the +API Key option.
2. Fill out the Key Settings form
- Key Name:
- Owner Email:
- Enter an appropriate email address
- Redirect URIs (make sure there are no extra spaces or characters copied and pasted here):
- Redirect URI (Legacy):
- leave blank
- Vendor Code (LTI 2):
- leave blank
- Icon URL:
If your institution enforces scopes on the Developer Keys, see below for the list of API endpoints to enable.
Click the Save Key button in the lower right corner to finish.
3. Turn the Key on.
Canvas does not turn on Developer credentials by default. Turn on your Developer Key before leaving this page.
The ID (shown in the Details column) and Key (shown in a pop-up once you click the Show Key button) will correspond to the Canvas Developer ID and Canvas Developer Key fields in our form to generate Hypothesis credentials:
Canvas API endpoints required by Hypothesis
If your institution enforces scopes on Developer Keys, you will need to enable the following API endpoints for Hypothesis’ Developer Key (organized by category):
url:GET|/api/v1/courses/:id(3rd endpoint from top)
url:GET|/api/v1/courses/:course_id/users/:id(13th endpoint from top)
url:GET|/api/v1/files/:id/public_url(26th endpoint from top)
- Group Categories
url:GET|/api/v1/courses/:course_id/group_categories(5th endpoint from top)
url:GET|/api/v1/group_categories/:group_category_id/groups(9th endpoint from top)
url:GET|/api/v1/courses/:course_id/groups(10th endpoint from top)
Additionally, you must enable the use of Include Parameters