Yandex.Cloud
  • Services
  • Why Yandex.Cloud
  • Pricing
  • Documentation
  • Contact us
Get started
Yandex Object Storage
  • Getting started
  • Step-by-step instructions
    • All instructions
    • Buckets
      • Creating a bucket
      • Deleting a bucket
      • Limiting the maximum size of a bucket
      • Allowing public access to a bucket
      • Bucket encryption
      • Managing object lifecycles
      • Managing CORS configurations
      • Editing a bucket ACL
      • Logging actions with the bucket
    • Objects
      • Uploading an object
      • Getting information about an object
      • Downloading an object
      • Getting a public link to an object
      • Deleting an object
      • Deleting a partially uploaded object
      • Editing an object ACL
    • Static website hosting
      • Hosting setup
      • Support for your own domain
      • Support for multiple domain names
      • Configuring HTTPS
  • Concepts
    • Overview
    • Bucket
    • Objects
    • Bucket versioning
    • Object lifecycles
    • CORS
    • Static website hosting
    • Pre-signed URLs
    • Multipart upload
    • Access control lists (ACLs)
    • Bucket Policy
    • Upload file via HTML form
    • Storage class
    • Logging actions with a bucket
    • Backups
    • TLS protocol
    • Quotas and limits
  • Tools
    • All tools
    • Console clients
      • AWS CLI
      • S3cmd
    • File browsers
      • CyberDuck
      • WinSCP
    • SDK
      • AWS SDK for Java
      • Python SDK (boto)
    • FUSE
      • s3fs
      • goofys
  • Amazon S3-compatible HTTP API
    • How to use the API
    • Signing requests
    • API reference
      • All services and methods
      • Bucket
        • All methods
        • create
        • getBucketEncryption
        • getMeta
        • listObjects
        • listBuckets
        • deleteBucket
        • deleteBucketEncryption
        • putBucketEncryption
        • putBucketVersioning
        • getBucketVersioning
        • putBucketLogging
        • getBucketLogging
        • listObjectVersions
      • Object
        • All methods
        • upload
        • get
        • copy
        • getObjectMeta
        • delete
        • deleteMultipleObjects
        • options
      • Multipart upload
        • General multipart upload procedure
        • startUpload
        • uploadPart
        • copyPart
        • listParts
        • abortUpload
        • completeUpload
        • listUploads
      • Static Website Hosting
        • All methods
        • upload
        • get
        • delete
        • Static website response codes
      • CORS
        • All methods
        • XML structure of CORS configuration
        • upload
        • get
        • delete
      • Lifecycles
        • All methods
        • XML structure of lifecycle configuration
        • upload
        • get
        • delete
      • ACL
        • All methods
        • XML structure of ACL configuration
        • objectGetAcl
        • objectPutAcl
        • bucketGetAcl
        • bucketPutAcl
      • Bucket Policy
        • All methods
        • GetBucketPolicy
        • PutBucketPolicy
        • DeleteBucketPolicy
        • Data schema
        • Actions
        • Conditions
      • Common request headers
      • Common response headers
      • Responses
  • Access management
  • Pricing policy
    • Current pricing policy
    • Archive
      • Before January 1, 2019
      • From January 1 to March 1, 2019
  • Questions and answers
  1. Amazon S3-compatible HTTP API
  2. API reference
  3. Responses

Responses

  • Successful response
  • Error response
    • Error codes

Successful response

If there are no errors, Object Storage returns a 2xx HTTP code. The response code and body depend on the request and are given in the request descriptions.

Error response

In case of an error, Object Storage returns a message with the appropriate HTTP code and its additional description in XML format.

<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>NoSuchKey</Code>
  <Message>The resource you requested does not exist</Message>
  <Resource>/mybucket/myfoto.jpg</Resource>
  <RequestId>4442587FB7D0A2F9</RequestId>
</Error>
Tag Description
Code Error code.

A list of codes is given below.
Message Error description in English.
RequestId ID of the request that caused an error.

Same as the x-amz-request-id header value.
Resource The bucket or object that led to the error.

Error codes

