The Hypothesis LMS app can provide advanced integrations with the following LMSes using their native API:
- Canvas
- Blackboard
- D2L/Brightspace
LMS API configuration typically needs to happen during installation of Hypothesis, though in some circumstances advanced API integration can be added to an LMS after the initial install of Hypothesis has occurred.
Canvas
For detailed information about setting up a Canvas API Developer Key for Hypothesis see here (worldwide) or here (Canada only).
The following is a list of the Canvas API endpoints used by Hypothesis.
For schools enforcing scopes, to ease with finding these endpoints on the API Developer Key configuration page this list has been organized by category with the location of the specific endpoint noted:
- Courses
url:GET|/api/v1/courses/:id
(3rd endpoint from top)url:GET|/api/v1/courses/:course_id/users/:id
(13th endpoint from top)
- Files
url:GET|/api/v1/courses/:course_id/files
(1st endpoint)url:GET|/api/v1/courses/:course_id/folders
(2nd endpoint from top)url:GET|/api/v1/files/:id/public_url
(27th 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)
- Groups
url:GET|/api/v1/courses/:course_id/groups
(10th endpoint from top)
- Sections
url:GET|/api/v1/courses/:course_id/sections
(1st endpoint)
- Pages
url:GET|/api/v1/courses/:course_id/pages
(6th endpoint)url:GET|/api/v1/courses/:course_id/pages/:url_or_id
(8th endpoint)
Additionally, if scopes are enforced, on the API Developer Key configuration page make sure to also check the box to select Allow include parameters.
Blackboard
For detailed information about setting up a Blackboard REST API integration for Hypothesis see here.
The following is a list of the Blackboard API endpoints used by Hypothesis:
- Gather course content folders and files for the Hypothesis file browser:
/learn/api/public/v1/courses/uuid:{course_id}/resources
/learn/api/public/v1/courses/uuid:{course_id}/resources/{folder_id}/children
- Retrieve public URL of a Blackboard file:
/learn/api/public/v1/courses/uuid:{course_id}/resources/{file_id}?fields=downloadUrl
- List group sets in a course:
/learn/api/public/v2/courses/uuid:{course_id}/groups/sets
- List groups in a group set:
/learn/api/public/v2/courses/uuid:{course_id}/groups/sets/{group_set_id}/groups
- Check student group memberships when launching group assignments:
/learn/api/public/v2/courses/uuid:{course_id}/groups
/learn/api/public/v2/courses/uuid:{course_id}/groups/{group['id']}
D2L / Brightspace
For detailed information about setting up a D2L Oauth 2.0 integration for Hypothesis see here.
The following is a list of the D2L API endpoints used by Hypothesis:
- Retrieve a list of all the group categories for the provided org unit:
/d2l/api/lp/(version)/(orgUnitId)/groupcategories/
- Retrieve a list of all the groups in a particular group category for an org unit:
/d2l/api/lp/(version)/(orgUnitId)/groupcategories/(groupCategoryId)/groups/
- Retrieve the list of available files in a course’s table of contents:
/d2l/api/le/(version)/(orgUnitId)/content/toc
- Retrieve metadata for one individual file:
/d2l/api/le/(version)/(orgUnitId)/content/topics/(topicId)
- Access to the byte stream of one individual file:
/d2l/api/le/(version)/(orgUnitId)/content/topics/(topicId)/file
When configuring an OAuth 2.0 integration for Hypothesis, below is the minimum scope needed:
content:file:read content:toc:read content:topics:read groups:group:read