Google Classroom add-ons are now generally available to developers! Please see the
add-ons documentation for more information.
Method: courses.patch
Stay organized with collections
Save and categorize content based on your preferences.
Updates one or more fields in a course.
This method returns the following error codes:
PERMISSION_DENIED
if the requesting user is not permitted to modify the requested course or for access errors.
NOT_FOUND
if no course exists with the requested ID.
INVALID_ARGUMENT
if invalid fields are specified in the update mask or if no update mask is supplied.
FAILED_PRECONDITION
for the following request errors:
- CourseNotModifiable
- InactiveCourseOwner
- IneligibleOwner
- CourseTitleCannotContainUrl
HTTP request
PATCH https://classroom.googleapis.com/v1/courses/{id}
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters |
id |
string
Identifier of the course to update. This identifier can be either the Classroom-assigned identifier or an alias .
|
Query parameters
Parameters |
updateMask |
string (FieldMask format)
Mask that identifies which fields on the course to update. This field is required to do an update. The update will fail if invalid fields are specified. The following fields are valid:
name
section
descriptionHeading
description
room
courseState
ownerId
Note: patches to ownerId are treated as being effective immediately, but in practice it may take some time for the ownership transfer of all affected resources to complete. When set in a query parameter, this field should be specified as updateMask=<field1>,<field2>,...
This is a comma-separated list of fully qualified names of fields. Example: "user.displayName,photo" .
|
Request body
The request body contains an instance of Course
.
Response body
If successful, the response body contains an instance of Course
.
Authorization scopes
Requires the following OAuth scope:
https://www.googleapis.com/auth/classroom.courses
For more information, see the Authorization guide.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-06 UTC.
[null,null,["Last updated 2025-08-06 UTC."],[],[],null,["# Method: courses.patch\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Query parameters](#body.QUERY_PARAMETERS)\n- [Request body](#body.request_body)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nUpdates one or more fields in a course.\n\nThis method returns the following error codes:\n\n- `PERMISSION_DENIED` if the requesting user is not permitted to modify the requested course or for [access errors](/workspace/classroom/reference/Access.Errors).\n- `NOT_FOUND` if no course exists with the requested ID.\n- `INVALID_ARGUMENT` if invalid fields are specified in the update mask or if no update mask is supplied.\n- `FAILED_PRECONDITION` for the following [request errors](/workspace/classroom/reference/Request.Errors):\n - CourseNotModifiable\n - InactiveCourseOwner\n - IneligibleOwner\n - CourseTitleCannotContainUrl\n\n### HTTP request\n\n`PATCH https://classroom.googleapis.com/v1/courses/{id}`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `id` | `string` Identifier of the course to update. This identifier can be either the Classroom-assigned identifier or an [alias](/workspace/classroom/reference/rest/v1/courses.aliases#CourseAlias). |\n\n### Query parameters\n\n| Parameters ||\n|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `updateMask` | `string (`[FieldMask](https://protobuf.dev/reference/protobuf/google.protobuf/#field-mask)` format)` Mask that identifies which fields on the course to update. This field is required to do an update. The update will fail if invalid fields are specified. The following fields are valid: - `name` - `section` - `descriptionHeading` - `description` - `room` - `courseState` - `ownerId` Note: patches to ownerId are treated as being effective immediately, but in practice it may take some time for the ownership transfer of all affected resources to complete. When set in a query parameter, this field should be specified as `updateMask=\u003cfield1\u003e,\u003cfield2\u003e,...` This is a comma-separated list of fully qualified names of fields. Example: `\"user.displayName,photo\"`. |\n\n### Request body\n\nThe request body contains an instance of [Course](/workspace/classroom/reference/rest/v1/courses#Course).\n\n### Response body\n\nIf successful, the response body contains an instance of [Course](/workspace/classroom/reference/rest/v1/courses#Course).\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/classroom.courses`\n\nFor more information, see the [Authorization guide](/workspace/guides/configure-oauth-consent)."]]