Method: projects.sinks.update

Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.

The updated sink might also have a new writerIdentity; see the uniqueWriterIdentity field.

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



Required. The full resource name of the sink to update, including the parent resource and the sink identifier:


For example:


Authorization requires the following IAM permission on the specified resource sinkName:

  • logging.sinks.update

Query parameters



Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writerIdentity in the updated sink depends on both the old and new values of this field:

  • If the old and new values of this field are both false or both true, then there is no change to the sink's writerIdentity.
  • If the old value is false and the new value is true, then writerIdentity is changed to a service agent owned by Cloud Logging.
  • It is an error if the old value is true and the new value is set to false or defaulted to false.


Optional. The service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified when you are routing logs to a log bucket that is in a different project than the sink. When not specified, a Logging service account will automatically be generated.


string (FieldMask format)

Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.

An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:


At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.

For a detailed FieldMask definition, see

For example: updateMask=filter

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 LogSink.

Response body

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

Authorization scopes

Requires one of the following OAuth scopes:


For more information, see the Authentication Overview.