---
title: "PATCH /v1/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}"
method: PATCH
path: "/v1/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}"
tags: ["projects"]
---

# PATCH /v1/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}

`PATCH /v1/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}`

## Request

- Base URL: `https://backupdr.googleapis.com`
- URL: `https://backupdr.googleapis.com/v1/projects/{projectsId}/locations/{locationsId}/restoreTemplates/{restoreTemplatesId}`
- Auth: one of:
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/cloud-backupdr`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/cloud-backupdr`
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/cloud-platform`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/cloud-platform`

Updates the settings of a RestoreTemplate.

## Path parameters

- `projectsId` string, required
- `locationsId` string, required
- `restoreTemplatesId` string, required

## Query parameters

- `requestId` string
- `updateMask` string, google-fieldmask
- `validateOnly` boolean

## Request body

- RestoreTemplate: A `RestoreTemplate` encapsulates DR readiness configurations for validating backups.
  - `backupSelectionConfig` BackupSelectionConfig: Configuration for selecting a backup.
    - `dataSource` string: Required. Immutable. The fully qualified URI of the backupdr data source.
  - `createTime` string, google-datetime: Output only. The time when the restore template was created.
  - `description` string: Optional. User-provided description of the restore template.
  - `etag` string: Optional. Etag for concurrency control.
  - `executionSummary` ExecutionSummary: Summary of the last execution.
    - `lastExecution` string: Output only. The resource name of the last execution. Format: `projects/{project}/locations/{location}/restoreTemplates/{restore_template}/executions/{execution}`
    - `lastExecutionState` 'EXECUTION_STATE_UNSPECIFIED' | 'RUNNING' | 'SUCCEEDED' | 'FAILED' | 'DELETING': Output only. The state of the last execution.
  - `labels` object: Optional. User-defined labels.
  - `name` string: Identifier. The resource name of the RestoreTemplate.
  - `postRestoreConfig` PostRestoreConfig: Configuration for Post-Restore.
    - `cloudRunJob` string: Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
    - `timeout` string, google-duration: Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
  - `preRestoreConfig` PreRestoreConfig: Configuration for Pre-Restore.
    - `cloudRunJob` string: Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
    - `timeout` string, google-duration: Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).
  - `resourceType` string: Required. Immutable. The specific type of the workload being restored. The format is "{service_name}/{resource_kind}", for example, "compute.googleapis.com/Instance".
  - `restoreProperties` object: Required. Defines target environments where the resource will be restored. The target resource name in `restore_properties` supports the `{EXECUTION_ID}` token to dynamically generate unique resource names for each execution. During restore execution, every occurrence of `{EXECUTION_ID}` in the target resource name is replaced with the 8-character `RestoreTemplateExecution` ID (for example, `"restored-resource-{EXECUTION_ID}"` or `"restored-{EXECUTION_ID}-resource"` resolves to `"restored-resource-5d437b06"` or `"restored-5d437b06-resource"`).
  - `state` 'STATE_UNSPECIFIED' | 'CREATING' | 'ACTIVE' | 'UPDATING' | 'DELETING': Output only. The state of the restore template.
  - `updateTime` string, google-datetime: Output only. The time when the restore template was last updated.
  - `verificationConfig` VerificationConfig: Configuration for Verification.
    - `cloudRunJob` string: Cloud Run job action to execute. Format: `projects/{project}/locations/{location}/jobs/{job}`
    - `timeout` string, google-duration: Optional. The `timeout` for this phase. If set, the `timeout` must be positive and less than or equal to 24 hours (86400s).

## Response `200`

Successful response

- Operation: This resource represents a long-running operation that is the result of a network API call.
  - `done` boolean: If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  - `error` Status: The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
    - `code` integer: The status code, which should be an enum value of google.rpc.Code.
    - `details` object[]: A list of messages that carry the error details. There is a common set of message types for APIs to use.
    - `message` string: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  - `metadata` object: Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
  - `name` string: The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  - `response` object: The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.

## Changes

- **2026-11-05** `da857420b4f6`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/google/apis/backupdr/changes/v1/projects/:projectsId/locations/:locationsId/restoreTemplates/:restoreTemplatesId/patch.md)

---

[API](https://skmtc.dev/google/apis/backupdr.md) - [All operations](https://skmtc.dev/google/apis/backupdr/llms.txt) - [OpenAPI document](https://skmtc.dev/google/apis/backupdr/revisions/da857420b4f6?raw)
