Instructure Developer Documentation Portal
Community
  • Introduction
  • Services
    • Elevate Standards Alignment - AB Connect API
      • Introduction
        • Authentication
        • Addressing Object Properties
        • Requesting Additional Properties in the Response
        • Filtering Using ODATA Like Statements
        • Sorting
        • Facets
        • Paging Data
        • Call Throttling
        • Working with Related Object
        • Error Responses
        • Character Set Support
        • How To Articles, Recommendations and Suggestions
        • Examples
        • Using AB Connect's Embeddable Widgets
      • Reference
        • Standards
        • Standard Collections
        • Events
        • Topics
        • Concepts
        • Assets
        • Asset Definitions
        • Asset Collections
        • Managing and Predicting Relationships
        • Providers
    • Canvas LMS
      • Basics
        • GraphQL
        • API Change Log
        • SIS IDs
        • Pagination
        • Throttling
        • Compound Documents
        • File Uploads
        • API Endpoint Attributes
        • Masquerading
      • OAuth2
        • OAuth2 Overview
        • OAuth2 Endpoints
        • Developer Keys
      • Resources
        • Access Tokens
        • Account Calendars
        • Account Domain Lookups
        • Account Notifications
        • Account Reports
        • Accounts
        • Accounts (LTI)
        • Admins
        • Analytics
        • Announcement External Feeds
        • Announcements
        • API Token Scopes
        • Appointment Groups
        • Assignment Extensions
        • Assignment Groups
        • Assignments
        • Authentication Providers
        • Authentications Log
        • Blackout Dates
        • BlockEditorTemplate
        • Blueprint Courses
        • Bookmarks
        • Brand Configs
        • Calendar Events
        • Collaborations
        • CommMessages
        • Communication Channels
        • Conferences
        • Content Exports
        • Content Migrations
        • Content Security Policy Settings
        • Content Shares
        • Conversations
        • Course Audit log
        • Course Pace
        • Course Quiz Extensions
        • Course Reports
        • Courses
        • Custom Gradebook Columns
        • Developer Key Account Bindings
        • Developer Keys
        • Discussion Topics
        • Enrollment Terms
        • Enrollments
        • ePortfolios
        • ePub Exports
        • Error Reports
        • External Tools
        • Favorites
        • Feature Flags
        • Files
        • Grade Change Log
        • Gradebook History
        • Grading Period Sets
        • Grading Periods
        • Grading Standards
        • Group Categories
        • Groups
        • History
        • InstAccess tokens
        • JWTs
        • Late Policy
        • Learning Object Dates
        • Line Items
        • LiveAssessments
        • Logins
        • LTI Launch Definitions
        • LTI Registrations
        • LTI Resource Links
        • Media Objects
        • Moderated Grading
        • Modules
        • Names and Role
        • New Quiz Items
        • New Quizzes
        • New Quizzes Accommodations
        • New Quizzes Reports
        • Notification Preferences
        • Originality Reports
        • Outcome Groups
        • Outcome Imports
        • Outcome Results
        • Outcomes
        • Pages
        • Peer Reviews
        • Planner
        • Poll Sessions
        • PollChoices
        • Polls
        • PollSubmissions
        • Proficiency Ratings
        • Progress
        • Public JWK
        • Quiz Assignment Overrides
        • Quiz Extensions
        • Quiz IP Filters
        • Quiz Question Groups
        • Quiz Questions
        • Quiz Reports
        • Quiz Statistics
        • Quiz Submission Events
        • Quiz Submission Files
        • Quiz Submission Questions
        • Quiz Submission User List
        • Quiz Submissions
        • Quizzes
        • Result
        • Roles
        • Rubrics
        • Sandboxes
        • Score
        • Search
        • Sections
        • Services
        • Shared Brand Configs
        • SIS Import Errors
        • SIS Imports
        • SIS Integration
        • Smart Search
        • Submission Comments
        • Submissions
        • Tabs
        • Temporary Enrollment Pairings
        • User Observees
        • Users
        • What If Grades
      • Outcomes
        • Outcomes CSV Format
      • Group Categories
        • Group Categories CSV Format
      • SIS
        • SIS CSV Format
      • External Tools
        • LTI
          • Introduction
          • Registration
          • Launch Overview
          • Configuring
          • Variable Substitutions
          • Deep Linking
          • Grading
          • Provisioning
          • PostMessage
          • Platform Notification Service
          • Placements
            • Placements Overview
            • Navigation
            • Homework Submission
            • Editor Button
            • Migration Selection
            • Link Selection (Modules)
            • Assignment Selection
            • Collaborations
        • xAPI
        • Canvas Roles
        • Plagiarism Detection Platform
          • Overview
          • Plagiarism Detection Platform Assignments
          • Plagiarism Detection Platform Users
          • Plagiarism Detection Submissions
          • Webhooks Subscriptions for Plagiarism Platform
          • JWT Access Tokens
      • Data Services
        • Live Events
          • Overview
            • Introduction
            • Setup
            • Caliper
            • Metadata
          • Event Format
            • Canvas
              • Account
              • Asset
              • Assignment
              • Attachment
              • Content
              • Conversation
              • Course
              • Discussion
              • Enrollment
              • Grade
              • Group
              • Learning
              • Logged
              • Module
              • Outcome
              • Outcomes
              • Plagiarism
              • Quiz
              • Rubric
              • Sis
              • Submission
              • Syllabus
              • User
              • Wiki
            • Caliper IMS 1.1
              • Assessment
              • Basic
              • Forum
              • Grading
              • Navigation Events
              • Session
    • Catalog
      • APIs
        • Analytics
        • Bulk Enrollments
        • Catalogs
        • Certificates
        • Completed Certificates
        • Courses
        • Email Domain Set
        • Enrollments
        • Orders
        • Programs
        • Progresses
        • Tags
        • User Registrations
        • Users
        • Waitlist Applicants
    • Credentials
      • Getting Started
      • Authentication
        • Password-Based Authentication
        • Authorization Code-Based Authentication
      • Pagination
      • APIs
        • Assertions
        • Backpack
        • Badgeclasses
        • Issuers
        • Organizations
        • Users
      • Release Notes
    • Data Access Platform
      • Key Concepts
      • Data Formats
      • Rate Limits & Policies
      • Datasets
        • Namespaces
          • canvas
            • canvas types
          • canvas_logs
          • catalog
        • Additional Notes
        • Entity Relationship Diagram
      • Query API
        • Authentication
        • Reference
      • Command Line (DAP CLI)
        • Getting Started
        • Secure Connection
        • Reference
          • dap snapshot
          • dap incremental
          • dap list
          • dap schema
          • dap initdb
          • dap syncdb
          • dap dropdb
      • Client Library
        • Examples
        • Reference
      • Release Notes
      • Status
    • DataSync
      • Interop API
      • Interop Data API
      • Grades Exchange API
      • OneRoster API
      • Platform API
    • Instructure Media
      • Studio API
    • Quizzes
      • Quiz API
