The following table describes the elements that can appear in the response body of an error. Fields should be used together to help determine the problem. Also, the example values given below are meant for illustration and are not an exhaustive list of
all possible values.
ElementDescription
code
| An HTTP status code value, without the textual description. Example values include: 400 (Bad Request), 401 (Unauthorized), and 404 (Not Found).
|
error
| A container for the error information.
|
errors
| A container for the error details.
|
errors.domain
| The scope of the error. Example values include: global and push.
|
errors.location
| The specific item within the locationType that caused the error. For example, if you specify an invalid value for a parameter, the location will be the name of the parameter. Example values include: Authorization, project, and projection.
|
errors.locationType
| The location or part of the request that caused the error. Use with location to pinpoint the error. For example, if you specify an invalid value for a parameter, the locationType will be parameter and the location will be the name of the parameter. Example values include header and parameter.
|
errors.message
| Description of the error. Example values include Invalid argument, Login required, and Required parameter: project.
|
errors.reason
| Example values include invalid, invalidParameter, and required.
|
message
| Description of the error. Same as errors.message.
|
This section provides a non-exhaustive list of HTTP status and error codes that the Cloud Storage JSON API uses. The 1xx Informational and 2xx Success codes are not discussed here. For more information, see Response Status Codes in RFC 7231 §6,
RFC 7232 §4, RFC 7233 §4, RFC 7235 §3, and RFC 6585.
[Domain.]ReasonDescription
badRequest
| The request cannot be completed based on your current Cloud Storage settings. For example, you cannot lock a retention policy if the requested bucket doesn't have a retention policy, and you cannot set ACLs if the requested bucket has Bucket Policy Only enabled.
|
badRequestException
| The retention period on a locked bucket cannot be reduced.
|
cloudKmsBadKey
| Bad Cloud KMS key.
|
cloudKmsCannotChangeKeyName
| Cloud KMS key name cannot be changed.
|
cloudKmsDecryptionKeyNotFound
| Resource's Cloud KMS decryption key not found.
|
cloudKmsDisabledKey
| Cloud KMS key is disabled, destroyed, or scheduled to be destroyed.
|
cloudKmsEncryptionKeyNotFound
| Cloud KMS encryption key not found.
|
cloudKmsKeyLocationNotAllowed
| Cloud KMS key location not allowed.
|
corsRequestWithXOrigin
| CORS request contains an XD3 X-Origin header.
|
customerEncryptionAlgorithmIsInvalid
| Missing an encryption algorithm, or the provided algorithm is not "AE256."
|
customerEncryptionKeyFormatIsInvalid
| Missing an encryption key, or it is not Base64 encoded, or it does not meet the required length of the encryption algorithm.
|
customerEncryptionKeyIsIncorrect
| The provided encryption key is incorrect.
|
customerEncryptionKeySha256IsInvalid
| Missing a SHA256 hash of the encryption key, or it is not Base64 encoded, or it does not match the encryption key.
|
invalidAltValue
| The value for the alt URL parameter was not recognized.
|
invalidArgument
| The value for one of fields in the request body was invalid.
|
invalidParameter
| The value for one of the URL parameters was invalid. In addition to normal URL parameter validation, any URL parameters that have a corresponding value in provided JSON request bodies must match if they are both specified. If using JSONP, you will get this error if you provide an alt parameter that is not json.
|
notDownload
| Uploads or normal API request was sent to a /download/* path. Use the same path, but without the /download prefix.
|
notUpload
| Downloads or normal API request was sent to a /upload/* path. Use the same path, but without the /upload prefix.
|
parseError
| Could not parse the body of the request according to the provided Content-Type.
|
push.channelIdInvalid
| Channel id must match the following regular expression: [A-Za-z0-9\\-_\\+/=]+
|
push.channelIdNotUnique
| storage.objects.watchAll's id property must be unique across channels.
|
push.webhookUrlNoHostOrAddress
| storage.objects.watchAll's address property must contain a valid URL.
|
push.webhookUrlNotHttps
| storage.objects.watchAll's address property must be an HTTPS URL.
|
required
| A required URL parameter or required request body JSON property is missing.
|
resourceIsEncryptedWithCustomerEncryptionKey
| The resource is encrypted with a customer-supplied encryption key, but the request did not provide one.
|
resourceNotEncryptedWithCustomerEncryptionKey
| The resource is not encrypted with a customer-supplied encryption key, but the request provided one.
|
turnedDown
| A request was made to an API version that has been turned down. Clients will need to update to a supported version.
|
userProjectInvalid
| The user project specified in the request is invalid, either because it is a malformed project id or because it refers to a non-existent project.
|
userProjectMissing
| The requested bucket has Requester Pays enabled, the requester is not an owner of the bucket, and no user project was present in the request.
|
wrongUrlForUpload
| storage.objects.insert must be invoked as an upload rather than a metadata.
|
[Domain.]ReasonDescription
accountDisabled
| The account associated with the project that owns the bucket or object has been disabled. Check the Google Cloud console to see if there is a problem with billing, and if not, contact account support.
|
countryBlocked
| The Cloud Storage JSON API is restricted by law from operating with certain countries.
|
forbidden
| According to access control policy, the current user does not have access to perform the requested action. This code applies even if the resource being acted on doesn't exist.
|
insufficientPermissions
| According to access control policy, the current user does not have access to perform the requested action. This code applies even if the resource being acted on doesn't exist.
|
objectUnderActiveHold
| Object replacement or deletion is not allowed due to an active hold on the object.
|
retentionPolicyNotMet
| Object replacement or deletion is not allowed until the object meets the retention period set by the retention policy on the bucket.
|
sslRequired
| Requests to this API require SSL.
|
stopChannelCallerNotOwner
| Calls to storage.channels.stop require that the caller own the channel.
|
UserProjectAccessDenied
| The requester is not authorized to use the project specified in the userProject portion of the request. The requester must have the serviceusage.services.use permission for the specified project.
|
UserProjectAccountProblem
| There is a problem with the project used in the request 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
console. For other problems, see the Resources and Support page.
|
This error is generated when there was difficulty reaching an internal service. It is not formatted with a JSON document. Please try again using truncated exponential backoff.
This error is generated when there was difficulty reaching an internal service. It is not formatted with a JSON document. Please try again using truncated exponential backoff.
Except as otherwise noted, the content of this page is licensed under the
Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2022-08-02 UTC.
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }] [{ "type":
"thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]