Method: courses.patch

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

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



Identifier of the course to update. This identifier can be either the Classroom-assigned identifier or an alias.

Query parameters


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


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:


For more information, see the Authorization guide.