Powered by GitBook

Copyright © 2008-2024 Instructure, Inc. All rights reserved. Various trademarks held by their respective owners.

On this page
  • Create a single rubric
  • Update a single rubric
  • Delete a single
  • List rubrics
  • Get a single rubric
  • Get the courses and assignments for
  • Creates a rubric using a CSV file
  • Templated file for importing a rubric
  • Get the status of a rubric import
  • Create a single rubric assessment
  • Update a single rubric assessment
  • Delete a single rubric assessment
  • Create a RubricAssociation
  • Update a RubricAssociation
  • Delete a RubricAssociation

Was this helpful?

  1. Services
  2. Canvas LMS
  3. Resources

Rubrics

API for accessing rubric information.

A Rubric object looks like:

{
  // the ID of the rubric
  "id": 1,
  // title of the rubric
  "title": "some title",
  // the context owning the rubric
  "context_id": 1,
  "context_type": "Course",
  "points_possible": 10.0,
  "reusable": false,
  "read_only": true,
  // whether or not free-form comments are used
  "free_form_criterion_comments": true,
  "hide_score_total": true,
  // An array with all of this Rubric's grading Criteria
  "data": null,
  // If an assessment type is included in the 'include' parameter, includes an
  // array of rubric assessment objects for a given rubric, based on the
  // assessment type requested. If the user does not request an assessment type
  // this key will be absent.
  "assessments": null,
  // If an association type is included in the 'include' parameter, includes an
  // array of rubric association objects for a given rubric, based on the
  // association type requested. If the user does not request an association type
  // this key will be absent.
  "associations": null
}

A RubricCriterion object looks like:

{
  // the ID of the criterion
  "id": "_10",
  "description": null,
  "long_description": null,
  "points": 5,
  "criterion_use_range": false,
  // the possible ratings for this Criterion
  "ratings": null
}

A RubricRating object looks like:

{
  "id": "name_2",
  "criterion_id": "_10",
  "description": null,
  "long_description": null,
  "points": 5
}

A RubricAssessment object looks like:

