Overview of resources and methods for the JSON API

This guide contains technical reference information for the Cloud StorageJSON API. Like theXML API, it is RESTful, but it has slightly differentURI endpoints and request syntax, and is specifically intended to be used withtheGoogle Cloud Client Libraries.

This API reference is organized by resource type. Each resource type has one ormore data representations and one or more methods.

URIs are relative tohttps://storage.googleapis.com/storage/v1, unless otherwise noted.

Resource types

AnywhereCache

ForAnywhereCache Resource details, see theresource representationpage.

MethodHTTP requestDescription
createPOST /b/BUCKET/anywhereCaches/ANYWHERE_CACHE_IDCreates acache instance in a specified bucket.
disablePOST /b/BUCKET/anywhereCaches/ANYWHERE_CACHE_ID/disableDisables acache instance in a specified bucket.
getGET /b/BUCKET/anywhereCaches/ANYWHERE_CACHE_IDRetrieves acache instance for a specified bucket.
listLIST /b/BUCKET/anywhereCachesRetrieves a list ofcache instances for a specified bucket.
pausePOST /b/BUCKET/anywhereCaches/ANYWHERE_CACHE_ID/pausePauses acache instance in a specified bucket.
resumePOST /b/BUCKET/anywhereCaches/ANYWHERE_CACHE_ID/resumeResumes acache instance in a specified bucket from being paused or disabled.
updatePUT /b/BUCKET/anywhereCaches/ANYWHERE_CACHE_IDUpdates acache instance in a specified bucket. Only caches in theRUNNING state can be updated.

BucketAccessControls

ForBucketAccessControls Resource details, see theresource representationpage.

MethodHTTP requestDescription
deleteDELETE /b/BUCKET/acl/ENTITYPermanently deletes the ACL entry for the specified entity on the specifiedbucket.
getGET /b/BUCKET/acl/ENTITYReturns the ACL entry for the specified entity on the specified bucket.
insertPOST /b/BUCKET/aclCreates a new ACL entry on the specifiedbucket.
listGET /b/BUCKET/aclRetrieves ACL entries on a specifiedbucket.
patchPATCH /b/BUCKET/acl/ENTITYUpdates an ACL entry on the specifiedbucket. This method supportspatch semantics.
updatePUT /b/BUCKET/acl/ENTITYUpdates an ACL entry on the specifiedbucket.

Buckets

ForBuckets Resource details, see theresource representation page.

MethodHTTP requestDescription
deleteDELETE /b/BUCKETPermanently deletes an empty bucket.
getGET /b/BUCKETReturns metadata for the specified bucket.
getIamPolicyGET /b/BUCKET/iamReturns an IAM policy for the specified bucket.
insertPOST /bCreates a new bucket.
Required query parameters:project
listGET /bRetrieves a list of buckets for a given project.
Required query parameters:project
listChannelsGET /b/BUCKET/channelsRetrieves a list of active Object Change Notification channels for a bucket.
lockRetentionPolicyPOST /b/BUCKET/lockRetentionPolicyIrreversibly sets the retention policy on a bucket.
Required query parameters:ifMetagenerationMatch
patchPATCH /b/BUCKETUpdates a bucket. Changes to the bucket will be readable immediately after writing, but configuration changes may take time to propagate. This method supportspatch semantics.
relocatePOST /b/BUCKET/relocateInitiates thedry run or theinitiate bucket relocation step of abucket relocation operation.
restorePOST /b/BUCKET/restoreRestores a soft-deleted bucket.
setIamPolicyPUT /b/BUCKET/iamUpdates an IAM policy for the specified bucket.
testIamPermissionsGET /b/BUCKET/iam/testPermissionsTests a set of permissions on the given bucket to see which, if any, are held by the caller.
Required query parameters:permissions
updatePUT /b/BUCKETUpdates a bucket. Changes to the bucket will be readable immediately after writing, but configuration changes may take time to propagate. This method sets the complete metadata of a bucket. If you want to change some of a bucket's metadata while leaving other parts unaffected, use thePATCH method instead.

Channels

ForChannels Resource details, see theresource representation page.

MethodHTTP requestDescription
stopPOST /channels/stopStop receiving object change notifications through this channel.

DefaultObjectAccessControls

ForDefaultObjectAccessControls Resource details, see theresource representationpage.

MethodHTTP requestDescription
deleteDELETE /b/BUCKET/defaultObjectAcl/ENTITYPermanently deletes the default object ACL entry for the specified entity on the specifiedbucket.
getGET /b/BUCKET/defaultObjectAcl/ENTITYReturns the default object ACL entry for the specified entity on the specifiedbucket.
insertPOST /b/BUCKET/defaultObjectAclCreates a new default object ACL entry on the specifiedbucket.
listGET /b/BUCKET/defaultObjectAclRetrieves default object ACL entries on the specifiedbucket.
patchPATCH /b/BUCKET/defaultObjectAcl/ENTITYUpdates a default object ACL entry on the specifiedbucket. This method supportspatch semantics.
updatePUT /b/BUCKET/defaultObjectAcl/ENTITYUpdates a default object ACL entry on the specifiedbucket.

Folders

ForFolders Resource details, see theresource representation page.

MethodHTTP requestDescription
deleteDELETE /b/BUCKET/folders/FOLDERPermanently deletes an empty folder.
getGET /b/BUCKET/folders/FOLDERReturns metadata for the specified folder.
insertPOST /b/BUCKET/foldersCreates a new folder.
listGET /b/BUCKET/foldersRetrieves a list of folders in a given bucket.
renamePOST /b/BUCKET/folders/SOURCE_FOLDER/renameTo/folders/DESTINATION_FOLDERRenames a folder in a given bucket.

