🚀 Heads up: Our API Docs Have Moved!
We have relocated to Instructure Developer Documentation Portal. 🎉 Please update your bookmarks. This page will automatically redirect after July 1, 2026.

Bookmarks API

A Bookmark object looks like:

{
  "id": 1,
  "name": "Biology 101",
  "url": "/courses/1",
  "position": 1,
  "data": {"active_tab":1}
}

List bookmarks Bookmarks::BookmarksController#index

GET /api/v1/users/self/bookmarks

Scope: url:GET|/api/v1/users/self/bookmarks

GET /courses/:course_id/files/:file_id/download

Scope: url:GET|/courses/:course_id/files/:file_id/download

GET /courses/:course_id/files/:file_id/download.:type

Scope: url:GET|/courses/:course_id/files/:file_id/download

GET /courses/:course_id/files/:file_id/preview

Scope: url:GET|/courses/:course_id/files/:file_id/preview

GET /quiz_statistics/:quiz_statistics_id/files/:file_id/download

Scope: url:GET|/quiz_statistics/:quiz_statistics_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/download

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/download.:type

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/preview

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/preview

GET /groups/:group_id/files/:file_id/download

Scope: url:GET|/groups/:group_id/files/:file_id/download

GET /groups/:group_id/files/:file_id/download.:type

Scope: url:GET|/groups/:group_id/files/:file_id/download

GET /groups/:group_id/files/:file_id/preview

Scope: url:GET|/groups/:group_id/files/:file_id/preview

GET /accounts/:account_id/files/:file_id/download

Scope: url:GET|/accounts/:account_id/files/:file_id/download

GET /accounts/:account_id/files/:file_id/download.:type

Scope: url:GET|/accounts/:account_id/files/:file_id/download

GET /accounts/:account_id/files/:file_id/preview

Scope: url:GET|/accounts/:account_id/files/:file_id/preview

GET /users/:user_id/files/:file_id/download

Scope: url:GET|/users/:user_id/files/:file_id/download

GET /users/:user_id/files/:file_id/download.:type

Scope: url:GET|/users/:user_id/files/:file_id/download

GET /users/:user_id/files/:file_id/preview

Scope: url:GET|/users/:user_id/files/:file_id/preview

GET /assignments/:assignment_id/files/:id/download

Scope: url:GET|/assignments/:assignment_id/files/:id/download

GET /files/:file_id/download

Scope: url:GET|/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download.:type

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/preview

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/preview

Returns the paginated list of bookmarks.

Example Request:

curl 'https://<canvas>/api/v1/users/self/bookmarks' \
     -H 'Authorization: Bearer <token>'
Returns a list of Bookmark objects

Create bookmark Bookmarks::BookmarksController#create

POST /api/v1/users/self/bookmarks

Scope: url:POST|/api/v1/users/self/bookmarks

GET /courses/:course_id/files/:file_id/download

Scope: url:GET|/courses/:course_id/files/:file_id/download

GET /courses/:course_id/files/:file_id/download.:type

Scope: url:GET|/courses/:course_id/files/:file_id/download

GET /courses/:course_id/files/:file_id/preview

Scope: url:GET|/courses/:course_id/files/:file_id/preview

GET /quiz_statistics/:quiz_statistics_id/files/:file_id/download

Scope: url:GET|/quiz_statistics/:quiz_statistics_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/download

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/download.:type

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/preview

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/preview

GET /groups/:group_id/files/:file_id/download

Scope: url:GET|/groups/:group_id/files/:file_id/download

GET /groups/:group_id/files/:file_id/download.:type

Scope: url:GET|/groups/:group_id/files/:file_id/download

GET /groups/:group_id/files/:file_id/preview

Scope: url:GET|/groups/:group_id/files/:file_id/preview

GET /accounts/:account_id/files/:file_id/download

Scope: url:GET|/accounts/:account_id/files/:file_id/download

GET /accounts/:account_id/files/:file_id/download.:type

Scope: url:GET|/accounts/:account_id/files/:file_id/download

GET /accounts/:account_id/files/:file_id/preview