{
  // the ID of the rubric
  "id": 1,
  // the rubric the assessment belongs to
  "rubric_id": 1,
  "rubric_association_id": 2,
  "score": 5.0,
  // the object of the assessment
  "artifact_type": "Submission",
  // the id of the object of the assessment
  "artifact_id": 3,
  // the current number of attempts made on the object of the assessment
  "artifact_attempt": 2,
  // the type of assessment. values will be either 'grading', 'peer_review', or
  // 'provisional_grade'
  "assessment_type": "grading",
  // user id of the person who made the assessment
  "assessor_id": 6,
  // (Optional) If 'full' is included in the 'style' parameter, returned
  // assessments will have their full details contained in their data hash. If the
  // user does not request a style, this key will be absent.
  "data": null,
  // (Optional) If 'comments_only' is included in the 'style' parameter, returned
  // assessments will include only the comments portion of their data hash. If the
  // user does not request a style, this key will be absent.
  "comments": null
}

A RubricAssociation object looks like:

{
  // the ID of the association
  "id": 1,
  // the ID of the rubric
  "rubric_id": 1,
  // the ID of the object this association links to
  "association_id": 1,
  // the type of object this association links to
  "association_type": "Course",
  // Whether or not the associated rubric is used for grade calculation
  "use_for_grading": true,
  "summary_data": "",
  // Whether or not the association is for grading (and thus linked to an
  // assignment) or if it's to indicate the rubric should appear in its context.
  // Values will be grading or bookmark.
  "purpose": "grading",
  // Whether or not the score total is displayed within the rubric. This option is
  // only available if the rubric is not used for grading.
  "hide_score_total": true,
  "hide_points": true,
  "hide_outcome_results": true
}

POST /api/v1/courses/:course_id/rubrics

Scope: url:POST|/api/v1/courses/:course_id/rubrics

Returns the rubric with the given id.

Unfortuantely this endpoint does not return a standard Rubric object, instead it returns a hash that looks like

{ 'rubric': Rubric, 'rubric_association': RubricAssociation }

This may eventually be deprecated in favor of a more standardized return value, but that is not currently planned.

When true, rubric[criteria] will be ignored (does not need to be included
at all). Instead, rubric criteria will be automatically generated from a
large language model (llm).

Request Parameters:

Parameter
Type
Description

id

integer

The id of the rubric

rubric_association_id

integer

rubric[title]

string

The title of the rubric

rubric[free_form_criterion_comments]

boolean

Whether or not you can write custom comments in the ratings field for a rubric

rubric_association[association_id]

integer

The id of the object with which this rubric is associated

rubric_association[association_type]

string

The type of object this rubric is associated with

Allowed values: Assignment, Course, Account

rubric_association[use_for_grading]

boolean

Whether or not the associated rubric is used for grade calculation

rubric_association[hide_score_total]

boolean

Whether or not the score total is displayed within the rubric. This option is only available if the rubric is not used for grading.

rubric_association[purpose]

string

Whether or not the association is for grading (and thus linked to an assignment) or if it’s to indicate the rubric should appear in its context

rubric[criteria]

Hash

An indexed Hash of RubricCriteria objects where the keys are integer ids and the values are the RubricCriteria objects

PUT /api/v1/courses/:course_id/rubrics/:id

Scope: url:PUT|/api/v1/courses/:course_id/rubrics/:id

Returns the rubric with the given id.

Unfortuantely this endpoint does not return a standard Rubric object, instead it returns a hash that looks like

{ 'rubric': Rubric, 'rubric_association': RubricAssociation }

This may eventually be deprecated in favor of a more standardized return value, but that is not currently planned.

Request Parameters:

Parameter
Type
Description

id

integer

The id of the rubric

rubric_association_id

integer

rubric[title]

string

The title of the rubric

rubric[free_form_criterion_comments]

boolean

Whether or not you can write custom comments in the ratings field for a rubric

rubric[skip_updating_points_possible]

boolean

Whether or not to update the points possible

rubric_association[association_id]

integer

The id of the object with which this rubric is associated

rubric_association[association_type]

string

The type of object this rubric is associated with

Allowed values: Assignment, Course, Account

rubric_association[use_for_grading]

boolean

Whether or not the associated rubric is used for grade calculation

rubric_association[hide_score_total]

boolean

Whether or not the score total is displayed within the rubric. This option is only available if the rubric is not used for grading.

rubric_association[purpose]

string

Whether or not the association is for grading (and thus linked to an assignment) or if it’s to indicate the rubric should appear in its context

Allowed values: grading, bookmark

rubric[criteria]

Hash

An indexed Hash of RubricCriteria objects where the keys are integer ids and the values are the RubricCriteria objects

