Google Cloud Storage
Object storage service offering high durability, availability, and scalability for storing and accessing data on Google Cloud Platform.
2 APIs
7 Features
ArchivalBackupBlob StorageCloud StorageDataFile StorageGoogle CloudObject StorageStorage
Multi-Regional Storage
Store data across multiple regions for high availability and low-latency access worldwide.
Object Lifecycle Management
Automatically transition objects between storage classes or delete them based on configurable rules.
Versioning
Maintain multiple versions of objects for data protection and recovery.
Fine-Grained Access Control
Control access using IAM policies, ACLs, and signed URLs for secure data sharing.
Object Composition
Compose multiple objects into a single object without downloading and re-uploading data.
Change Notifications
Watch for changes to objects in a bucket and receive push notifications.
Retention Policies
Lock retention policies to prevent object deletion for regulatory compliance.
Data Lake Storage
Store structured and unstructured data at scale for analytics and machine learning pipelines.
Backup and Disaster Recovery
Store backups with configurable retention and cross-region replication for business continuity.
Static Website Hosting
Serve static web content directly from Cloud Storage buckets with custom domains.
Media Content Delivery
Store and serve media assets with CDN integration for low-latency content delivery.
opencollection: 1.0.0
info:
name: Google Cloud Storage JSON API
version: v1
request:
auth:
type: oauth2
flow: authorization_code
authorizationUrl: https://accounts.google.com/o/oauth2/v2/auth
accessTokenUrl: https://oauth2.googleapis.com/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
items:
- info:
name: Buckets
type: folder
items:
- info:
name: Google Cloud Storage List Buckets
type: http
http:
method: GET
url: https://storage.googleapis.com/storage/v1/b
params:
- name: project
value: my-project-id
type: query
description: The project ID or project number to list buckets for.
- name: maxResults
value: ''
type: query
description: Maximum number of buckets to return in a single response. The service uses this value or 1,000 items,
whichever is smaller.
- name: pageToken
value: ''
type: query
description: A previously-returned page token representing part of the larger set of results to view. The pageToken
is an encoded field that marks the name and generation of the last bucket in the previous list response.
- name: prefix
value: ''
type: query
description: Filter results to buckets whose names begin with this prefix.
- name: projection
value: ''
type: query
description: Set of properties to return. Defaults to noAcl.
- name: fields
value: ''
type: query
description: Selector specifying a subset of fields to include in the response. Use for better performance by retrieving
only needed fields.
- name: prettyPrint
value: ''
type: query
description: Returns response with indentations and line breaks. Default is true. When set to false, can reduce the
response payload size.
- name: userProject
value: ''
type: query
description: The project to be billed for this request. Required for Requester Pays buckets.
docs: Retrieves a list of buckets for a given project. The authenticated user must have the storage.buckets.list permission
for the specified project.
- info:
name: Google Cloud Storage Create a Bucket
type: http
http:
method: POST
url: https://storage.googleapis.com/storage/v1/b
params:
- name: project
value: my-project-id
type: query
description: The project ID or project number to create the bucket in.
- name: predefinedAcl
value: ''
type: query
description: Apply a predefined set of access controls to the bucket.
- name: predefinedDefaultObjectAcl
value: ''
type: query
description: Apply a predefined set of default object access controls to the bucket.
- name: projection
value: ''
type: query
description: Set of properties to return. Defaults to noAcl.
- name: enableObjectRetention
value: ''
type: query
description: When set to true, object retention is enabled for this bucket.
- name: fields
value: ''
type: query
description: Selector specifying a subset of fields to include in the response. Use for better performance by retrieving
only needed fields.
- name: prettyPrint
value: ''
type: query
description: Returns response with indentations and line breaks. Default is true. When set to false, can reduce the
response payload size.
- name: userProject
value: ''
type: query
description: The project to be billed for this request. Required for Requester Pays buckets.
body:
type: json
data: '{}'
docs: Creates a new bucket in the specified project. The authenticated user must have the storage.buckets.create permission
for the project. Bucket names must be globally unique across all of Cloud Storage.
- info:
name: Google Cloud Storage Get a Bucket
type: http
http:
method: GET
url: https://storage.googleapis.com/storage/v1/b/:bucket
params:
- name: bucket
value: my-bucket
type: path
description: Name of the bucket. Bucket names must be globally unique and comply with naming requirements.
- name: ifMetagenerationMatch
value: ''
type: query
description: Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches
the given value.
- name: ifMetagenerationNotMatch
value: ''
type: query
description: Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does
not match the given value.
- name: projection
value: ''
type: query
description: Set of properties to return. Defaults to noAcl.
- name: fields
value: ''
type: query
description: Selector specifying a subset of fields to include in the response. Use for better performance by retrieving
only needed fields.
- name: prettyPrint
value: ''
type: query
description: Returns response with indentations and line breaks. Default is true. When set to false, can reduce the
response payload size.
- name: userProject
value: ''
type: query
description: The project to be billed for this request. Required for Requester Pays buckets.
docs: Returns metadata for the specified bucket. The authenticated user must have the storage.buckets.get permission for
the bucket.
- info:
name: Google Cloud Storage Update a Bucket
type: http
http:
method: PUT
url: https://storage.googleapis.com/storage/v1/b/:bucket
params:
- name: bucket
value: my-bucket
type: path
description: Name of the bucket. Bucket names must be globally unique and comply with naming requirements.
- name: ifMetagenerationMatch
value: ''
type: query
description: Makes the update conditional on whether the bucket's current metageneration matches the given value.
- name: ifMetagenerationNotMatch
value: ''
type: query
description: Makes the update conditional on whether the bucket's current metageneration does not match the given
value.
- name: predefinedAcl
value: ''
type: query
description: Apply a predefined set of access controls to the bucket.
- name: predefinedDefaultObjectAcl
value: ''
type: query
description: Apply a predefined set of default object access controls.
- name: projection
value: ''
type: query
description: Set of properties to return. Defaults to full.
- name: fields
value: ''
type: query
description: Selector specifying a subset of fields to include in the response. Use for better performance by retrieving
only needed fields.
- name: prettyPrint
value: ''
type: query
description: Returns response with indentations and line breaks. Default is true. When set to false, can reduce the
response payload size.
- name: userProject
value: ''
type: query
description: The project to be billed for this request. Required for Requester Pays buckets.
body:
type: json
data: '{}'
docs: Updates a bucket. Changes to the bucket will be readable immediately after writing, but configuration changes may
take time to propagate. This method replaces all mutable properties of the bucket with the values in the request body.
- info:
name: Google Cloud Storage Patch a Bucket
type: http
http:
method: PATCH
url: https://storage.googleapis.com/storage/v1/b/:bucket
params:
- name: bucket
value: my-bucket
type: path
description: Name of the bucket. Bucket names must be globally unique and comply with naming requirements.
- name: ifMetagenerationMatch
value: ''
type: query
description: Makes the patch conditional on whether the bucket's current metageneration matches the given value.
- name: ifMetagenerationNotMatch
value: ''
type: query
description: Makes the patch conditional on whether the bucket's current metageneration does not match the given value.
- name: predefinedAcl
value: ''
type: query
description: Apply a predefined set of access controls to the bucket.
- name: predefinedDefaultObjectAcl
value: ''
type: query
description: Apply a predefined set of default object access controls.
- name: projection
value: ''
type: query
description: Set of properties to return. Defaults to full.
- name: fields
value: ''
type: query
description: Selector specifying a subset of fields to include in the response. Use for better performance by retrieving
only needed fields.
- name: prettyPrint
value: ''
type: query
description: Returns response with indentations and line breaks. Default is true. When set to false, can reduce the
response payload size.
- name: userProject
value: ''
type: query
description: The project to be billed for this request. Required for Requester Pays buckets.
body:
type: json
data: '{}'
docs: Patches a bucket. Changes to the bucket will be readable immediately after writing, but configuration changes may
take time to propagate. This method supports patch semantics where only the specified fields are updated.
- info:
name: Google Cloud Storage Delete a Bucket
type: http
http:
method: DELETE
url: https://storage.googleapis.com/storage/v1/b/:bucket
params:
- name: bucket
value: my-bucket
type: path
description: Name of the bucket. Bucket names must be globally unique and comply with naming requirements.
- name: ifMetagenerationMatch
value: ''
type: query
description: Makes the deletion conditional on whether the bucket's current metageneration matches the given value.
- name: ifMetagenerationNotMatch
value: ''
type: query
description: Makes the deletion conditional on whether the bucket's current metageneration does not match the given
value.
- name: userProject
value: ''
type: query
description: The project to be billed for this request. Required for Requester Pays buckets.
docs: Permanently deletes an empty bucket. The authenticated user must have the storage.buckets.delete permission for
the bucket. The bucket must be empty before it can be deleted.
- info:
name: Google Cloud Storage Lock Retention Policy
type: http
http:
method: POST
url: https://storage.googleapis.com/storage/v1/b/:bucket/lockRetentionPolicy
params:
- name: bucket
value: my-bucket
type: path
description: Name of the bucket. Bucket names must be globally unique and comply with naming requirements.
- name: ifMetagenerationMatch
value: ''
type: query
description: Makes the operation conditional on whether the bucket's current metageneration matches the given value.
- name: userProject
value: ''
type: query
description: The project to be billed for this request. Required for Requester Pays buckets.
docs: Locks retention policy on a bucket. This action is irreversible. Once locked, the retention policy cannot be removed
or the retention period shortened.
- info:
name: Google Cloud Storage Get Bucket Iam Policy
type: http
http:
method: GET
url: https://storage.googleapis.com/storage/v1/b/:bucket/iam
params:
- name: bucket
value: my-bucket
type: path
description: Name of the bucket. Bucket names must be globally unique and comply with naming requirements.
- name: optionsRequestedPolicyVersion
value: ''
type: query
description: The IAM policy format version to be returned. Valid values are 1 and 3. Requests specifying an invalid
value will be rejected. Defaults to 1.
- name: userProject
value: ''
type: query
description: The project to be billed for this request. Required for Requester Pays buckets.
docs: Returns an IAM policy for the specified bucket. The authenticated user must have the storage.buckets.getIamPolicy
permission.
- info:
name: Google Cloud Storage Set Bucket Iam Policy
type: http
http:
method: PUT
url: https://storage.googleapis.com/storage/v1/b/:bucket/iam
params:
- name: bucket
value: my-bucket
type: path
description: Name of the bucket. Bucket names must be globally unique and comply with naming requirements.
- name: userProject
value: ''
type: query
description: The project to be billed for this request. Required for Requester Pays buckets.
body:
type: json
data: '{}'
docs: Updates an IAM policy for the specified bucket. The authenticated user must have the storage.buckets.setIamPolicy
permission.
- info:
name: Google Cloud Storage Test Bucket Iam Permissions
type: http
http:
method: GET
url: https://storage.googleapis.com/storage/v1/b/:bucket/iam/testPermissions
params:
- name: bucket
value: my-bucket
type: path
description: Name of the bucket. Bucket names must be globally unique and comply with naming requirements.
- name: permissions
value: storage.buckets.get,storage.objects.list
type: query
description: Permissions to test.
- name: userProject
value: ''
type: query
description: The project to be billed for this request. Required for Requester Pays buckets.
docs: Tests a set of permissions on the given bucket to see which, if any, are held by the caller. The authenticated user
must have the storage.buckets.testIamPermissions permission.
- info:
name: Objects
type: folder
items:
- info:
name: Google Cloud Storage List Objects
type: http
http:
method: GET
url: https://storage.googleapis.com/storage/v1/b/:bucket/o
params:
- name: bucket
value: my-bucket
type: path
description: Name of the bucket. Bucket names must be globally unique and comply with naming requirements.
- name: delimiter
value: /
type: query
description: Returns results in a directory-like mode. Items will contain only objects whose names, aside from the
prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their
name truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted.
- name: endOffset
value: ''
type: query
description: Filter results to objects whose names are lexicographically before endOffset. If startOffset is also
set, the objects listed have names between startOffset (inclusive) and endOffset (exclusive).
- name: includeFoldersAsPrefixes
value: ''
type: query
description: Only applicable if delimiter is set to /. If true, will also include folders and managed folders (besides
objects) in the returned prefixes.
- name: includeTrailingDelimiter
value: ''
type: query
description: If true, objects that end in exactly one instance of delimiter will have their metadata included in items
in addition to prefixes.
- name: matchGlob
value: ''
type: query
description: Filter results to objects and prefixes that match this glob pattern. Supports *, **, ?, and [...] character
classes.
- name: maxResults
value: ''
type: query
description: Maximum number of items plus prefixes to return in a single page of responses. The service may return
fewer than this value.
- name: pageToken
value: ''
type: query
description: A previously-returned page token representing part of the larger set of results to view.
- name: prefix
value: ''
type: query
description: Filter results to objects whose names begin with this prefix.
- name: projection
value: ''
type: query
description: Set of properties to return. Defaults to noAcl.
- name: softDeleted
value: ''
type: query
description: If true, only lists soft-deleted object versions.
- name: startOffset
value: ''
type: query
description: Filter results to objects whose names are lexicographically equal to or after startOffset.
- name: versions
value: ''
type: query
description: If true, lists all versions of an object as distinct results. The default is false.
- name: fields
value: ''
type: query
description: Selector specifying a subset of fields to include in the response. Use for better performance by retrieving
only needed fields.
- name: prettyPrint
value: ''
type: query
description: Returns response with indentations and line breaks. Default is true. When set to false, can reduce the
response payload size.
- name: userProject
value: ''
type: query
description: The project to be billed for this request. Required for Requester Pays buckets.
docs: Retrieves a list of objects matching the criteria. The authenticated user must have the storage.objects.list permission
for the bucket. Lists objects in a bucket, optionally filtering by a prefix and delimiter to emulate directory listing.
- info:
name: Google Cloud Storage Get an Object
type: http
http:
method: GET
url: https://storage.googleapis.com/storage/v1/b/:bucket/o/:object
params:
- name: bucket
value: my-bucket
type: path
description: Name of the bucket. Bucket names must be globally unique and comply with naming requirements.
- name: object
value: my-object.txt
type: path
description: Name of the object. For information about how to URL-encode object names to be path safe, see Encoding
URI path parts.
- name: alt
value: ''
type: query
description: Data format for the response. Use json for metadata or media to download the object data.
- name: generation
value: ''
type: query
description: If present, selects a specific revision of this object.
- name: ifGenerationMatch
value: ''
type: query
description: Makes the operation conditional on whether the object's current generation matches the given value. Setting
to 0 makes the operation succeed only if there are no live versions of the object.
- name: ifGenerationNotMatch
value: ''
type: query
description: Makes the operation conditional on whether the object's current generation does not match the given value.
- name: ifMetagenerationMatch
value: ''
type: query
description: Makes the operation conditional on whether the object's current metageneration matches the given value.
- name: ifMetagenerationNotMatch
value: ''
type: query
description: Makes the operation conditional on whether the object's current metageneration does not match the given
value.
- name: projection
value: ''
type: query
description: Set of properties to return. Defaults to noAcl.
- name: softDeleted
value: ''
type: query
description: If true, retrieves the soft-deleted version of the object.
- name: fields
value: ''
type: query
description: Selector specifying a subset of fields to include in the response. Use for better performance by retrieving
only needed fields.
- name: prettyPrint
value: ''
type: query
description: Returns response with indentations and line breaks. Default is true. When set to false, can reduce the
response payload size.
- name: userProject
value: ''
type: query
description: The project to be billed for this request. Required for Requester Pays buckets.
docs: Retrieves an object or its metadata. The authenticated user must have the storage.objects.get permission for the
object. By default, this returns the object metadata. Use alt=media to download the object data.
- info:
name: Google Cloud Storage Update an Object
type: http
http:
method: PUT
url: https://storage.googleapis.com/storage/v1/b/:bucket/o/:object
params:
- name: bucket
value: my-bucket
type: path
description: Name of the bucket. Bucket names must be globally unique and comply with naming requirements.
- name: object
value: my-object.txt
type: path
description: Name of the object. For information about how to URL-encode object names to be path safe, see Encoding
URI path parts.
- name: generation
value: ''
type: query
description: If present, selects a specific revision of this object.
- name: ifGenerationMatch
value: ''
type: query
description: Makes the operation conditional on whether the object's current generation matches the given value.
- name: ifGenerationNotMatch
value: ''
type: query
description: Makes the operation conditional on whether the object's current generation does not match the given value.
- name: ifMetagenerationMatch
value: ''
type: query
description: Makes the operation conditional on whether the object's current metageneration matches the given value.
- name: ifMetagenerationNotMatch
value: ''
type: query
description: Makes the operation conditional on whether the object's current metageneration does not match the given
value.
- name: predefinedAcl
value: ''
type: query
description: Apply a predefined set of access controls to the object.
- name: projection
value: ''
type: query
description: Set of properties to return. Defaults to full.
- name: fields
value: ''
type: query
description: Selector specifying a subset of fields to include in the response. Use for better performance by retrieving
only needed fields.
- name: prettyPrint
value: ''
type: query
description: Returns response with indentations and line breaks. Default is true. When set to false, can reduce the
response payload size.
- name: userProject
value: ''
type: query
description: The project to be billed for this request. Required for Requester Pays buckets.
body:
type: json
data: '{}'
docs: Updates an object's metadata. This method replaces all mutable metadata fields of the object with the values in
the request body.
- info:
name: Google Cloud Storage Patch an Object
type: http
http:
method: PATCH
url: https://storage.googleapis.com/storage/v1/b/:bucket/o/:object
params:
- name: bucket
value: my-bucket
type: path
description: Name of the bucket. Bucket names must be globally unique and comply with naming requirements.
- name: object
value: my-object.txt
type: path
description: Name of the object. For information about how to URL-encode object names to be path safe, see Encoding
URI path parts.
- name: generation
value: ''
type: query
description: If present, selects a specific revision of this object.
- name: ifGenerationMatch
value: ''
type: query
description: Makes the operation conditional on whether the object's current generation matches the given value.
- name: ifGenerationNotMatch
value: ''
type: query
description: Makes the operation conditional on whether the object's current generation does not match the given value.
- name: ifMetagenerationMatch
value: ''
type: query
description: Makes the operation conditional on whether the object's current metageneration matches the given value.
- name: ifMetagenerationNotMatch
value: ''
type: query
description: Makes the operation conditional on whether the object's current metageneration does not match the given
value.
- name: predefinedAcl
value: ''
type: query
description: Apply a predefined set of access controls to the object.
- name: projection
value: ''
type: query
description: Set of properties to return. Defaults to full.
- name: fields
value: ''
type: query
description: Selector specifying a subset of fields to include in the response. Use for better performance by retrieving
only needed fields.
- name: prettyPrint
value: ''
type: query
description: Returns response with indentations and line breaks. Default is true. When set to false, can reduce the
response payload size.
- name: userProject
value: ''
type: query
description: The project to be billed for this request. Required for Requester Pays buckets.
body:
type: json
data: '{}'
docs: Patches an object's metadata. This method supports patch semantics where only the specified fields are updated.
- info:
name: Google Cloud Storage Delete an Object
type: http
http:
method: DELETE
url: https://storage.googleapis.com/storage/v1/b/:bucket/o/:object
params:
- name: bucket
value: my-bucket
type: path
description: Name of the bucket. Bucket names must be globally unique and comply with naming requirements.
- name: object
value: my-object.txt
type: path
description: Name of the object. For information about how to URL-encode object names to be path safe, see Encoding
URI path parts.
- name: generation
value: ''
type: query
description: If present, permanently deletes a specific revision of this object.
- name: ifGenerationMatch
value: ''
type: query
description: Makes the operation conditional on whether the object's current generation matches the given value.
- name: ifGenerationNotMatch
value: ''
type: query
description: Makes the operation conditional on whether the object's current generation does not match the given value.
- name: ifMetagenerationMatch
value: ''
type: query
description: Makes the operation conditional on whether the object's current metageneration matches the given value.
- name: ifMetagenerationNotMatch
value: ''
type: query
description: Makes the operation conditional on whether the object's current metageneration does not match the given
value.
- name: userProject
value: ''
type: query
description: The project to be billed for this request. Required for Requester Pays buckets.
docs: Deletes an object and its metadata. Deletions are permanent if versioning is not enabled for the bucket, or if the
object is not the latest version. When versioning is enabled, deleting the latest version creates a delete marker.
- info:
name: Google Cloud Storage Compose Objects
type: http
http:
method: POST
url: https://storage.googleapis.com/storage/v1/b/:bucket/o/:object/compose
params:
- name: bucket
value: my-bucket
type: path
description: Name of the bucket. Bucket names must be globally unique and comply with naming requirements.
- name: object
value: ''
type: path
description: Name of the destination object.
- name: ifGenerationMatch
value: ''
type: query
description: Makes the operation conditional on whether the destination object's current generation matches the given
value.
- name: ifMetagenerationMatch
value: ''
type: query
description: Makes the operation conditional on whether the destination object's current metageneration matches the
given value.
- name: userProject
value: ''
type: query
description: The project to be billed for this request. Required for Requester Pays buckets.
body:
type: json
data: '{}'
docs: Concatenates a list of existing objects into a new object in the same bucket. The composed object can contain no
more than 32 source objects. The destination object's metadata is identical to that of the first source object unless
overridden.
- info:
name: Google Cloud Storage Copy an Object
type: http
http:
method: POST
url: https://storage.googleapis.com/storage/v1/b/:bucket/o/:object/copyTo/b/:destinationBucket/o/:destinationObject
params:
- name: bucket
value: ''
type: path
description: Name of the source bucket.
- name: object
value: ''
type: path
description: Name of the source object. For information about how to URL-encode object names, see Encoding URI path
parts.
- name: destinationBucket
value: ''
type: path
description: Name of the destination bucket.
- name: destinationObject
value: ''
type: path
description: Name of the destination object.
- name: destinationPredefinedAcl
value: ''
type: query
description: Apply a predefined set of access controls to the destination object.
- name: ifGenerationMatch
value: ''
type: query
description: Makes the operation conditional on whether the destination object's current generation matches the given
value.
- name: ifGenerationNotMatch
value: ''
type: query
description: Makes the operation conditional on whether the destination object's current generation does not match
the given value.
- name: ifMetagenerationMatch
value: ''
type: query
description: Makes the operation conditional on whether the destination object's current metageneration matches the
given value.
- name: ifMetagenerationNotMatch
value: ''
type: query
description: Makes the operation conditional on whether the destination object's current metageneration does not match
the given value.
- name: ifSourceGenerationMatch
value: ''
type: query
description: Makes the operation conditional on whether the source object's current generation matches the given value.
- name: ifSourceGenerationNotMatch
value: ''
type: query
description: Makes the operation conditional on whether the source object's current generation does not match the
given value.
- name: ifSourceMetagenerationMatch
value: ''
type: query
description: Makes the operation conditional on whether the source object's current metageneration matches the given
value.
- name: ifSourceMetagenerationNotMatch
value: ''
type: query
description: Makes the operation conditional on whether the source object's current metageneration does not match
the given value.
- name: projection
value: ''
type: query
description: Set of properties to return. Defaults to noAcl.
- name:
# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gcp-cloud-storage/refs/heads/main/apis.yml