Google Cloud Storage


The Objects resource represents an object within Google Cloud Storage. Objects are pieces of data that you have uploaded to Google Cloud Storage. For more information, see Object Name Requirements.

Every object in Google Cloud Storage resides in a bucket. The object is owned by its original uploader, who will always retain OWNER permission on it.

In addition to the acl property, objects contain objectAccessControls, for use in fine-grained manipulation of an existing object's access controls.

For a list of methods for this resource, see the end of this page.

Resource representations

  "kind": "storage#object",
  "id": string,
  "selfLink": string,
  "name": string,
  "bucket": string,
  "generation": long,
  "metageneration": long,
  "contentType": string,
  "updated": datetime,
  "timeDeleted": datetime,
  "storageClass": string,
  "size": unsigned long,
  "md5Hash": string,
  "mediaLink": string,
  "contentEncoding": string,
  "contentDisposition": string,
  "contentLanguage": string,
  "cacheControl": string,
  "metadata": {
    (key): string
  "acl": [
    objectAccessControls Resource
  "owner": {
    "entity": string,
    "entityId": string
  "crc32c": string,
  "componentCount": integer,
  "etag": string
Property name Value Description Notes
acl[] list Access controls on the object. writable
bucket string The name of the bucket containing this object.
cacheControl string Cache-Control directive for the object data. writable
componentCount integer Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
contentDisposition string Content-Disposition of the object data. writable
contentEncoding string Content-Encoding of the object data. writable
contentLanguage string Content-Language of the object data. writable
contentType string Content-Type of the object data. writable
crc32c string CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64. writable
etag string HTTP 1.1 Entity tag for the object.
generation long The content generation of this object. Used for object versioning.
id string The ID of the object.
kind string The kind of item this is. For objects, this is always storage#object.
md5Hash string MD5 hash of the data; encoded using base64. writable
metadata object User-provided metadata, in key/value pairs. writable
metadata.(key) string An individual metadata entry. writable
metageneration long The version of the metadata for this object at this generation. Used for preconditions and for detecting changes in metadata. A metageneration number is only meaningful in the context of a particular generation of a particular object.
name string The name of this object. Required if not specified by URL parameter. writable
owner object The owner of the object. This will always be the uploader of the object.
owner.entity string The entity, in the form user-userId.
owner.entityId string The ID for the entity.
size unsigned long Content-Length of the data in bytes.
storageClass string Storage class of the object.
timeDeleted datetime The deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
updated datetime The creation or modification time of the object in RFC 3339 format. For buckets with versioning enabled, changing an object's metadata does not change this property.


Available methods for Objects resources are as follows:

Concatenates a list of existing objects into a new object in the same bucket.
Copies an object to a specified location. Optionally overrides metadata.
Deletes an object and its metadata. Deletions are permanent if versioning is not enabled for the bucket, or if the generation parameter is used.
Retrieves an object or its metadata.
Stores a new object and metadata.
Retrieves a list of objects matching the criteria.
Updates a data blob's associated metadata. This method supports patch semantics.
Updates an object's metadata.
Watch for changes on all objects in a bucket.