🚀 Heads up: Our API Docs Have Moved!
We have relocated to Instructure Developer Documentation Portal. 🎉 Please update your bookmarks. This page will automatically redirect after July 1, 2026.
We have relocated to Instructure Developer Documentation Portal. 🎉 Please update your bookmarks. This page will automatically redirect after July 1, 2026.
Custom Gradebook Columns API
API for adding additional columns to the gradebook. Custom gradebook columns will be displayed with the other frozen gradebook columns.
A CustomColumn object looks like:
{
// The ID of the custom gradebook column
"id": 2,
// When true, this column's visibility will be toggled in the Gradebook when a
// user selects to show or hide notes
"teacher_notes": false,
// header text
"title": "Stuff",
// column order
"position": 1,
// won't be displayed if hidden is true
"hidden": false,
// won't be editable in the gradebook UI
"read_only": true
}
A ColumnDatum object looks like:
// ColumnDatum objects contain the entry for a column for each user.
{
"content": "Nut allergy",
"user_id": 2
}
List custom gradebook columns CustomGradebookColumnsApiController#index
GET /api/v1/courses/:course_id/custom_gradebook_columns
Scope:
A paginated list of all custom gradebook columns for a course
url:GET|/api/v1/courses/:course_id/custom_gradebook_columns
Request Parameters:
| Parameter | Type | Description | |
|---|---|---|---|
| include_hidden | boolean | Include hidden parameters (defaults to false) |
Create a custom gradebook column CustomGradebookColumnsApiController#create
POST /api/v1/courses/:course_id/custom_gradebook_columns
Scope:
Create a custom gradebook column
url:POST|/api/v1/courses/:course_id/custom_gradebook_columns
Request Parameters:
| Parameter | Type | Description | |
|---|---|---|---|
| column[title] | Required | string | no description |
| column[position] | integer | The position of the column relative to other custom columns | |
| column[hidden] | boolean | Hidden columns are not displayed in the gradebook | |
| column[teacher_notes] | boolean | Set this if the column is created by a teacher. The gradebook only supports one teacher_notes column. | |
| column[read_only] | boolean | Set this to prevent the column from being editable in the gradebook ui |
Update a custom gradebook column CustomGradebookColumnsApiController#update
PUT /api/v1/courses/:course_id/custom_gradebook_columns/:id
Scope:
Accepts the same parameters as custom gradebook column creation
Returns a
CustomColumn
object
url:PUT|/api/v1/courses/:course_id/custom_gradebook_columns/:id
Delete a custom gradebook column CustomGradebookColumnsApiController#destroy
DELETE /api/v1/courses/:course_id/custom_gradebook_columns/:id
Scope:
Permanently deletes a custom column and its associated data
Returns a
CustomColumn
object
url:DELETE|/api/v1/courses/:course_id/custom_gradebook_columns/:id
Reorder custom columns CustomGradebookColumnsApiController#reorder
POST /api/v1/courses/:course_id/custom_gradebook_columns/reorder
Scope:
Puts the given columns in the specified order
<b>200 OK</b> is returned if successful
url:POST|/api/v1/courses/:course_id/custom_gradebook_columns/reorder
Request Parameters:
| Parameter | Type | Description | |
|---|---|---|---|
| order[] | Required | integer | no description |
List entries for a column CustomGradebookColumnDataApiController#index
GET /api/v1/courses/:course_id/custom_gradebook_columns/:id/data
Scope:
This does not list entries for students without associated data.
url:GET|/api/v1/courses/:course_id/custom_gradebook_columns/:id/data
Request Parameters:
| Parameter | Type | Description | |
|---|---|---|---|
| include_hidden | boolean | If true, hidden columns will be included in the result. If false or absent, only visible columns will be returned. |
Update column data CustomGradebookColumnDataApiController#update
PUT /api/v1/courses/:course_id/custom_gradebook_columns/:id/data/:user_id
Scope:
Set the content of a custom column
url:PUT|/api/v1/courses/:course_id/custom_gradebook_columns/:id/data/:user_id
Request Parameters:
| Parameter | Type | Description | |
|---|---|---|---|
| column_data[content] | Required | string | Column content. Setting this to blank will delete the datum object. |
Bulk update column data CustomGradebookColumnDataApiController#bulk_update
PUT /api/v1/courses/:course_id/custom_gradebook_column_data
Scope:
Set the content of custom columns
{
"column_data": [
{
"column_id": example_column_id,
"user_id": example_student_id,
"content": example_content
},
{
"column_id": example_column_id,
"user_id": example_student_id,
"content: example_content
}
]
}
url:PUT|/api/v1/courses/:course_id/custom_gradebook_column_data
Request Parameters:
| Parameter | Type | Description | |
|---|---|---|---|
| column_data[] | Required | Array | Column content. Setting this to an empty string will delete the data object. |
Example Request: