Error codes

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 CodeMeaningError CodeDescription
200OKBucketAlreadyOwnedByYouYou are trying to create a bucket, but a bucket with the specified name already exists and is owned by you.
200OKEntityTooSmall

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).

200OKInvalidPart

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).

200OKInvalidPartOrder

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).

304Not ModifiedPreconditionFailed

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.

400Bad RequestBadDigest

One of these:

  • The value of the Content-MD5 header does not match the Base64-encoded 128-bit MD5 hash of the submitted data.
  • The value of the Content-MD5 header is not a valid hash value.
400Bad RequestInvalidArgument

Possible reasons include:

  • A query parameter has an invalid value.
  • An ACL grant header specifies an invalid grantee.
  • The request includes conflicting conditional headers (for example, If-Match and If-None-Match).
  • The request includes a header that is invalid for the requested operation.
400Bad RequestInvalidBucketNameThe specified bucket name is invalid.
400Bad RequestInvalidRequest

You are trying to create a bucket, and one of these is true:

  • You already own the maximum number buckets allowed per user.
  • The tenant does not have enough space for another bucket.
  • The tenant already has the maximum number of buckets it’s allowed to have.
  • An unexpected error occurred.
400Bad RequestKeyTooLongThe specified object name is too long.
400Bad RequestMalformedXML

The request is invalid. Possible reasons include:

  • The object name specified in the request is invalid.
  • A query parameter specifies an invalid value.
  • The request includes both the x-amz-acl header and an individual ACL grant header.
  • The XML in the request body is malformed or contains an invalid value.
400Bad RequestMetadataTooLargeThe custom metadata you are trying to store is larger than two kilobytes.
403ForbiddenAccessDenied

Possible reasons include:

  • You do not have permission to perform the requested operation.
  • The requested operation requires authenticated access, and you have not provided valid user account credentials.
  • The user account identified by the access key provided in the request is disabled. To have the account enabled, contact your tenant administrator.
  • The target bucket does not currently support the requested operation.
  • The tenant does not currently support most S3 compatible operations on buckets.
  • You are using a presigned URL, and the time period during which the URL was valid has expired.
403ForbiddenInvalidAccessKeyIdThe access key provided in the request does not correspond to a valid user account.
404Not FoundNoSuchBucketThe specified bucket does not exist.
404Not FoundNoSuchKeyHCP could not find an object with the specified name.
404Not FoundNoSuchUploadThe specified multipart upload does not exist. Either the upload ID is invalid, or the multipart upload was aborted or completed.
405Method Not AllowedMethodNotAllowedThe requested HTTP method is not supported for the target tenant, bucket, or object.
409ConflictBucketAlreadyExistsYou 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.
409ConflictBucketNotEmptyYou are trying to delete a bucket that is not empty.
409ConflictInvalidBucketStateThe target bucket does not currently support the requested operation.
409ConflictOperationAborted

Possible reasons include:

  • HCP cannot perform the requested operation because a conflicting operation is already in progress.
  • You are trying to delete an object that is under retention.
  • You are trying to create an object with the same name as an existing object, and versioning is disabled.
  • You are trying to read, add an ACL to, or delete an object that is currently being written to the bucket.
412Precondition FailedPreconditionFailed

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.

413Request Entity Too LargeOutOfSpaceThe 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.
416Requested Range Not SatisfiableInvalidRange

You are trying to retrieve part of an object, and one of these is true:

  • The specified start position is greater than the size of the requested data.
  • The size of the specified range is zero.
500Internal Server ErrorInternalError

An internal error occurred.

If this error persists, contact your tenant administrator.

501Not ImplementedNotImplementedThe requested operation is not supported.
503Service UnavailableServiceUnavailable

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.

403ForbiddenSignatureDoesNotMatchThe signature provided with the request does not match the request contents. Check that the secret key and signing method used are correct.