The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December.
Read our blog post for more info about this change.
I' trying to create rubrics using the REST API. I have a number of questions, but most seriously, I seem unable to give non-zero points to a criterion. Here's the JSON that I have used to successfully create a rubric with one criterion:
{"id":"1006",
"rubric":{
"title":"Small Rubric 6",
"criteria":{"1":{"id":"1","description":"Criterion 1","criterion_points":1,"points":1}}},
"rubric_association":{
"association_type":"Course",
"association_id":19297}}
The result is:
{"rubric":{"id":216915,"user_id":21489,"rubric_id":null,"context_id":19297,"context_type":"Course","data":[{"description":"Criterion 1","long_description":"","points":0,"id":"1","criterion_use_range":false,"ratings":[]}],"points_possible":0.0,"title":"Small Rubric 6","description":null,"created_at":"2021-08-19T14:39:03Z","updated_at":"2021-08-19T14:39:03Z","reusable":false,"public":false,"read_only":false,"association_count":0,"free_form_criterion_comments":null,"context_code":"course_19297","migration_id":null,"hide_score_total":null,"workflow_state":"active","root_account_id":1,"criteria":[{"description":"Criterion 1","long_description":"","points":0,"id":"1","criterion_use_range":false,"ratings":[]}],"permissions":{"read":true,"create":true,"delete_associations":true,"update":true,"delete":true}},"rubric_association":{"id":442656,"rubric_id":216915,"association_id":19297,"association_type":"Course","use_for_grading":false,"created_at":"2021-08-19T14:39:03Z","updated_at":"2021-08-19T14:39:03Z","title":"Blank - John Boyland - 1","summary_data":null,"purpose":"unknown","url":null,"context_id":19297,"context_type":"Course","hide_score_total":null,"bookmarked":true,"context_code":"course_19297","hide_points":false,"hide_outcome_results":false,"root_account_id":1,"workflow_state":"active","assessment_requests":[],"permissions":{"update":true,"delete":true,"manage":true,"submit":false,"view_rubric_assessments":true},"skip_updating_points_possible":false}}
But most importantly: how do I specify the points fo the criterion?
Solved! Go to Solution.
I've worked further and can answer some of my own questions (at least partly). The following JSON creates a rubric with points:
{"rubric":{
"title":"Small Rubric 12",
"criteria":{
"1":{
"description":"Criterion 1",
"ratings":{
"1":{
"description":"Full credit",
"points":1.0},
"2":{
"description":"No credit",
"points":0.0}
}}}},
"rubric_association":{
"association_type":"Course",
"association_id":19297}}
The result of the sample is
{"rubric":{"id":217021,"user_id":21489,"rubric_id":null,"context_id":19297,"context_type":"Course","data":[{"description":"Criterion 1","long_description":"","points":1.0,"id":"_1593","criterion_use_range":false,"ratings":[{"description":"Full credit","long_description":"","points":1.0,"criterion_id":"_1593","id":"_4031"},{"description":"No credit","long_description":"","points":0.0,"criterion_id":"_1593","id":"_8692"}]}],"points_possible":1.0,"title":"Small Rubric 12","description":null,"created_at":"2021-08-19T15:51:25Z","updated_at":"2021-08-19T15:51:25Z","reusable":false,"public":false,"read_only":false,"association_count":0,"free_form_criterion_comments":null,"context_code":"course_19297","migration_id":null,"hide_score_total":null,"workflow_state":"active","root_account_id":1,"criteria":[{"description":"Criterion 1","long_description":"","points":1.0,"id":"_1593","criterion_use_range":false,"ratings":[{"description":"Full credit","long_description":"","points":1.0,"criterion_id":"_1593","id":"_4031"},{"description":"No credit","long_description":"","points":0.0,"criterion_id":"_1593","id":"_8692"}]}],"permissions":{"read":true,"create":true,"delete_associations":true,"update":true,"delete":true}},"rubric_association":{"id":442842,"rubric_id":217021,"association_id":19297,"association_type":"Course","use_for_grading":false,"created_at":"2021-08-19T15:51:25Z","updated_at":"2021-08-19T15:51:25Z","title":"Blank - John Boyland - 1","summary_data":null,"purpose":"unknown","url":null,"context_id":19297,"context_type":"Course","hide_score_total":null,"bookmarked":true,"context_code":"course_19297","hide_points":false,"hide_outcome_results":false,"root_account_id":1,"workflow_state":"active","assessment_requests":[],"permissions":{"update":true,"delete":true,"manage":true,"submit":false,"view_rubric_assessments":true},"skip_updating_points_possible":false}}
I've worked further and can answer some of my own questions (at least partly). The following JSON creates a rubric with points:
{"rubric":{
"title":"Small Rubric 12",
"criteria":{
"1":{
"description":"Criterion 1",
"ratings":{
"1":{
"description":"Full credit",
"points":1.0},
"2":{
"description":"No credit",
"points":0.0}
}}}},
"rubric_association":{
"association_type":"Course",
"association_id":19297}}
The result of the sample is
{"rubric":{"id":217021,"user_id":21489,"rubric_id":null,"context_id":19297,"context_type":"Course","data":[{"description":"Criterion 1","long_description":"","points":1.0,"id":"_1593","criterion_use_range":false,"ratings":[{"description":"Full credit","long_description":"","points":1.0,"criterion_id":"_1593","id":"_4031"},{"description":"No credit","long_description":"","points":0.0,"criterion_id":"_1593","id":"_8692"}]}],"points_possible":1.0,"title":"Small Rubric 12","description":null,"created_at":"2021-08-19T15:51:25Z","updated_at":"2021-08-19T15:51:25Z","reusable":false,"public":false,"read_only":false,"association_count":0,"free_form_criterion_comments":null,"context_code":"course_19297","migration_id":null,"hide_score_total":null,"workflow_state":"active","root_account_id":1,"criteria":[{"description":"Criterion 1","long_description":"","points":1.0,"id":"_1593","criterion_use_range":false,"ratings":[{"description":"Full credit","long_description":"","points":1.0,"criterion_id":"_1593","id":"_4031"},{"description":"No credit","long_description":"","points":0.0,"criterion_id":"_1593","id":"_8692"}]}],"permissions":{"read":true,"create":true,"delete_associations":true,"update":true,"delete":true}},"rubric_association":{"id":442842,"rubric_id":217021,"association_id":19297,"association_type":"Course","use_for_grading":false,"created_at":"2021-08-19T15:51:25Z","updated_at":"2021-08-19T15:51:25Z","title":"Blank - John Boyland - 1","summary_data":null,"purpose":"unknown","url":null,"context_id":19297,"context_type":"Course","hide_score_total":null,"bookmarked":true,"context_code":"course_19297","hide_points":false,"hide_outcome_results":false,"root_account_id":1,"workflow_state":"active","assessment_requests":[],"permissions":{"update":true,"delete":true,"manage":true,"submit":false,"view_rubric_assessments":true},"skip_updating_points_possible":false}}
Thank you so much for sharing the code snippets and talking through the code.
I found this extremely helpful and I was finally able to solve my own issues with creating a rubric through the API.
Hello there, @boyland ...
Full disclosure... I have practically zero experience with REST API, and so I probably don't understand why you would want to use this method to create a rubric in Canvas. (I'm sure there are reasons that I'm not thinking of...and would be interested to learn more.) Have you ever tried the "Canvancement" (Canvas Enhancement) from @James Jones where you can create a rubric in an Excel spreadsheet and import it into a Canvas course? I use it all the time, and it's fantastic! Importing Rubrics from a Spreadsheet - Instructure Community
I know this isn't a direct answer to your question, but I thought I'd share this information with you in case you've not seen it before. Hope is will be of some help/use to you.
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.