AWS Error Codes¶
AWS error codes may be returned following a request failure.
Error Code | Error Description | Error |
---|---|---|
AccessDenied | Access denied | 403 |
AccountNotFound | No account was found in. Please contact the system administrator. | 404 |
AccountProblem | There is a problem with the account that prevents the operation from completing successfully. Please use Contact Us. | 403 |
AmbiguousGrantByEmailAddress | The email address provided is associated with more than one account. | 400 |
BadDigest | The Content-MD5 specified did not match what was received | 400 |
BucketAlreadyExists | 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. | 409 |
BucketAlreadyOwnedByYou | The previous request to create the named bucket succeeded and the user already own it. This error is received in all AWS regions except US Standard, us-east-1. In the us-east-1 region, the user will get 200 OK, but it is no-op (if bucket exists S3 will not do anything). | 409 |
BucketNotEmpty | The bucket the user tried to delete is not empty | 409 |
CredentialsNotSupported | This request does not support credentials | 400 |
CrossLocationLoggingProhibited | Cross-location logging not allowed. Buckets in one geographic location cannot log information to a bucket in another location | 403 |
DeleteConflict | The request was rejected because it attempted to delete a resource that has attached subordinate entities. The error message describes these entities | 409 |
EntityAlreadyExists | The request was rejected because it attempted to create a resource that already exists | 409 |
EntityDoesNotExist | Not found | 404 |
EntityTooSmall | The proposed upload is smaller than the minimum allowed object size | 400 |
EntityTooLarge | The proposed upload exceeds the maximum allowed object size | 400 |
ExpiredToken | The provided token has expired | 400 |
Forbidden | Authentication failed | 403 |
IllegalVersioningConfigurationException | Indicates that the versioning configuration specified in the request is invalid | 400 |
IncompleteBody | User did not provide the number of bytes specified by the Content-Length HTTP header | 400 |
IncompleteSignature | Request signature is incomplete | 400 |
IncorrectNumberOfFilesInPostRequest | POST requires exactly one file upload per request | 400 |
InlineDataTooLarge | Inline data exceeds the maximum allowed size | 400 |
InternalError | Internal error encountered. Please try again | 500 |
InternalFailure | The request processing has failed because of an unknown error, exception or failure | 500 |
InvalidAccessKeyId | The AWS access key ID provided does not exist in our records | 403 |
InvalidAction | The action or operation requested is invalid. Verify that the action is typed correctly | 400 |
InvalidAddressingHeader | The Anonymous role must be specified | 400 |
InvalidArgument | Invalid argument provided | 400 |
InvalidBucketName | Specified bucket is not valid | 400 |
InvalidBucketState | The request is not valid with the current state of the bucket | 409 |
InvalidClientTokenId | The X.509 certificate or AWS access key ID provided does not exist in our records | 403 |
InvalidDigest | The Content-MD5 specified is not valid | 400 |
InvalidEncryptionAlgorithmError | The encryption request specified is not valid (the valid value is AES256) | 400 |
InvalidInput | The request was rejected because an invalid or out-of-range value was supplied for an input parameter | 400 |
InvalidLocationConstraint | The specified location constraint is not valid | 400 |
InvalidObjectState | The operation is not valid for the current state of the object | 403 |
InvalidParameterCombination | Parameters that must not be used together were used together | 400 |
InvalidParameterValue | An invalid or out-of-range value was supplied for the input parameter | 400 |
InvalidPart | One or more of the specified parts could not be found. The part might not have been uploaded, or the specified entity tag might not have matched the part’s entity tag | 400 |
InvalidPartOrder | The list of parts was not in ascending order. The parts list must specified in order by part number | 400 |
InvalidPayer | All access to this object has been disabled | 403 |
InvalidPolicyDocument | The content of the form does not meet the conditions specified in the policy document | 400 |
InvalidQueryParameter | The AWS query string is malformed or does not adhere to AWS standards | 400 |
InvalidRange | The requested range cannot be satisfied | 416 |
InvalidRequest | SOAP requests must be made over an HTTPS connection | 400 |
InvalidSecurity | The provided security credentials are not valid | 403 |
InvalidSOAPRequest | The SOAP request body is invalid | 400 |
InvalidStorageClass | The storage class specified is not valid | 400 |
InvalidTargetBucketForLogging | The target bucket for logging does not exist, is not owned by the user, or does not have the appropriate grants for the log-delivery group | 400 |
InvalidToken | The provided token is malformed or otherwise invalid | 400 |
InvalidURI | Could not parse the specified URI | 400 |
KeyTooLong | User’s key is too long | 400 |
LimitExceeded | Request was rejected because it attempted to create resources beyond the current AWS account limit. The error message describes the limit exceeded | 409 |
MalformedACLError | The XML provided was not well-formed or did not validate against the published schema | 400 |
MalformedPolicyDocument | Syntax errors in policy | 400 |
MalformedPOSTRequest | The body of the POST request is not well formed multipart/form data. | 400 |
MalformedQueryString | The query string contains a syntax error | 404 |
MalformedXML | The XML provided was not well formed or did not validate against the published schema | 400 |
MaxMessageLengthExceeded | Request is too big | 400 |
MaxPostPreDataLengthExceededError | The POST request fields preceding the upload file were too large | 400 |
MetadataTooLarge | The metadata headers exceed the maximum allowed metadata size | 400 |
MethodNotAllowed | The specified method is not allowed against this resource | 405 |
MissingAction | The request is missing an action or a required parameter | 400 |
MissingAttachment | A SOAP attachment was expected, but none were found | 400 |
MissingAuthenticationToken | The request must contain either a valid (registered) access key ID or X.509 certificate | 403 |
MissingContentLength | User must provide the Content-Length HTTP header | 411 |
MissingParameter | A required parameter for the specified action is not supplied | 400 |
MissingRequestBodyError | Request body is empty | 400 |
MissingSecurityElement | The SOAP 1.1 request is missing a security element | 400 |
MissingSecurityHeader | The request is missing a required header | 400 |
NoLoggingStatusForKey | There is no such thing as a logging status subresource for a key | 400 |
NoSuchBucket | The specified bucket does not exist | 404 |
NoSuchEntity | The request was rejected because it referenced an entity that does not exist. The error message describes the entity | 404 |
NoSuchKey | The specified key does not exist | 404 |
NoSuchUpload | The specified multipart upload does not exis. The upload ID might be invalid, or the multipart upload might have been aborted or completed | 404 |
NoSuchVersion | The version ID specified in the request does not match an existing version | 404 |
NotImplemented | A header provided implies functionality that is not implemented | 501 |
NotModified | Not modified | 304 |
NotSignedUp | User’s account is not signed up for the S3 service. User must sign up before using S3 | 403 |
NoSuchBucketPolicy | The specified bucket does not have a bucket policy | 404 |
OperationAborted | A conflicting conditional operation is currently in progress against this resource. Try again | 409 |
OptInRequired | The AWS access key ID needs a subscription for the service | 403 |
PermanentRedirect | The bucket the user is attempting to access must be addressed using the specified endpoint. Send all future requests to this endpoint | 301 |
PreconditionFailed | At least one of the preconditions specified did not hold | 412 |
Redirect | Temporary redirect | 307 |
RestoreAlreadyInProgress | Object restore is already in progress | 409 |
RequestExpired | The request reached the service more than 15 minutes after the date stamp on the request or after the request expiration date (such as for pre-signed URLs), or the date stamp on the request is more than 15 minutes in the future | 400 |
RequestIsNotMultiPartContent | Bucket POST must be of the enclosure-type multipart/ form data | 400 |
RequestTimeout | The socket connection to the server was not read from or written to within the timeout period | 400 |
RequestTimeTooSkewed | The difference between the request time and the server’s time is too large | 403 |
RequestTorrentOfBucketError | Requesting the torrent file of a bucket is not permitted | 400 |
ServiceFailure | Server error: the request processing failed because of an unknown error, exception or failure | 500 |
ServiceUnavailable | The request failed due to a temporary failure of the server | 503 |
SignatureDoesNotMatch | The request signature calculated does not match the signature provided | 403 |
SlowDown | Reduce the request rate | 503 |
TemporaryRedirect | The user is being redirected to the bucket while DNS updates | 307 |
Throttling | The request was denied due to request throttling | 400 |
TokenRefreshRequired | The provided token must be refreshed | 400 |
TooManyBuckets | The user attempted to create more buckets than allowed | 400 |
TooManyParts | The user attempted to upload more parts than allowed | 400 |
UnexpectedContent | The request does not support content | 400 |
UnresolvableGrantByEmailAddress | The email address provided does not match any account on record | 400 |
UserKeyMustBeSpecified | The bucket POST must contain the specified field name. If it is specified, check the order of the fields | 400 |
ValidationError | The specified value is invalid | 400 |
WrongFormat | Data entered by the user has a wrong format | 400 |