ManagedFolders

ForManagedFolders Resource details, see theresource representation page.

MethodHTTP requestDescription
deleteDELETE /b/BUCKET/managedFolders/MANAGED_FOLDERPermanently deletes a managed folder.
getGET /b/BUCKET/managedFolders/MANAGED_FOLDERReturns metadata for the specified managed folder.
getIamPolicyGET /b/BUCKET/managedFolders/MANAGED_FOLDER/iamReturns an IAM policy for the specified managed folder.
insertPOST /b/BUCKET/managedFoldersCreates a new managed folder.
listGET /b/BUCKET/managedFoldersRetrieves a list of managed folders in a given bucket.
setIamPolicyPUT /b/BUCKET/managedFolders/MANAGED_FOLDER/iamUpdates an IAM policy for the specified managed folder.
testIamPermissionsGET /b/BUCKET/managedFolders/MANAGED_FOLDER/iam/testPermissionsTests a set of permissions on the given managed folder. to see which, if any, are held by the caller.

Notifications

ForNotifications Resource details, see theresource representationpage.

MethodHTTP requestDescription
deleteDELETE /b/BUCKET/notificationConfigs/NOTIFICATIONPermanently deletes a notification subscription.
getGET /b/BUCKET/notificationConfigs/NOTIFICATIONView a notification configuration.
insertPOST /b/BUCKET/notificationConfigsCreates a notification subscription for a given bucket.
listGET /b/BUCKET/notificationConfigsRetrieves a list of notification subscriptions for a given bucket.

ObjectAccessControls

ForObjectAccessControls Resource details, see theresource representationpage.

MethodHTTP requestDescription
deleteDELETE /b/BUCKET/o/OBJECT/acl/ENTITYPermanently deletes the ACL entry for the specified entity on the specifiedobject.
getGET /b/BUCKET/o/OBJECT/acl/ENTITYReturns the ACL entry for the specified entity on the specifiedobject.
insertPOST /b/BUCKET/o/OBJECT/aclCreates a new ACL entry on the specifiedobject.
listGET /b/BUCKET/o/OBJECT/aclRetrieves ACL entries on the specifiedobject.
patchPATCH /b/BUCKET/o/OBJECT/acl/ENTITYUpdates an ACL entry on the specifiedobject. This method supportspatch semantics.
updatePUT /b/BUCKET/o/OBJECT/acl/ENTITYUpdates an ACL entry on the specifiedobject.

Objects

ForObjects Resource details, see theresource representation page.

MethodHTTP requestDescription
composePOST /b/BUCKET/o/DESTINATION_OBJECT/composeConcatenates a list of existing objects into a new object in the same bucket.
copyPOST /b/SOURCE_BUCKET/o/SOURCE_OBJECT/copyTo/b/DESTINATION_BUCKET/o/DESTINATION_OBJECTCopies a source object to a destination object. Optionally overrides metadata.
deleteDELETE /b/BUCKET/o/OBJECTDeletes an object and its metadata. Deletions are permanent if versioning is not enabled for the bucket, or if thegeneration parameter is used.
getGET /b/BUCKET/o/OBJECTRetrieves an object or its metadata.
insertPOST https://storage.googleapis.com/upload/storage/v1/b/BUCKET/o andPOST /b/BUCKET/oStores a new object and metadata. This method supportssimple,multipart, andresumable upload types. For more information, seeUploads and downloads.
listGET /b/BUCKET/oRetrieves a list of objects matching the criteria.
patchPATCH /b/BUCKET/o/OBJECTUpdates a data blob's associated metadata. This method supportspatch semantics.
rewritePOST /b/SOURCE_BUCKET/o/SOURCE_OBJECT/rewriteTo/b/DESTINATION_BUCKET/o/DESTINATION_OBJECTRewrites a source object to a destination object. Optionally overrides metadata.
updatePUT /b/BUCKET/o/OBJECTUpdates an object's metadata.
watchAllPOST /b/BUCKET/o/watchWatches for changes on all objects in a bucket.

Operations

ForOperations Resource details, see theresource representationpage.

MethodHTTP requestDescription
cancelPOST /b/BUCKET/operations/OPERATION_ID/cancelCancels a long-running operation.
getGET /b/BUCKET/operations/OPERATION_IDGets a long-running operation.
listGET /b/BUCKET/operationsLists long-running operations.
advanceRelocateBucketPOST /b/BUCKET/operations/OPERATION_ID/advanceRelocateBucketInitiates thefinal synchronization step of abucket relocation operation

Projects.hmacKeys

ForProjects.hmacKeys Resource details, see theresource representationpage.

MethodHTTP requestDescription
createPOST /projects/PROJECT_IDENTIFIER/hmacKeysCreates a new HMAC key for the specified service account.
Required query parameters:serviceAccountEmail
deleteDELETE /projects/PROJECT_IDENTIFIER/hmacKeys/ACCESS_IDDeletes an HMAC key.
getGET /projects/PROJECT_IDENTIFIER/hmacKeys/ACCESS_IDRetrieves an HMAC key's metadata.
listGET /projects/PROJECT_IDENTIFIER/hmacKeysRetrieves a list of HMAC keys matching the criteria.
updatePUT /projects/PROJECT_IDENTIFIER/hmacKeys/ACCESS_IDUpdates the state of an HMAC key.

Projects.serviceAccount

ForProjects.serviceAccount Resource details, see theresource representationpage.

MethodHTTP requestDescription
getGET /projects/PROJECT_IDENTIFIER/serviceAccountGet the email address of this project'sCloud Storage service agent.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-12-17 UTC.