HTTP Error code Description
301 PermanentRedirect The specified bucket should always be accessed using the address returned in the response.
307 Redirect The specified bucket should temporarily be accessed using the address returned in the response.
307 TemporaryRedirect Redirect while the DNS is being updated.
400 BadDigest The hash passed in the Content-MD5 header doesn't match the one calculated on the Object Storage side.
400 CredentialsNotSupported Credentials are not supported.
400 EntityTooSmall The size of an uploaded object is smaller than the minimum allowed size.
400 EntityTooLarge The size of an uploaded object is greater than the maximum allowed size.
400 ExpiredToken The token provided is expired.
400 IncompleteBody The size of the data sent is smaller than the size indicated in the Content-Length header.
400 IncorrectNumberOfFilesInPostRequest The POST method only requires one file to be sent.
400 InlineDataTooLarge The request data exceeds the maximum allowed size.
400 InvalidDigest The hash passed in the Content-MD5 header isn't valid.
400 InvalidArgument The argument is invalid.
400 InvalidBucketName The name of the bucket is invalid.
400 InvalidPart One or more parts of a multipart upload were not found. Make sure the list is correct. The missing parts may not have been uploaded.
400 InvalidPartOrder The list of parts of a multipart upload is incorrect. The parts must be sorted by number in ascending order.
400 InvalidRequest Use AWS4-HMAC-SHA256.
400 InvalidRequest Attempt to exceed the maximum bucket size.

Error description in the response: "You have attempted to exceed the max size configured for the bucket."
400 InvalidStorageClass The storage class is invalid.
400 InvalidTargetBucketForLogging The bucket does not exist, or you are not the owner of the bucket, or the log delivery group does not have sufficient permissions.
400 InvalidToken The token is malformed or otherwise invalid.
400 InvalidURI Failed to parse the passed URI.
400 KeyTooLongError The key is too long.
400 MalformedACLError The provided XML document is malformed or doesn't match the schema.
400 MalformedPOSTRequest The body of the request isn't in multipart/form-data format.
400 MalformedXML The provided XML document is malformed or doesn't match the schema.
400 MaxMessageLengthExceeded The maximum allowed request length is exceeded.
400 MaxPostPreDataLengthExceededError The HTTP message header exceed the allowed length.
400 MetadataTooLarge The metadata headers exceed the allowed size.
400 MissingRequestBodyError The request body is empty.

Occurs when sending an empty XML document.
400 MissingSecurityHeader The required header is missing.
400 NoLoggingStatusForKey There is no logging status for the key.
400 RequestIsNotMultiPartContent The request must contain multipart/form-data type data.
400 RequestTimeout A read/write timeout.
400 TokenRefreshRequired Refresh your token.
400 TooManyBuckets Exceeded the bucket number limit.
400 UnexpectedContent The request shouldn't contain content.
400 UnresolvableGrantByEmailAddress The email address provided doesn't match any recorded account.
400 UserKeyMustBeSpecified The request must contain the header specified in the error description.
403 AccessDenied Access is denied.
403 AccountProblem There is a problem with the account that prevents the operation from completing successfully.

Contact Yandex.Cloud support.
403 InvalidAccessKeyId Unknown key.
403 InvalidObjectState The request cannot be executed for the current state of the object.
403 InvalidPayer Access to the object is blocked.
403 InvalidSecurity The provided secret keys are not valid.
403 NotSignedUp Use of Object Storage isn't allowed for this account.
403 RequestTimeTooSkewed The difference between the request sending time and the time on the server is too big.
403 SignatureDoesNotMatch The provided request signature doesn't match the one calculated by Object Storage.
404 NoSuchBucket The specified bucket does not exist.
404 NoSuchKey The specified key does not exist.
404 NoSuchUpload The specified multipart upload does not exist.

This error occurs in the following cases:
- An Invalid upload ID is specified.
- Upload is aborted.
- Upload is complete.
405 MethodNotAllowed The HTTP method is not allowed for the specified resource.
409 BucketAlreadyExists A bucket with the same name already exists. Choose a different name.
409 BucketNotEmpty The bucket you are trying to delete is not empty.
409 InvalidBucketState The request cannot be executed for the current state of the bucket.
409 OperationAborted Conflicting conditional operations.
411 MissingContentLength Add Content-Length to the headers.
412 Precondition Failed One of the conditions specified in the request is not met.
416 InvalidRange Invalid range in the Range header.
429 TooManyRequests Too many requests to Object Storage. Reduce the request rate.
500 InternalError Internal error in Object Storage. Repeat the request.
501 NotImplemented The passed header is not handled by Object Storage.
503 ServiceUnavailable Object Storage is not available.
Reduce your request rate.
503 SlowDown Reduce your request rate.
В этой статье:
  • Successful response
  • Error response
  • Error codes
Language
Careers
Privacy policy
Terms of use
© 2021 Yandex.Cloud LLC