Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request.
For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
backupId
string
Required. Resource ID of the Backup resource to be finalized. This must be the same backupId that was used in the InitiateBackupRequest.
description
string
This will be assigned to the description field of the newly created Backup.
The point in time when this backup was captured from the source. This will be assigned to the consistencyTime field of the newly created Backup.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".
The earliest timestamp of data available in this Backup. This will set on the newly created Backup.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".
The latest timestamp of data available in this Backup. This will be set on the newly created Backup.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".
The ExpireTime on the backup will be set to FinalizeTime plus this duration. If the resulting ExpireTime is less than EnforcedRetentionEndTime, then ExpireTime is set to EnforcedRetentionEndTime.
A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
Response body
If successful, the response body contains an instance of Operation.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[[["\u003cp\u003eThis API endpoint finalizes a backup that was previously initiated, using a \u003ccode\u003ePOST\u003c/code\u003e request to the specified URL.\u003c/p\u003e\n"],["\u003cp\u003eThe request requires a \u003ccode\u003edataSource\u003c/code\u003e path parameter, which represents the resource name of the data source to be backed up.\u003c/p\u003e\n"],["\u003cp\u003eThe request body must include a \u003ccode\u003ebackupId\u003c/code\u003e that matches the \u003ccode\u003ebackupId\u003c/code\u003e used when initiating the backup, as well as an optional \u003ccode\u003erequestId\u003c/code\u003e for retries.\u003c/p\u003e\n"],["\u003cp\u003eYou can also specify \u003ccode\u003econsistencyTime\u003c/code\u003e, \u003ccode\u003erecoveryRangeStartTime\u003c/code\u003e, \u003ccode\u003erecoveryRangeEndTime\u003c/code\u003e, \u003ccode\u003edescription\u003c/code\u003e, and \u003ccode\u003eretentionDuration\u003c/code\u003e within the request body to describe the backup.\u003c/p\u003e\n"],["\u003cp\u003eTo use this endpoint, you need the \u003ccode\u003ehttps://www.googleapis.com/auth/cloud-platform\u003c/code\u003e OAuth scope and the \u003ccode\u003ebackupdr.bvdataSources.finalizeBackup\u003c/code\u003e IAM permission on the \u003ccode\u003edataSource\u003c/code\u003e resource.\u003c/p\u003e\n"]]],[],null,["- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [IAM Permissions](#body.aspect_1)\n- [Try it!](#try-it)\n\nInternal only. Finalize a backup that was started by a call to dataSources.initiateBackup.\n\nHTTP request\n\n`POST https://backupdr.googleapis.com/v1/{dataSource=projects/*/locations/*/backupVaults/*/dataSources/*}:finalizeBackup`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\nPath parameters\n\n| Parameters ||\n|--------------|------------------------------------------------------------------------------------------------------------------------------|\n| `dataSource` | `string` Required. The resource name of the instance, in the format 'projects/\\*/locations/\\*/backupVaults/\\*/dataSources/'. |\n\nRequest body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"requestId\": string, \"backupId\": string, \"description\": string, \"consistencyTime\": string, \"recoveryRangeStartTime\": string, \"recoveryRangeEndTime\": string, \"retentionDuration\": string } ``` |\n\n| Fields ||\n|--------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `requestId` | `string` Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). |\n| `backupId` | `string` Required. Resource ID of the Backup resource to be finalized. This must be the same backupId that was used in the InitiateBackupRequest. |\n| `description` | `string` This will be assigned to the description field of the newly created Backup. |\n| `consistencyTime` | `string (`[Timestamp](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp)` format)` The point in time when this backup was captured from the source. This will be assigned to the consistencyTime field of the newly created Backup. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than \"Z\" are also accepted. Examples: `\"2014-10-02T15:01:23Z\"`, `\"2014-10-02T15:01:23.045123456Z\"` or `\"2014-10-02T15:01:23+05:30\"`. |\n| `recoveryRangeStartTime` | `string (`[Timestamp](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp)` format)` The earliest timestamp of data available in this Backup. This will set on the newly created Backup. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than \"Z\" are also accepted. Examples: `\"2014-10-02T15:01:23Z\"`, `\"2014-10-02T15:01:23.045123456Z\"` or `\"2014-10-02T15:01:23+05:30\"`. |\n| `recoveryRangeEndTime` | `string (`[Timestamp](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp)` format)` The latest timestamp of data available in this Backup. This will be set on the newly created Backup. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than \"Z\" are also accepted. Examples: `\"2014-10-02T15:01:23Z\"`, `\"2014-10-02T15:01:23.045123456Z\"` or `\"2014-10-02T15:01:23+05:30\"`. |\n| `retentionDuration` | `string (`[Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration)` format)` The ExpireTime on the backup will be set to FinalizeTime plus this duration. If the resulting ExpireTime is less than EnforcedRetentionEndTime, then ExpireTime is set to EnforcedRetentionEndTime. A duration in seconds with up to nine fractional digits, ending with '`s`'. Example: `\"3.5s\"`. |\n\nResponse body\n\nIf successful, the response body contains an instance of [Operation](/backup-disaster-recovery/docs/reference/rest/v1/projects.locations.operations#Operation).\n\nAuthorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/cloud-platform`\n\nFor more information, see the [Authentication Overview](/docs/authentication#authorization-gcp).\n\nIAM Permissions\n\nRequires the following [IAM](https://cloud.google.com/iam/docs) permission on the `dataSource` resource:\n\n- `backupdr.bvdataSources.finalizeBackup`\n\nFor more information, see the [IAM documentation](https://cloud.google.com/iam/docs)."]]