- [HTTP request](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.topics/patch#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.topics/patch#body.PATH_PARAMETERS)
- [Query parameters](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.topics/patch#body.QUERY_PARAMETERS)
- [Request body](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.topics/patch#body.request_body)
- [Response body](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.topics/patch#body.response_body)
- [Authorization scopes](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.topics/patch#body.aspect)
- [Try it!](https://developers.google.com/workspace/classroom/reference/rest/v1/courses.topics/patch#try-it)

Updates one or more fields of a topic.

This method returns the following error codes:

- `PERMISSION_DENIED` if the requesting developer project did not create the corresponding topic or for [access errors](https://developers.google.com/workspace/classroom/reference/Access.Errors).
- `INVALID_ARGUMENT` if the request is malformed.
- `FAILED_PRECONDITION` if there exists a topic in the course with the same name.
- `NOT_FOUND` if the requested course or topic does not exist

### HTTP request

`PATCH https://classroom.googleapis.com/v1/courses/{courseId}/topics/{id}`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `courseId` | `string` Identifier of the course. This identifier can be either the Classroom-assigned identifier or an `https://developers.google.com/workspace/classroom/reference/rest/v1/courses.aliases#CourseAlias`. |
| `id` | `string` Identifier of the topic. |

### Query parameters

| Parameters ||
|---|---|
| `updateMask` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#field-mask` format)`` Mask that identifies which fields on the topic to update. This field is required to do an update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the Topic object. If a field that does not support empty values is included in the update mask and not set in the Topic object, an `INVALID_ARGUMENT` error is returned. The following fields may be specified: - `name` 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 `https://developers.google.com/workspace/classroom/reference/rest/v1/courses.topics#Topic`.

### Response body

If successful, the response body contains an instance of `https://developers.google.com/workspace/classroom/reference/rest/v1/courses.topics#Topic`.

### Authorization scopes

Requires the following OAuth scope:

- `https://www.googleapis.com/auth/classroom.topics`

For more information, see the [Authorization guide](https://developers.google.com/workspace/guides/configure-oauth-consent).