---
title: "PATCH /v1/{+name}"
method: PATCH
path: "/v1/{+name}"
tags: ["projects"]
---

# PATCH /v1/{+name}

`PATCH /v1/{+name}`

Updates an existing workflow. Running this method has no impact on already running executions of the workflow. A new revision of the workflow might be created as a result of a successful update operation. In that case, the new revision is used in new workflow executions.

## Path parameters

- `name` string, required

## Query parameters

- `updateMask` string

## Request body

- Workflow — Workflow program to be executed by Workflows.
  - `serviceAccount` string — The service account associated with the latest workflow version. This service account represents the identity of the workflow and determines what permissions the workflow has. Format: projects/{project}/serviceAccounts/{account} or {account} Using `-` as a wildcard for the `{project}` or not providing one at all will infer the project from the account. The `{account}` value can be the `email` address or the `unique_id` of the service account. If not provided, workflow will use the project's default service account. Modifying this field for an existing workflow results in a new workflow revision.
  - `callLogLevel` 'CALL_LOG_LEVEL_UNSPECIFIED' | 'LOG_ALL_CALLS' | 'LOG_ERRORS_ONLY' | 'LOG_NONE' — Optional. Describes the level of platform logging to apply to calls and call responses during executions of this workflow. If both the workflow and the execution specify a logging level, the execution level takes precedence.
  - `description` string — Description of the workflow provided by the user. Must be at most 1000 Unicode characters long. This is a workflow-wide field and is not tied to a specific revision.
  - `cryptoKeyVersion` string — Output only. The resource name of a KMS crypto key version used to encrypt or decrypt the data associated with the workflow. Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}/cryptoKeyVersions/{cryptoKeyVersion}
  - `executionHistoryLevel` 'EXECUTION_HISTORY_LEVEL_UNSPECIFIED' | 'EXECUTION_HISTORY_BASIC' | 'EXECUTION_HISTORY_DETAILED' — Optional. Describes the execution history level to apply to this workflow.
  - `stateError` StateError — Describes an error related to the current state of the workflow.
    - `details` string — Provides specifics about the error.
    - `type` 'TYPE_UNSPECIFIED' | 'KMS_ERROR' — The type of this state error.
  - `revisionId` string — Output only. The revision of the workflow. A new revision of a workflow is created as a result of updating the following properties of a workflow: - Service account - Workflow code to be executed The format is "000001-a4d", where the first six characters define the zero-padded revision ordinal number. They are followed by a hyphen and three hexadecimal random characters.
  - `labels` object — Labels associated with this workflow. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, and dashes. Label keys must start with a letter. International characters are allowed. This is a workflow-wide field and is not tied to a specific revision.
  - `tags` object — Optional. Input only. Immutable. Tags associated with this workflow.
  - `allKmsKeysVersions` string[] — Output only. A list of all KMS crypto key versions used to encrypt or decrypt the data associated with the workflow.
  - `sourceContents` string — Workflow code to be executed. The size limit is 128KB.
  - `userEnvVars` object — Optional. User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with "GOOGLE" or "WORKFLOWS".
  - `revisionCreateTime` string, google-datetime — Output only. The timestamp for the latest revision of the workflow's creation.
  - `allKmsKeys` string[] — Output only. A list of all KMS crypto keys used to encrypt or decrypt the data associated with the workflow.
  - `state` 'STATE_UNSPECIFIED' | 'ACTIVE' | 'UNAVAILABLE' — Output only. State of the workflow deployment.
  - `updateTime` string, google-datetime — Output only. The timestamp for when the workflow was last updated. This is a workflow-wide field and is not tied to a specific revision.
  - `cryptoKeyName` string — Optional. The resource name of a KMS crypto key used to encrypt or decrypt the data associated with the workflow. Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} Using `-` as a wildcard for the `{project}` or not providing one at all will infer the project from the account. If not provided, data associated with the workflow will not be CMEK-encrypted.
  - `createTime` string, google-datetime — Output only. The timestamp for when the workflow was created. This is a workflow-wide field and is not tied to a specific revision.
  - `name` string — The resource name of the workflow. Format: projects/{project}/locations/{location}/workflows/{workflow}. This is a workflow-wide field and is not tied to a specific revision.

## Response `200`

Successful response

---

[API](https://skmtc.dev/google/apis/workflows.md) · [All operations](https://skmtc.dev/google/apis/workflows/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/google/workflows/revisions/cb211a1c2043/schema)
