Canvas Favorites API

The Favorites API from Canvas — 4 operation(s) for favorites.

Operations 8

GET /v1/users/self/favorites/courses List favorite courses #
DELETE /v1/users/self/favorites/courses Reset course favorites #
GET /v1/users/self/favorites/groups List favorite groups #
DELETE /v1/users/self/favorites/groups Reset group favorites #
POST /v1/users/self/favorites/courses/{id} Add course to favorites #
DELETE /v1/users/self/favorites/courses/{id} Remove course from favorites #
POST /v1/users/self/favorites/groups/{id} Add group to favorites #
DELETE /v1/users/self/favorites/groups/{id} Remove group from favorites #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/canvas-favorites-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

canvas-favorites-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Canvas LMS REST Favorites API
  version: v1
  summary: The complete Canvas LMS REST API, converted from the Swagger 1.2 documents Instructure publishes under https://canvas.instructure.com/doc/api/.
  description: The Canvas LMS REST API covers courses, assignments, quizzes, grades, users, enrollments, accounts, files, modules, rubrics, submissions, SIS imports, LTI, analytics and account administration.
  contact:
    name: Instructure Canvas
    url: https://canvas.instructure.com/doc/api/
  license:
    name: AGPL-3.0
    url: https://github.com/instructure/canvas-lms/blob/master/LICENSE
servers:
- url: https://canvas.instructure.com/api
  description: Instructure-hosted Canvas (canvas.instructure.com)
- url: https://{canvas_host}/api
  description: Any Canvas instance; Canvas is multi-tenant and self-hostable, so the host is the institution's Canvas domain.
  variables:
    canvas_host:
      default: canvas.instructure.com
      description: Your institution's Canvas hostname, e.g. school.instructure.com
security:
- bearerAuth: []
- oauth2: []
tags:
- name: Favorites
  x-resource: favorites
  externalDocs:
    url: https://canvas.instructure.com/doc/api/favorites.html
paths:
  /v1/users/self/favorites/courses:
    get:
      tags:
      - Favorites
      operationId: list_favorite_courses
      summary: List favorite courses
      description: 'Retrieve the paginated list of favorite courses for the current user. If the user has not chosen

        any favorites, then a selection of currently enrolled courses will be returned.


        See the {api:CoursesController#index List courses API} for details on accepted include[] parameters.'
      parameters:
      - name: exclude_blueprint_courses
        in: query
        schema:
          type: boolean
        required: false
        description: When set, only return courses that are not configured as blueprint courses.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                  x-canvas-declared-type: Course
      externalDocs:
        url: https://canvas.instructure.com/doc/api/favorites.html
    delete:
      tags:
      - Favorites
      operationId: reset_course_favorites
      summary: Reset course favorites
      description: 'Reset the current user''s course favorites to the default

        automatically generated list of enrolled courses'
      responses:
        '200':
          description: Success, no content returned
      externalDocs:
        url: https://canvas.instructure.com/doc/api/favorites.html
  /v1/users/self/favorites/groups:
    get:
      tags:
      - Favorites
      operationId: list_favorite_groups
      summary: List favorite groups
      description: 'Retrieve the paginated list of favorite groups for the current user. If the user has not chosen

        any favorites, then a selection of groups that the user is a member of will be returned.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                  x-canvas-declared-type: Group
      externalDocs:
        url: https://canvas.instructure.com/doc/api/favorites.html
    delete:
      tags:
      - Favorites
      operationId: reset_group_favorites
      summary: Reset group favorites
      description: 'Reset the current user''s group favorites to the default

        automatically generated list of enrolled group'
      responses:
        '200':
          description: Success, no content returned
      externalDocs:
        url: https://canvas.instructure.com/doc/api/favorites.html
  /v1/users/self/favorites/courses/{id}:
    post:
      tags:
      - Favorites
      operationId: add_course_to_favorites
      summary: Add course to favorites
      description: 'Add a course to the current user''s favorites. If the course is already

        in the user''s favorites, nothing happens. Canvas for Elementary subject

        and homeroom courses can be added to favorites, but this has no effect in

        the UI.'
      parameters:
      - name: id
        in: path
        schema:
          type: string
        required: true
        description: 'The ID or SIS ID of the course to add.  The current user must be

          registered in the course.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Favorite'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/favorites.html
    delete:
      tags:
      - Favorites
      operationId: remove_course_from_favorites
      summary: Remove course from favorites
      description: Remove a course from the current user's favorites.
      parameters:
      - name: id
        in: path
        schema:
          type: string
        required: true
        description: the ID or SIS ID of the course to remove
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Favorite'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/favorites.html
  /v1/users/self/favorites/groups/{id}:
    post:
      tags:
      - Favorites
      operationId: add_group_to_favorites
      summary: Add group to favorites
      description: 'Add a group to the current user''s favorites. If the group is already

        in the user''s favorites, nothing happens.'
      parameters:
      - name: id
        in: path
        schema:
          type: string
        required: true
        description: 'The ID or SIS ID of the group to add.  The current user must be

          a member of the group.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Favorite'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/favorites.html
    delete:
      tags:
      - Favorites
      operationId: remove_group_from_favorites
      summary: Remove group from favorites
      description: Remove a group from the current user's favorites.
      parameters:
      - name: id
        in: path
        schema:
          type: string
        required: true
        description: the ID or SIS ID of the group to remove
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Favorite'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/favorites.html
components:
  schemas:
    Favorite:
      type: object
      properties:
        context_id:
          type: integer
          example: 1170
          description: The ID of the object the Favorite refers to
        context_type:
          type: string
          example: Course
          description: The type of the object the Favorite refers to (currently, only 'Course' is supported)
      required:
      - ''
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Canvas OAuth2 access token sent as "Authorization: Bearer <token>". See https://canvas.instructure.com/doc/api/file.oauth.html'
    oauth2:
      type: oauth2
      description: Canvas OAuth2. See https://canvas.instructure.com/doc/api/file.oauth.html and https://canvas.instructure.com/doc/api/file.oauth_endpoints.html
      flows:
        authorizationCode:
          authorizationUrl: https://canvas.instructure.com/login/oauth2/auth
          tokenUrl: https://canvas.instructure.com/login/oauth2/token
          refreshUrl: https://canvas.instructure.com/login/oauth2/token
          scopes: {}
externalDocs:
  description: Canvas LMS REST API Documentation
  url: https://canvas.instructure.com/doc/api/
x-generated-from: https://canvas.instructure.com/doc/api/api-docs.json
x-provenance:
  method: derived
  derived_by: API Evangelist enrichment pipeline (Swagger 1.2 -> OpenAPI 3.1 conversion)
  source: openapi/_original/swagger-1.2/*.json (144 verbatim first-party Swagger 1.2 documents)
  source_url: https://canvas.instructure.com/doc/api/api-docs.json
  fetched: '2026-09-05'
  http_status: 200