Rubrics API

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
}

Create a single rubric RubricsController#create

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.

Request Parameters:

Parameter Type Description
id integer

The id of the rubric

rubric_association_id integer

The id of the object with which this rubric is associated

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

Update a single rubric RubricsController#update

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

The id of the object with which this rubric is associated

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 a single rubric RubricsController#destroy

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.

Returns a Rubric object

List rubrics RubricsApiController#index

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 a single rubric RubricsApiController#show

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

Returns a Rubric object

Get the courses and assignments for RubricsApiController#used_locations

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.

Creates a rubric using a CSV file RubricsApiController#upload

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

Templated file for importing a rubric RubricsApiController#upload_template

GET /api/v1/rubrics/upload_template

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

Get the status of a rubric import RubricsApiController#upload_status

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

Create a single rubric assessment RubricAssessmentsController#create

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

rubric_assessment[user_id]

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

rubric_assessment[assessment_type]

The points awarded for this row.

rubric_assessment[criterion_id][points]

Comments to add for this row.

rubric_assessment[criterion_id][comments]

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.

Update a single rubric assessment RubricAssessmentsController#update

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

rubric_assessment[user_id]

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

rubric_assessment[assessment_type]

The points awarded for this row.

rubric_assessment[criterion_id][points]

Comments to add for this row.

rubric_assessment[criterion_id][comments]

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 a single rubric assessment RubricAssessmentsController#destroy

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

Returns a RubricAssessment object

Create a RubricAssociation RubricAssociationsController#create

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

Returns a RubricAssociation object

Update a RubricAssociation RubricAssociationsController#update

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

Returns a RubricAssociation object

Delete a RubricAssociation RubricAssociationsController#destroy

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

Returns a RubricAssociation object