Skip to main content

Error codes

Errors are returned in the S3 XML format: <Error><Code>…</Code><Message>…</Message><Resource>…</Resource><RequestId>…</RequestId></Error>. The message is a fixed text per code.

CodeStatusUsual cause
AccessDenied403No permission, unsigned host or x-amz-* header, wrong SSE-C key, presigned expiry out of range
SignatureDoesNotMatch403Wrong secret key, or an aws-chunked chunk signature that does not verify
InvalidAccessKeyId403Unknown access key
RequestTimeTooSkewed403Client clock more than 15 minutes off
ExpiredToken403Presigned URL expired
QuotaExceeded403Write over S3_MAX_STORAGE_BYTES. Not retried by SDKs
NoSuchBucket404Bucket does not exist
NoSuchKey404Object does not exist
NoSuchVersion404Unknown or malformed versionId
NoSuchUpload404Unknown or malformed uploadId
NoSuchBucketPolicy404No policy on the bucket
NoSuchCORSConfiguration404No CORS configuration on the bucket
BucketAlreadyExists409Name taken by another user
BucketAlreadyOwnedByYou409You already own this bucket
BucketNotEmpty409Objects, versions or multipart uploads remain
InvalidBucketName400Name breaks the naming rules
InvalidArgument400Invalid key (., .., empty segment, over 1,024 bytes or 64 levels), malformed aws-chunked body, invalid copy source, SSE-C key MD5 mismatch, unsupported x-amz-content-sha256
InvalidPart400Part missing or ETag mismatch on complete
InvalidPartOrder400Parts not in ascending order on complete
MalformedPolicy400Invalid policy JSON, field or action
MalformedXML400Invalid XML body
XAmzContentSHA256Mismatch400Body does not match the signed hash. Nothing is stored
RequestTimeout400Upload stalled 60 seconds or slower than S3_MIN_UPLOAD_RATE
MissingSecurityHeader400SSE-C object read without its key
InvalidEncryptionAlgorithmError400Algorithm other than AES256
ServerSideEncryptionConfigurationNotFoundError400SSE-S3 requested without a master key
MethodNotAllowed405Unsupported method on this path. Often an empty body
EntityTooLarge413Body or metadata over its limit
InvalidRange416Range outside the object
InternalError500Server-side failure: check the logs