Scope: url:GET|/accounts/:account_id/files/:file_id/preview

GET /users/:user_id/files/:file_id/download

Scope: url:GET|/users/:user_id/files/:file_id/download

GET /users/:user_id/files/:file_id/download.:type

Scope: url:GET|/users/:user_id/files/:file_id/download

GET /users/:user_id/files/:file_id/preview

Scope: url:GET|/users/:user_id/files/:file_id/preview

GET /assignments/:assignment_id/files/:id/download

Scope: url:GET|/assignments/:assignment_id/files/:id/download

GET /files/:file_id/download

Scope: url:GET|/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download.:type

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/preview

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/preview

Creates a bookmark.

Request Parameters:

Parameter Type Description
name string

The name of the bookmark

url string

The url of the bookmark

position integer

The position of the bookmark. Defaults to the bottom.

data string

The data associated with the bookmark

Example Request:

curl 'https://<canvas>/api/v1/users/self/bookmarks' \
     -F 'name=Biology 101' \
     -F 'url=/courses/1' \
     -H 'Authorization: Bearer <token>'
Returns a Bookmark object

Get bookmark Bookmarks::BookmarksController#show

GET /api/v1/users/self/bookmarks/:id

Scope: url:GET|/api/v1/users/self/bookmarks/:id

GET /courses/:course_id/files/:file_id/download

Scope: url:GET|/courses/:course_id/files/:file_id/download

GET /courses/:course_id/files/:file_id/download.:type

Scope: url:GET|/courses/:course_id/files/:file_id/download

GET /courses/:course_id/files/:file_id/preview

Scope: url:GET|/courses/:course_id/files/:file_id/preview

GET /quiz_statistics/:quiz_statistics_id/files/:file_id/download

Scope: url:GET|/quiz_statistics/:quiz_statistics_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/download

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/download.:type

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/preview

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/preview

GET /groups/:group_id/files/:file_id/download

Scope: url:GET|/groups/:group_id/files/:file_id/download

GET /groups/:group_id/files/:file_id/download.:type

Scope: url:GET|/groups/:group_id/files/:file_id/download

GET /groups/:group_id/files/:file_id/preview

Scope: url:GET|/groups/:group_id/files/:file_id/preview

GET /accounts/:account_id/files/:file_id/download

Scope: url:GET|/accounts/:account_id/files/:file_id/download

GET /accounts/:account_id/files/:file_id/download.:type

Scope: url:GET|/accounts/:account_id/files/:file_id/download

GET /accounts/:account_id/files/:file_id/preview

Scope: url:GET|/accounts/:account_id/files/:file_id/preview

GET /users/:user_id/files/:file_id/download

Scope: url:GET|/users/:user_id/files/:file_id/download

GET /users/:user_id/files/:file_id/download.:type

Scope: url:GET|/users/:user_id/files/:file_id/download

GET /users/:user_id/files/:file_id/preview

Scope: url:GET|/users/:user_id/files/:file_id/preview

GET /assignments/:assignment_id/files/:id/download

Scope: url:GET|/assignments/:assignment_id/files/:id/download

GET /files/:file_id/download

Scope: url:GET|/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download.:type

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/preview

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/preview

Returns the details for a bookmark.

Example Request:

curl 'https://<canvas>/api/v1/users/self/bookmarks/1' \
     -H 'Authorization: Bearer <token>'
Returns a Bookmark object

Update bookmark Bookmarks::BookmarksController#update

PUT /api/v1/users/self/bookmarks/:id

Scope: url:PUT|/api/v1/users/self/bookmarks/:id

GET /courses/:course_id/files/:file_id/download

Scope: url:GET|/courses/:course_id/files/:file_id/download

GET /courses/:course_id/files/:file_id/download.:type

Scope: url:GET|/courses/:course_id/files/:file_id/download

GET /courses/:course_id/files/:file_id/preview

Scope: url:GET|/courses/:course_id/files/:file_id/preview

GET /quiz_statistics/:quiz_statistics_id/files/:file_id/download

Scope: url:GET|/quiz_statistics/:quiz_statistics_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/download

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/download.:type

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/preview

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/preview

