Canvas Rubrics API

The Rubrics API from Canvas — 15 operation(s) for rubrics.

Operations 20

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /v1/courses/{course_id}/rubrics Create a rubric in a course · Create a single rubric #
Ask an LLM
“How do I build a new grading rubric with criteria in a course?”
“Can I attach a new rubric to an assignment and use it for grading when I create it?”
Tell an agent
Create a rubric titled {title} in course {course_id}.
Create a new rubric {title} in course {course_id} and associate it with assignment {association_id} for grading.
GET /v1/courses/{course_id}/rubrics List a course's active rubrics · List rubrics #
Ask an LLM
“What rubrics are active in my Canvas course?”
“Can I see every grading rubric defined at the course level?”
Tell an agent
List the active rubrics in course {course_id}.
Show all grading rubrics available in course {course_id}.
PUT /v1/courses/{course_id}/rubrics/{id} Update a course rubric · Update a single rubric #
Ask an LLM
“How do I rename a rubric or change its criteria in a course?”
“Can I edit a rubric's criteria without recalculating the assignment's points possible?”
Tell an agent
Rename rubric {id} in course {course_id} to {title}.
Update the criteria of course {course_id} rubric {id}.
DELETE /v1/courses/{course_id}/rubrics/{id} Delete a rubric and its associations · Delete a single #
Ask an LLM
“What happens to assignments using a rubric when I delete it?”
“Can I permanently remove a rubric from a course?”
Tell an agent destructive · confirm first
Delete rubric {id} from course {course_id}.
Remove course {course_id} rubric {id} along with all of its associations.
GET /v1/courses/{course_id}/rubrics/{id} Get a rubric from a course · Get a single rubric #
Ask an LLM
“How can I view one rubric's criteria and ratings in a course?”
“Can I include the assessments made with a course rubric when I fetch it?”
Tell an agent
Get rubric {id} in course {course_id}.
Show course {course_id} rubric {id} with its {include} included.
GET /v1/accounts/{account_id}/rubrics List an account's active rubrics · List rubrics #
Ask an LLM
“Which rubrics are shared at the account level for reuse across courses?”
“Can an admin list every active rubric in an account?”
Tell an agent
List the active rubrics in account {account_id}.
Show the account-level rubric library for account {account_id}.
GET /v1/accounts/{account_id}/rubrics/{id} Get a rubric from an account · Get a single rubric #
Ask an LLM
“How do I view one account-level rubric's details?”
“Can I fetch an account rubric with its associated assessments?”
Tell an agent
Get rubric {id} from account {account_id}.
Show account {account_id} rubric {id} in {style} style.
GET /v1/courses/{course_id}/rubrics/{id}/used_locations See where a course rubric is used · Get the courses and assignments for a rubric #
Ask an LLM
“Which assignments are using a particular rubric from my course?”
“Before editing a course rubric, can I see every place it's used?”
Tell an agent
List the courses and assignments using rubric {id} from course {course_id}.
Show where course {course_id} rubric {id} is currently in use.
GET /v1/accounts/{account_id}/rubrics/{id}/used_locations See where an account rubric is used · Get the courses and assignments for a rubric #
Ask an LLM
“Which courses and assignments rely on an account-level rubric?”
“Can an admin find every course using a shared account rubric?”
Tell an agent
List the courses and assignments using account {account_id} rubric {id}.
Find every place rubric {id} from account {account_id} has been applied.
POST /v1/courses/{course_id}/rubrics/upload Import rubrics into a course from a CSV · Creates a rubric using a CSV file #
Ask an LLM
“Can I import rubrics into a course from a CSV spreadsheet?”
“How do I bulk load rubrics into one course from a file?”
Tell an agent
Upload a rubric CSV file to course {course_id}.
Import rubrics from a CSV into course {course_id}.
POST /v1/accounts/{account_id}/rubrics/upload Import rubrics into an account from a CSV · Creates a rubric using a CSV file #
Ask an LLM
“Can an admin import account-level rubrics from a CSV?”
“How do I load a spreadsheet of rubrics into an account's rubric library?”
Tell an agent
Upload a rubric CSV file to account {account_id}.
Import CSV rubrics into the account {account_id} library.
GET /v1/rubrics/upload_template Download the rubric import CSV template · Templated file for importing a rubric #
Ask an LLM
“What format does a rubric CSV import need to be in?”
“Where can I download a blank template for importing rubrics?”
Tell an agent
Download the rubric import CSV template.
Get me the blank spreadsheet template for importing rubrics.
GET /v1/courses/{course_id}/rubrics/upload/{id} Check a course rubric CSV import's status · Get the status of a rubric import #
Ask an LLM
“Did my rubric CSV import into the course finish?”
“Can I check the latest rubric import for a course?”
Tell an agent
Get the status of rubric import {id} in course {course_id}.
Check whether course {course_id} rubric upload {id} succeeded.
GET /v1/accounts/{account_id}/rubrics/upload/{id} Check an account rubric CSV import's status · Get the status of a rubric import #
Ask an LLM
“Has the rubric spreadsheet I imported into the account finished processing?”
“Can an admin see the most recent account rubric import?”
Tell an agent
Get the status of rubric import {id} in account {account_id}.
Check progress on account {account_id} rubric upload {id}.
POST /v1/courses/{course_id}/rubric_associations/{rubric_association_id}/rubric_assessments Assess a student's work with a rubric · Create a single rubric assessment #
Ask an LLM
“How do I score a student's submission against a rubric?”
“Can I save a provisional rubric assessment for moderated grading?”
Tell an agent
Create a rubric assessment under association {rubric_association_id} in course {course_id}.
Submit a provisional rubric score for association {rubric_association_id} in course {course_id}, provisional {provisional}.
PUT /v1/courses/{course_id}/rubric_associations/{rubric_association_id}/rubric_assessments/{id} Update an existing rubric assessment · Update a single rubric assessment #
Ask an LLM
“Can I change the ratings on a rubric assessment I already made?”
“How do I mark an existing provisional rubric assessment as final?”
Tell an agent
Update rubric assessment {id} for association {rubric_association_id} in course {course_id}.
Set rubric assessment {id} under association {rubric_association_id} in course {course_id} as final {final}.
DELETE /v1/courses/{course_id}/rubric_associations/{rubric_association_id}/rubric_assessments/{id} Delete a rubric assessment · Delete a single rubric assessment #
Ask an LLM
“Can I remove a rubric assessment I made by mistake?”
“What deletes a single rubric scoring of a student's work?”
Tell an agent destructive · confirm first
Delete rubric assessment {id} under association {rubric_association_id} in course {course_id}.
Remove the rubric scoring {id} from association {rubric_association_id} in course {course_id}.
POST /v1/courses/{course_id}/rubric_associations Attach an existing rubric to an assignment · Create a RubricAssociation #
Ask an LLM
“How do I attach an existing rubric to an assignment in my course?”
“Can I hide the total score when linking a rubric to an assignment?”
Tell an agent
Associate rubric {rubric_id} with assignment {association_id} in course {course_id}.
Link rubric {rubric_id} in course {course_id} to {association_type} {association_id} and use it for grading.
PUT /v1/courses/{course_id}/rubric_associations/{id} Change how a rubric is attached to an assignment · Update a RubricAssociation #
Ask an LLM
“Can I stop using an attached rubric for grading without removing it?”
“How do I change the purpose of an existing rubric association?”
Tell an agent
Update rubric association {id} in course {course_id}.
Set use for grading to {use_for_grading} on rubric association {id} in course {course_id}.
DELETE /v1/courses/{course_id}/rubric_associations/{id} Detach a rubric from an assignment · Delete a RubricAssociation #
Ask an LLM
“How do I unlink a rubric from an assignment without deleting the rubric itself?”
“Can I remove a single rubric association in a course?”
Tell an agent destructive · confirm first
Delete rubric association {id} in course {course_id}.
Detach the rubric linked by association {id} in course {course_id}.

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:canvas-rubrics-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-rubrics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Canvas LMS REST Rubrics 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:


# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/canvas/refs/heads/main/openapi/canvas-rubrics-api-openapi.yml