---
title: "PATCH /v1/courses/{courseId}/courseWork/{courseWorkId}/rubric"
method: PATCH
path: "/v1/courses/{courseId}/courseWork/{courseWorkId}/rubric"
tags: ["courses"]
---

# PATCH /v1/courses/{courseId}/courseWork/{courseWorkId}/rubric

`PATCH /v1/courses/{courseId}/courseWork/{courseWorkId}/rubric`

Updates a rubric. See google.classroom.v1.Rubric for details of which fields can be updated. Rubric update capabilities are [limited](/classroom/rubrics/limitations) once grading has started. The requesting user and course owner must have rubrics creation capabilities. For details, see [licensing requirements](https://developers.google.com/workspace/classroom/rubrics/limitations#license-requirements). This request must be made by the Google Cloud console of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the parent course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project didn't create the corresponding course work, if the user isn't permitted to make the requested modification to the rubric, or for access errors. This error code is also returned if grading has already started on the rubric. * `INVALID_ARGUMENT` if the request is malformed and for the following request error: * `RubricCriteriaInvalidFormat` * `NOT_FOUND` if the requested course, course work, or rubric doesn't exist or if the user doesn't have access to the corresponding course work. * `INTERNAL` if grading has already started on the rubric.

## Path parameters

- `courseId` string, required
- `courseWorkId` string, required

## Query parameters

- `id` string
- `updateMask` string

## Request body

- Rubric — The rubric of the course work. A rubric is a scoring guide used to evaluate student work and give feedback. For further details, see [Rubrics structure and known limitations](/classroom/rubrics/limitations).
  - `criteria` Criterion[] — List of criteria. Each criterion is a dimension on which performance is rated.
    - `id` string — The criterion ID. On creation, an ID is assigned.
    - `levels` Level[] — The list of levels within this criterion.
      - `title` string — The title of the level. If the level has no points set, title must be set.
      - `description` string — The description of the level.
      - `id` string — The level ID. On creation, an ID is assigned.
      - `points` number, double — Optional points associated with this level. If set, all levels within the rubric must specify points and the value must be distinct across all levels within a single criterion. 0 is distinct from no points.
    - `title` string — The title of the criterion.
    - `description` string — The description of the criterion.
  - `sourceSpreadsheetId` string — Input only. Immutable. Google Sheets ID of the spreadsheet. This spreadsheet must contain formatted rubric settings. See [Create or reuse a rubric for an assignment](https://support.google.com/edu/classroom/answer/9335069). Use of this field requires the `https://www.googleapis.com/auth/spreadsheets.readonly` or `https://www.googleapis.com/auth/spreadsheets` scope.
  - `courseId` string — Identifier of the course. Read-only.
  - `creationTime` string, google-datetime — Output only. Timestamp when this rubric was created. Read-only.
  - `id` string — Classroom-assigned identifier for the rubric. This is unique among rubrics for the relevant course work. Read-only.
  - `updateTime` string, google-datetime — Output only. Timestamp of the most recent change to this rubric. Read-only.
  - `courseWorkId` string — Identifier for the course work this corresponds to. Read-only.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/classroom.md) · [All operations](https://skmtc.net/google/apis/classroom/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/classroom/versions/1b98f151d40b/schema)
