LMS API endpoints required by Hypothesis

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
Was this article helpful?

Related Articles

Ask a Question

Send us a support ticket to get more help.
Create a Ticket