Stay organized with collections
Save and categorize content based on your preferences.
Creates a new database by restoring from an existing backup.
The new database must be in the same cloud region or multi-region location as the existing backup. This behaves similar to FirestoreAdmin.CreateDatabase except instead of creating a new empty database, a new database is created with the database type, index configuration, and documents from an existing backup.
The long-running operation can be used to track the progress of the restore, with the Operation's metadata field type being the RestoreDatabaseMetadata. The response type is the Database if the restore was successful. The new database is not readable or writeable until the LRO has completed.
HTTP request
POST https://firestore.googleapis.com/v1/{parent=projects/*}/databases:restore
Required. The ID to use for the database, which will become the final component of the database's resource name. This database ID must not be associated with an existing database.
This value should be 4-63 characters. Valid characters are /[a-z][0-9]-/ with first character a letter and the last a letter or a number. Must not be UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/.
"(default)" database ID is also valid if the database is Standard edition.
backup
string
Required. Backup to restore from. Must be from the same project as the parent.
The restored database will be created in the same location as the source backup.
Format is: projects/{projectId}/locations/{location}/backups/{backup}
[[["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-26 UTC."],[[["\u003cp\u003eThis process allows you to create a new database by restoring it from an existing backup, ensuring the new database is in the same cloud region or multi-region as the backup.\u003c/p\u003e\n"],["\u003cp\u003eThe restore operation is tracked via a long-running operation, which provides metadata about the restore's progress, and the new database will not be available until the operation completes.\u003c/p\u003e\n"],["\u003cp\u003eYou must specify a unique \u003ccode\u003edatabaseId\u003c/code\u003e for the new database and provide the path to the \u003ccode\u003ebackup\u003c/code\u003e you wish to restore from, and the database will be created with the type, indexes and documents of that backup.\u003c/p\u003e\n"],["\u003cp\u003eEncryption configuration for the new database is optional, with the ability to use Google's default, the same encryption as the source backup, or customer-managed encryption keys (CMEK).\u003c/p\u003e\n"],["\u003cp\u003eThe request requires specific OAuth scopes for authorization, either \u003ccode\u003ehttps://www.googleapis.com/auth/datastore\u003c/code\u003e or \u003ccode\u003ehttps://www.googleapis.com/auth/cloud-platform\u003c/code\u003e, and the project ID must be specified in the request \u003ccode\u003eparent\u003c/code\u003e parameter.\u003c/p\u003e\n"]]],[],null,["# Method: projects.databases.restore\n\nCreates a new database by restoring from an existing backup.\n\nThe new database must be in the same cloud region or multi-region location as the existing backup. This behaves similar to [FirestoreAdmin.CreateDatabase](/firestore/docs/reference/rest/v1/projects.databases/create#google.firestore.admin.v1.FirestoreAdmin.CreateDatabase) except instead of creating a new empty database, a new database is created with the database type, index configuration, and documents from an existing backup.\n\nThe [long-running operation](/firestore/docs/reference/rest/Shared.Types/Operation) can be used to track the progress of the restore, with the Operation's [metadata](/firestore/docs/reference/rest/Shared.Types/Operation#FIELDS.metadata) field type being the [RestoreDatabaseMetadata](/firestore/docs/reference/rest/Shared.Types/RestoreDatabaseMetadata). The [response](/firestore/docs/reference/rest/Shared.Types/Operation#FIELDS.response) type is the [Database](/firestore/docs/reference/rest/v1/projects.databases#Database) if the restore was successful. The new database is not readable or writeable until the LRO has completed.\n\n### HTTP request\n\n`POST https://firestore.googleapis.com/v1/{parent=projects/*}/databases:restore`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n### Request body\n\nThe request body contains data with the following structure:\n\n### Response body\n\nIf successful, the response body contains an instance of [Operation](/firestore/docs/reference/rest/Shared.Types/Operation).\n\n### Authorization scopes\n\nRequires one of the following OAuth scopes:\n\n- `https://www.googleapis.com/auth/datastore`\n- `https://www.googleapis.com/auth/cloud-platform`\n\nFor more information, see the [Authentication Overview](/docs/authentication#authorization-gcp)."]]