GET /groups/:group_id/files/:file_id/download

Scope: url:GET|/groups/:group_id/files/:file_id/download

GET /groups/:group_id/files/:file_id/download.:type

Scope: url:GET|/groups/:group_id/files/:file_id/download

GET /groups/:group_id/files/:file_id/preview

Scope: url:GET|/groups/:group_id/files/:file_id/preview

GET /accounts/:account_id/files/:file_id/download

Scope: url:GET|/accounts/:account_id/files/:file_id/download

GET /accounts/:account_id/files/:file_id/download.:type

Scope: url:GET|/accounts/:account_id/files/:file_id/download

GET /accounts/:account_id/files/:file_id/preview

Scope: url:GET|/accounts/:account_id/files/:file_id/preview

GET /users/:user_id/files/:file_id/download

Scope: url:GET|/users/:user_id/files/:file_id/download

GET /users/:user_id/files/:file_id/download.:type

Scope: url:GET|/users/:user_id/files/:file_id/download

GET /users/:user_id/files/:file_id/preview

Scope: url:GET|/users/:user_id/files/:file_id/preview

GET /assignments/:assignment_id/files/:id/download

Scope: url:GET|/assignments/:assignment_id/files/:id/download

GET /files/:file_id/download

Scope: url:GET|/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download.:type

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/preview

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/preview

Updates a bookmark

Request Parameters:

Parameter Type Description
name string

The name of the bookmark

url string

The url of the bookmark

position integer

The position of the bookmark. Defaults to the bottom.

data string

The data associated with the bookmark

Example Request:

curl -X PUT 'https://<canvas>/api/v1/users/self/bookmarks/1' \
     -F 'name=Biology 101' \
     -F 'url=/courses/1' \
     -H 'Authorization: Bearer <token>'
Returns a Folder object

Delete bookmark Bookmarks::BookmarksController#destroy

DELETE /api/v1/users/self/bookmarks/:id

Scope: url:DELETE|/api/v1/users/self/bookmarks/:id

GET /courses/:course_id/files/:file_id/download

Scope: url:GET|/courses/:course_id/files/:file_id/download

GET /courses/:course_id/files/:file_id/download.:type

Scope: url:GET|/courses/:course_id/files/:file_id/download

GET /courses/:course_id/files/:file_id/preview

Scope: url:GET|/courses/:course_id/files/:file_id/preview

GET /quiz_statistics/:quiz_statistics_id/files/:file_id/download

Scope: url:GET|/quiz_statistics/:quiz_statistics_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/download

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/download.:type

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/preview

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/preview

GET /groups/:group_id/files/:file_id/download

Scope: url:GET|/groups/:group_id/files/:file_id/download

GET /groups/:group_id/files/:file_id/download.:type

Scope: url:GET|/groups/:group_id/files/:file_id/download

GET /groups/:group_id/files/:file_id/preview

Scope: url:GET|/groups/:group_id/files/:file_id/preview

GET /accounts/:account_id/files/:file_id/download

Scope: url:GET|/accounts/:account_id/files/:file_id/download

GET /accounts/:account_id/files/:file_id/download.:type

Scope: url:GET|/accounts/:account_id/files/:file_id/download

GET /accounts/:account_id/files/:file_id/preview

Scope: url:GET|/accounts/:account_id/files/:file_id/preview

GET /users/:user_id/files/:file_id/download

Scope: url:GET|/users/:user_id/files/:file_id/download

GET /users/:user_id/files/:file_id/download.:type

Scope: url:GET|/users/:user_id/files/:file_id/download

GET /users/:user_id/files/:file_id/preview

Scope: url:GET|/users/:user_id/files/:file_id/preview

GET /assignments/:assignment_id/files/:id/download

Scope: url:GET|/assignments/:assignment_id/files/:id/download

GET /files/:file_id/download

Scope: url:GET|/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download.:type

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/preview

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/preview

Deletes a bookmark

Example Request:

curl -X DELETE 'https://<canvas>/api/v1/users/self/bookmarks/1' \
     -H 'Authorization: Bearer <token>'