The original bucket metadata, including IAM policies, custom metadata, and tags, but excluding managed folders, is restored and the softDeleteTime and hardDeleteTime is cleared. No objects are restored. If a live bucket with the same name already exists, the bucket cannot be restored.
The authenticated user must have the storage.buckets.restore IAM permission at the project level or above to use this method. To return access control lists (ACLs) as part of the response, the authenticated user must also have the storage.buckets.getIamPolicy permission.
Request
HTTP request
POST https://storage.googleapis.com/storage/v1/b/bucket/restore
[[["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."],[],[],null,["# Buckets: restore\n\nRestores a [soft-deleted bucket](/storage/docs/use-soft-deleted-buckets).\n\nThe original bucket metadata, including IAM policies, custom metadata, and tags, but excluding managed folders, is restored and the `softDeleteTime` and `hardDeleteTime` is cleared. No objects are restored. If a live bucket with the same name already exists, the bucket cannot be restored.\n\nAfter the bucket is live again, the objects can be restored with the [`Objects: restore`](/storage/docs/json_api/v1/objects/restore) or [`Objects: bulkRestore`](/storage/docs/json_api/v1/objects/bulkRestore) APIs.\n\nRequired permissions\n--------------------\n\nThe authenticated user must have the `storage.buckets.restore` IAM permission at the project level or above to use this method. To return access control lists (ACLs) as part of the response, the authenticated user must also have the `storage.buckets.getIamPolicy` permission.\n\nRequest\n-------\n\n### HTTP request\n\n```\nPOST https://storage.googleapis.com/storage/v1/b/bucket/restore\n```\n\nIn addition to [standard query parameters](/storage/docs/json_api/v1/parameters#query),\nthe following query parameters apply to this method.\n\nTo see an example of how to include query parameters in a request, see the\n[JSON API Overview](/storage/docs/json_api#query_parameters) page.\n\n### Parameters\n\n### Request body\n\nDo not supply a request body with this method.\n\nResponse\n--------\n\nIf successful, this method returns a [bucket\nresource](/storage/docs/json_api/v1/buckets#resource) in the response body.\n\nFor information about status and error codes returned by this API, see the\n[reference page](/storage/docs/json_api/v1/status-codes).\n\nTry it!\n-------\n\n\nUse the APIs Explorer below to call this method on live data and see the response."]]