DELETE /api/v1/courses/:course_id/rubrics/:id

Scope: url:DELETE|/api/v1/courses/:course_id/rubrics/:id

Deletes a Rubric and removes all RubricAssociations.

GET /api/v1/accounts/:account_id/rubrics

Scope: url:GET|/api/v1/accounts/:account_id/rubrics

GET /api/v1/courses/:course_id/rubrics

Scope: url:GET|/api/v1/courses/:course_id/rubrics

Returns the paginated list of active rubrics for the current context.

GET /api/v1/accounts/:account_id/rubrics/:id

Scope: url:GET|/api/v1/accounts/:account_id/rubrics/:id

GET /api/v1/courses/:course_id/rubrics/:id

Scope: url:GET|/api/v1/courses/:course_id/rubrics/:id

Returns the rubric with the given id.

Request Parameters:

Parameter
Type
Description

include[]

string

Related records to include in the response.

Allowed values: assessments, graded_assessments, peer_assessments, associations, assignment_associations, course_associations, account_associations

style

string

Applicable only if assessments are being returned. If included, returns either all criteria data associated with the assessment, or just the comments. If not included, both data and comments are omitted.

Allowed values: full, comments_only

GET /api/v1/courses/:course_id/rubrics/:id/used_locations

Scope: url:GET|/api/v1/courses/:course_id/rubrics/:id/used_locations

GET /api/v1/accounts/:account_id/rubrics/:id/used_locations

Scope: url:GET|/api/v1/accounts/:account_id/rubrics/:id/used_locations

Returns the rubric with the given id.

POST /api/v1/courses/:course_id/rubrics/upload

Scope: url:POST|/api/v1/courses/:course_id/rubrics/upload

POST /api/v1/accounts/:account_id/rubrics/upload

Scope: url:POST|/api/v1/accounts/:account_id/rubrics/upload

Returns the rubric import object that was created

GET /api/v1/rubrics/upload_template

Scope: url:GET|/api/v1/rubrics/upload_template

GET /api/v1/courses/:course_id/rubrics/upload/:id

Scope: url:GET|/api/v1/courses/:course_id/rubrics/upload/:id

GET /api/v1/accounts/:account_id/rubrics/upload/:id

Scope: url:GET|/api/v1/accounts/:account_id/rubrics/upload/:id

Can return the latest rubric import for an account or course, or a specific import by id

POST /api/v1/courses/:course_id/rubric_associations/:rubric_association_id/rubric_assessments

Scope: url:POST|/api/v1/courses/:course_id/rubric_associations/:rubric_association_id/rubric_assessments

Returns the rubric assessment with the given id. The returned object also provides the information of

:ratings, :assessor_name, :related_group_submissions_and_assessments, :artifact

Request Parameters:

Parameter
Type
Description

course_id

integer

The id of the course

rubric_association_id

integer

The id of the object with which this rubric assessment is associated

provisional

string

(optional) Indicates whether this assessment is provisional, defaults to false.

final

string

(optional) Indicates a provisional grade will be marked as final. It only takes effect if the provisional param is passed as true. Defaults to false.

graded_anonymously

boolean

(optional) Defaults to false

rubric_assessment

Hash

A Hash of data to complement the rubric assessment: The user id that refers to the person being assessed

Assessment type. There are only three valid types: ‘grading’, ‘peer_review’, or ‘provisional_grade’

The points awarded for this row.

Comments to add for this row.

For each criterion_id, change the id by the criterion number, ex: criterion_123 If the criterion_id is not specified it defaults to false, and nothing is updated.

PUT /api/v1/courses/:course_id/rubric_associations/:rubric_association_id/rubric_assessments/:id

Scope: url:PUT|/api/v1/courses/:course_id/rubric_associations/:rubric_association_id/rubric_assessments/:id

Returns the rubric assessment with the given id. The returned object also provides the information of

:ratings, :assessor_name, :related_group_submissions_and_assessments, :artifact

Request Parameters:

Parameter
Type
Description

id

integer

The id of the rubric assessment

course_id

integer

The id of the course

rubric_association_id

integer

The id of the object with which this rubric assessment is associated

provisional

string

(optional) Indicates whether this assessment is provisional, defaults to false.

final

string

(optional) Indicates a provisional grade will be marked as final. It only takes effect if the provisional param is passed as true. Defaults to false.

graded_anonymously

boolean

(optional) Defaults to false

rubric_assessment

Hash

A Hash of data to complement the rubric assessment: The user id that refers to the person being assessed

Assessment type. There are only three valid types: ‘grading’, ‘peer_review’, or ‘provisional_grade’

