The following document provides reference information about the error messages and status codes
that are used in the Cloud Storage XML API. For error messages and status codes used by the
Cloud Storage JSON API, see this page.
Cloud Storage uses the standard HTTP error reporting format. Successful requests return
HTTP status codes in the 2xx range. Failed requests return status codes in the 4xx and 5xx ranges.
Requests that require a redirect returns status codes in the 3xx range. Error responses usually
include an XML document in the response body, which contains information about the error.
The following is an example of an error response.
The following are descriptions of the HTTP status and error codes that Cloud Storage uses.
||The e-mail address you provided is associated with more than one account.
||The Content-MD5 you specified did not match what we received.
||This request does not support credentials.
||The CRC32C you specified did not match what we computed.
||Missing an encryption algorithm, or the provided algorithm is not "AE256."
||Missing an encryption key, or it is not Base64 encoded, or it does not meet the required
length of the encryption algorithm.
||The provided encryption key is incorrect.
||Missing a SHA256 hash of the encryption key, or it is not Base64 encoded, or it does not
match the encryption key.
||The specified bucket contains a '.' but is not under a currently recognized top-level domain.
||Your proposed upload is smaller than the minimum allowed object size.
||Your proposed upload exceeds the maximum allowed object size.
||Multiple HTTP header values where one was expected.
||The provided token has expired.
||You did not provide the number of bytes specified by the Content-Length HTTP header.
||POST requires exactly one file upload per request.
||Upload-only and download-only endpoints may only be used for uploading or downloading
||Inline data exceeds the maximum allowed size.
||The specified bucket is not valid.
||Composite attempted with too many or too few components.
||The CRC32c you specified was invalid.
||The Content-MD5 you specified was invalid.
||The specified bucket contains a '.' but is not syntactically valid.
x-goog-hash header you specified
||The specified location constraint is not valid. You cannot specify locations with the
Cloud Storage API.
||The content of the form does not meet the conditions specified in the policy document.
||The storage class you specified is not valid.
||This combination of location and storage class specified is not supported.
In particular, regional buckets do not support
Storage, and multi-regional buckets do not support
||The specified object name is not valid.
||The target bucket for logging does not exist, or does not grant write permission to the
group "firstname.lastname@example.org". See
setting up log delivery.
||The provided token is malformed or otherwise invalid.
||Couldn't parse the specified URI.
||Your object name is too long.
||The XML you provided was not well-formed or did not validate against our published schema.
||An HTTP header value was malformed.
||The body of your POST request is not well-formed multipart/form-data.
||This happens when the user sends a malformed XML (XML that doesn't conform to the
published XSD) for the configuration.
||Your request was too big.
||Your POST request fields preceding the upload file were too large.
||Your metadata headers exceed the maximum allowed metadata size.
||This happens when the user sends an empty XML document as a request.
||Your request was missing a required header.
||There is no such thing as a logging status sub-resource for a key.
||A header or query you provided requested a function that is not implemented.
||MD5 is required for the requested operation but was not provided.
||Bucket POST must be of the enclosure-type multipart/form-data.
||Your socket connection to the server was not read from or written to within the timeout
||The resource is encrypted with a customer-supplied encryption key, but the request did not
||The resource is not encrypted with a customer-supplied encryption key, but the request
||A secure connection is required to process this request.
||The provided token must be refreshed.
||You have attempted to create more buckets than allowed.
||This request does not support content.
||The e-mail address you provided does not match any account on record.
||The ACL you specified is not supported. For more information about the ACLs that
Cloud Storage supports, see Access Control.
||The bucket POST must contain the specified field name. If it is specified, please check
the order of the fields.
||Access denied. This applies to any object you don't have access to, regardless of
whether or not the object actually exists.
||There is a problem with your Google account that prevents the operation from completing
successfully. One issue could be billing. Check
the billing page to see if you
have a past due balance or if the credit card (or other payment mechanism) on your account
is expired. For project creation, see the Projects page
in the Google Cloud Platform Console. For other problems,
see the Resources and Support page.
||The bucket you tried to create is a domain name owned by another user.
||The requested bucket name is not available. The bucket namespace is shared by all users
of the system. Please select a different name and try again.
||Cross location logging not allowed. A bucket in one location cannot log information
to a bucket in another location.
||The bucket you tried to create requires domain ownership verification. For more
information, see Bucket and Object Naming
||The user does not have enough quota to complete this operation.
||The User Id you provided does not exist in our records.
||All access to this object has been disabled.
||The provided security credentials are not valid.
||The Cloud Storage rate limit was exceeded. Retry using
||The difference between the request time and the server's time is too large.
||The request signature we calculated does not match the signature you provided. Check
your Google secret and signing method.