v1

latestOpenAPI 3.0.0Creative Commons Attribution 3.02026-07-138134216.7 KB
objects

Copies a source object to a destination object. Optionally overrides metadata.

post/b/{sourceBucket}/o/{sourceObject}/copyTo/b/{destinationBucket}/o/{destinationObject}

Path parameters

sourceBucketstring required

Name of the bucket in which to find the source object.

sourceObjectstring required

Name of the source object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.

destinationBucketstring required

Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any.For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.

destinationObjectstring required

Name of the new object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any.

Query parameters

destinationKmsKeyNamestring

Resource name of the Cloud KMS key, of the form projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, that will be used to encrypt the object. Overrides the object metadata's kms_key_name value, if any.

destinationPredefinedAcl'authenticatedRead' | 'bucketOwnerFullControl' | 'bucketOwnerRead' | 'private' | 'projectPrivate' | 'publicRead'

Apply a predefined set of access controls to the destination object.

ifGenerationMatchstring

Makes the operation conditional on whether the destination 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.

ifGenerationNotMatchstring

Makes the operation conditional on whether the destination object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.

ifMetagenerationMatchstring

Makes the operation conditional on whether the destination object's current metageneration matches the given value.

ifMetagenerationNotMatchstring

Makes the operation conditional on whether the destination object's current metageneration does not match the given value.

ifSourceGenerationMatchstring

Makes the operation conditional on whether the source object's current generation matches the given value.

ifSourceGenerationNotMatchstring

Makes the operation conditional on whether the source object's current generation does not match the given value.

ifSourceMetagenerationMatchstring

Makes the operation conditional on whether the source object's current metageneration matches the given value.

ifSourceMetagenerationNotMatchstring

Makes the operation conditional on whether the source object's current metageneration does not match the given value.

projection'full' | 'noAcl'

Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full.

sourceGenerationstring

If present, selects a specific revision of the source object (as opposed to the latest version, the default).

userProjectstring

The project to be billed for this request. Required for Requester Pays buckets.

Request body

bucketstring

The name of the bucket containing this object.

cacheControlstring

Cache-Control directive for the object data. If omitted, and the object is accessible to all anonymous users, the default will be public, max-age=3600.

componentCountinteger

Number of underlying components that make up this object. Components are accumulated by compose operations.

contentDispositionstring

Content-Disposition of the object data.

contentEncodingstring

Content-Encoding of the object data.

contentLanguagestring

Content-Language of the object data.

contentTypestring

Content-Type of the object data. If an object is stored without a Content-Type, it is served as application/octet-stream.

crc32cstring

CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 in big-endian byte order. For more information about using the CRC32c checksum, see Data Validation and Change Detection.

customTimestring date-time

A timestamp in RFC 3339 format specified by the user for an object.

etagstring

HTTP 1.1 Entity tag for the object.

eventBasedHoldboolean

Whether an object is under event-based hold. Event-based hold is a way to retain objects until an event occurs, which is signified by the hold's release (i.e. this value is set to false). After being released (set to false), such objects will be subject to bucket-level retention (if any). One sample use case of this flag is for banks to hold loan documents for at least 3 years after loan is paid in full. Here, bucket-level retention is 3 years and the event is the loan being paid in full. In this example, these objects will be held intact for any number of years until the event has occurred (event-based hold on the object is released) and then 3 more years after that. That means retention duration of the objects begins from the moment event-based hold transitioned from true to false.

generationstring int64

The content generation of this object. Used for object versioning.

idstring

The ID of the object, including the bucket name, object name, and generation number.

kindstring

The kind of item this is. For objects, this is always storage#object.

kmsKeyNamestring

Not currently supported. Specifying the parameter causes the request to fail with status code 400 - Bad Request.

md5Hashstring

MD5 hash of the data; encoded using base64. For more information about using the MD5 hash, see Data Validation and Change Detection.

mediaLinkstring

Media download link.

metadataobject

User-provided metadata, in key/value pairs.

restoreTokenstring

Restore token used to differentiate deleted objects with the same name and generation. This field is only returned for deleted objects in hierarchical namespace buckets.

metagenerationstring int64

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.

namestring

The name of the object. Required if not specified by URL parameter.

retentionExpirationTimestring date-time

A server-determined value that specifies the earliest time that the object's retention period expires. This value is in RFC 3339 format. Note 1: This field is not provided for objects with an active event-based hold, since retention expiration is unknown until the hold is removed. Note 2: This value can be provided even when temporary hold is set (so that the user can reason about policy without having to first unset the temporary hold).

selfLinkstring

The link to this object.

sizestring uint64

Content-Length of the data in bytes.

storageClassstring

Storage class of the object.

temporaryHoldboolean

Whether an object is under temporary hold. While this flag is set to true, the object is protected against deletion and overwrites. A common use case of this flag is regulatory investigations where objects need to be retained while the investigation is ongoing. Note that unlike event-based hold, temporary hold does not impact retention expiration time of an object.

timeCreatedstring date-time

The creation time of the object in RFC 3339 format.

timeDeletedstring date-time

The time at which the object became noncurrent in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.

timeFinalizedstring date-time

The time when the object was finalized.

softDeleteTimestring date-time

The time at which the object became soft-deleted in RFC 3339 format.

hardDeleteTimestring date-time

This is the time (in the future) when the soft-deleted object will no longer be restorable. It is equal to the soft delete time plus the current soft delete retention duration of the bucket.

timeStorageClassUpdatedstring date-time

The time at which the object's storage class was last changed. When the object is initially created, it will be set to timeCreated.

updatedstring date-time

The modification time of the object metadata in RFC 3339 format. Set initially to object creation time and then updated whenever any metadata of the object changes. This includes changes made by a requester, such as modifying custom metadata, as well as changes made by Cloud Storage on behalf of a requester, such as changing the storage class based on an Object Lifecycle Configuration.

Response

Successful response