Method: projects.topics.patch

Updates an existing topic. Note that certain properties of a topic are not modifiable.

HTTP request


Path parameters



Required. Name of the topic. Format is projects/{project}/topics/{topic}.

Request body

The request body contains data with the following structure:

JSON representation
  "topic": {
    "name": string,
    "labels": {
      string: string,
    "messageStoragePolicy": {
      "allowedPersistenceRegions": [
    "kmsKeyName": string
  "updateMask": string

map (key: string, value: string)

See Creating and managing labels.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.


object (MessageStoragePolicy)

Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect.



The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic.

The expected format is projects/*/locations/*/keyRings/*/cryptoKeys/*.


string (FieldMask format)

Required. Indicates which fields in the provided topic to update. Must be specified and non-empty. Note that if updateMask contains "messageStoragePolicy" but the messageStoragePolicy is not set in the topic provided above, then the updated value is determined by the policy configured at the project or organization level.

A comma-separated list of fully qualified names of fields. Example: "user.displayName,photo".

Response body

If successful, the response body contains an instance of Topic.

Authorization Scopes

Requires one of the following OAuth scopes:


For more information, see the Authentication Overview.