Every error response body contains an error code and a message that provides more information about the error. Error codes are returned in addition to HTTP status codes. A single HTTP status code can correspond to multiple error codes.
The table below describes the error codes that can be returned in response to S3 compatible API requests.
| Status Code | Meaning | Error Code | Description |
|---|---|---|---|
| 200 | OK | BucketAlreadyOwnedByYou | You are trying to create a bucket, but a bucket with the specified name already exists and is owned by you. |
| 200 | OK | EntityTooSmall |
The list of parts in a request to complete a multipart upload includes a part, other than the last part, that is smaller than one megabyte. When this error occurs, the multipart upload is not completed, even though the returned status code is 200 (OK). |
| 200 | OK | InvalidPart |
One or more of the parts listed in a request to complete a multipart upload cannot be found. Either the part was not uploaded, or the specified ETag does not match the ETag for the uploaded part. When this error occurs, the multipart upload is not completed, even though the returned status code is 200 (OK). |
| 200 | OK | InvalidPartOrder |
The list of parts in a request to complete a multipart upload is not in ascending order by part number. When this error occurs, the multipart upload is not completed, even though the returned status code is 200 (OK). |
| 304 | Not Modified | PreconditionFailed |
HCP did not perform the requested operation because a specified precondition for the operation was not satisfied. When this error occurs with a request to complete a multipart upload, the returned status code is 200 (OK), but the multipart upload is not completed. |
| 400 | Bad Request | BadDigest |
One of these:
|
| 400 | Bad Request | InvalidArgument |
Possible reasons include:
|
| 400 | Bad Request | InvalidBucketName | The specified bucket name is invalid. |
| 400 | Bad Request | InvalidRequest |
You are trying to create a bucket, and one of these is true:
|
| 400 | Bad Request | KeyTooLong | The specified object name is too long. |
| 400 | Bad Request | MalformedXML |
The request is invalid. Possible reasons include:
|
| 400 | Bad Request | MetadataTooLarge | The custom metadata you are trying to store is larger than two kilobytes. |
| 400 | Bad Request | EntityTooLarge | Your proposed upload exceeds the maximum allowed object size. |
| 400 | Bad Request | InvalidDigest | The Content-MD5 you specified is not valid. |
| 400 | Bad Request | InvalidPolicyDocument | The content of the form does not meet the conditions specified in the policy document. |
| 400 | Bad Request | MalformedPOSTRequest | The body of your POST request is not well-formed multipart/form-data. |
| 400 | Bad Request | MissingRequestBodyError | This happens when the user sends an empty xml document as a request. The error message is, "Request body is empty." |
| 400 | Bad Request | MissingSecurityHeader | Your request is missing a required header. |
| 400 | Bad Request | UserKeyMustBeSpecified | The bucket POST must contain the specified field name. If it is specified, check the order of the fields. |
| 403 | Forbidden | AccessDenied |
Possible reasons include:
|
| 403 | Forbidden | InvalidAccessKeyId | The access key provided in the request does not correspond to a valid user account. |
| 403 | Forbidden | InvalidObjectState | The operation is not valid for the current state of the object. |
| 403 | Forbidden | RequestTimeTooSkewed | The difference between the request time and the server's time is too large. |
| 404 | Not Found | NoSuchBucket | The specified bucket does not exist. |
| 404 | Not Found | NoSuchKey | HCP could not find an object with the specified name. |
| 404 | Not Found | NoSuchUpload | The specified multipart upload does not exist. Either the upload ID is invalid, or the multipart upload was aborted or completed. |
| 404 | Not Found | NoSuchLifecycleConfiguration | The lifecycle configuration does not exist. |
| 405 | Method Not Allowed | MethodNotAllowed | The requested HTTP method is not supported for the target tenant, bucket, or object. |
| 409 | Conflict | BucketAlreadyExists | You are trying to create a bucket, but a bucket with the specified name already exists and either is owned by a user other than you or has no owner. |
| 409 | Conflict | BucketNotEmpty | You are trying to delete a bucket that is not empty. |
| 409 | Conflict | InvalidBucketState | The target bucket does not currently support the requested operation. |
| 409 | Conflict | OperationAborted |
Possible reasons include:
|
| 411 | Length Required | MissingContentLength | You must provide the Content-Length HTTP header. |
| 412 | Precondition Failed | PreconditionFailed |
HCP did not perform the requested operation because a specified precondition for the operation was not satisfied. When this error occurs with a request to complete a multipart upload, the returned status code is 200 (OK), but the multipart upload is not completed. |
| 413 | Request Entity Too Large | OutOfSpace | The object you are trying to store or the custom metadata you are trying to add is too big for the amount of space left in the bucket. |
| 416 | Requested Range Not Satisfiable | InvalidRange |
You are trying to retrieve part of an object, and one of these is true:
|
| 500 | Internal Server Error | InternalError |
An internal error occurred. If this error persists, contact your tenant administrator. |
| 501 | Not Implemented | NotImplemented | The requested operation is not supported. |
| 503 | Service Unavailable | ServiceUnavailable |
HCP is temporarily unable to handle the request, probably due to system overload, maintenance, or upgrade. Try the request again, gradually increasing the delay between each successive attempt. If this error persists, contact your tenant administrator. |
| 403 | Forbidden | SignatureDoesNotMatch | The signature provided with the request does not match the request contents. Check that the secret key and signing method used are correct. |