The points awarded for this row.

Comments to add for this row.

For each criterion_id, change the id by the criterion number, ex: criterion_123 If the criterion_id is not specified it defaults to false, and nothing is updated.

DELETE /api/v1/courses/:course_id/rubric_associations/:rubric_association_id/rubric_assessments/:id

Scope: url:DELETE|/api/v1/courses/:course_id/rubric_associations/:rubric_association_id/rubric_assessments/:id

Deletes a rubric assessment

POST /api/v1/courses/:course_id/rubric_associations

Scope: url:POST|/api/v1/courses/:course_id/rubric_associations

Returns the rubric with the given id.

Request Parameters:

Parameter
Type
Description

rubric_association[rubric_id]

integer

The id of the Rubric

rubric_association[association_id]

integer

The id of the object with which this rubric is associated

rubric_association[association_type]

string

The type of object this rubric is associated with

Allowed values: Assignment, Course, Account

rubric_association[title]

string

The name of the object this rubric is associated with

rubric_association[use_for_grading]

boolean

Whether or not the associated rubric is used for grade calculation

rubric_association[hide_score_total]

boolean

Whether or not the score total is displayed within the rubric. This option is only available if the rubric is not used for grading.

rubric_association[purpose]

string

Whether or not the association is for grading (and thus linked to an assignment) or if it’s to indicate the rubric should appear in its context

Allowed values: grading, bookmark

rubric_association[bookmarked]

boolean

Whether or not the associated rubric appears in its context

PUT /api/v1/courses/:course_id/rubric_associations/:id

Scope: url:PUT|/api/v1/courses/:course_id/rubric_associations/:id

Returns the rubric with the given id.

Request Parameters:

Parameter
Type
Description

id

integer

The id of the RubricAssociation to update

rubric_association[rubric_id]

integer

The id of the Rubric

rubric_association[association_id]

integer

The id of the object with which this rubric is associated

rubric_association[association_type]

string

The type of object this rubric is associated with

Allowed values: Assignment, Course, Account

rubric_association[title]

string

The name of the object this rubric is associated with

rubric_association[use_for_grading]

boolean

Whether or not the associated rubric is used for grade calculation

rubric_association[hide_score_total]

boolean

Whether or not the score total is displayed within the rubric. This option is only available if the rubric is not used for grading.

rubric_association[purpose]

string

Whether or not the association is for grading (and thus linked to an assignment) or if it’s to indicate the rubric should appear in its context

Allowed values: grading, bookmark

rubric_association[bookmarked]

boolean

Whether or not the associated rubric appears in its context

DELETE /api/v1/courses/:course_id/rubric_associations/:id

Scope: url:DELETE|/api/v1/courses/:course_id/rubric_associations/:id

Delete the RubricAssociation with the given ID


PreviousRolesNextSandboxes

Last updated 15 days ago

Was this helpful?

TODO: document once feature is public: [Boolean]

The id of the rubric association object (not the course/assignment itself, but the join table record id). It can be used in place of and if desired.

The id of the rubric association object (not the course/assignment itself, but the join table record id). It can be used in place of and if desired.

Returns a object.

Returns a object.

Returns a object.

Returns a object.

Returns a object.

Returns a object.

This documentation is generated directly from the Canvas LMS source code, available .

rubric_assessment[user_id]
rubric_assessment[assessment_type]
rubric_assessment[criterion_id][points]
rubric_assessment[criterion_id][comments]
rubric_assessment[user_id]
rubric_assessment[assessment_type]
rubric_assessment[criterion_id][points]
rubric_assessment[criterion_id][comments]
RubricsController#create
rubric
RubricsController#update
RubricsController#destroy
RubricsApiController#index
RubricsApiController#show
RubricsApiController#used_locations
RubricsApiController#upload
RubricsApiController#upload_template
RubricsApiController#upload_status
RubricAssessmentsController#create
RubricAssessmentsController#update
RubricAssessmentsController#destroy
RubricAssociationsController#create
RubricAssociationsController#update
RubricAssociationsController#destroy
on Github
Create a single rubric
Update a single rubric
Delete a single
Rubric
List rubrics
Get a single rubric
Rubric
Get the courses and assignments for
Creates a rubric using a CSV file
Templated file for importing a rubric
Get the status of a rubric import
Create a single rubric assessment
Update a single rubric assessment
Delete a single rubric assessment
RubricAssessment
Create a RubricAssociation
RubricAssociation
Update a RubricAssociation
RubricAssociation
Delete a RubricAssociation
RubricAssociation
rubric_association
rubric_association
rubric_association
rubric_association