# Responses

### Successful response <a href="#success" id="success"></a>

If there are no errors, ColdStack responds with 2xx HTTP codes. The response code and body depend on the request and are discussed in the request descriptions.

### Error response <a href="#error" id="error"></a>

When an error occurs, ColdStack responds with a message with the appropriate HTTP code and optional XML description.

```
<?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`      | <p>Error code.<br><br>See the list of codes below in the text.</p>                                                                |
| `Message`   | Description of the error in English.                                                                                              |
| `RequestId` | <p>The identifier of the request that caused the error.<br><br>Equal to the value of the title <code>x-amz-request-id</code>.</p> |
| `Resource`  | The bucket or object that encountered an error.                                                                                   |

#### Error codes <a href="#error_codes" id="error_codes"></a>

| HTTP | Error code                            | Description                                                                                                                                                                                                                |
| ---- | ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 301  | `PermanentRedirect`                   | The specified bucket should always be addressed to the address indicated in the response.                                                                                                                                  |
| 307  | `Redirect`                            | The specified bucket should be temporarily addressed at the address indicated in the response.                                                                                                                             |
| 307  | `TemporaryRedirect`                   | Redirect for the duration of the DNS update.                                                                                                                                                                               |
| 400  | `BadDigest`                           | The hash passed in the header `Content-MD5`does not match the one calculated on the ColdStack side.                                                                                                                        |
| 400  | `CredentialsNotSupported`             | Credentials are not supported.                                                                                                                                                                                             |
| 400  | `EntityTooSmall`                      | The loaded object is less than the minimum size allowed.                                                                                                                                                                   |
| 400  | `EntityTooLarge`                      | The loaded object is larger than the maximum allowed.                                                                                                                                                                      |
| 400  | `ExpiredToken`                        | The provided token has expired.                                                                                                                                                                                            |
| 400  | `IncompleteBody`                      | The size of the sent data is smaller than indicated in the header `Content-Length`.                                                                                                                                        |
| 400  | `IncorrectNumberOfFilesInPostRequest` | The POST method requires the transfer of exactly one file.                                                                                                                                                                 |
| 400  | `InlineDataTooLarge`                  | The request data exceeded the maximum size allowed.                                                                                                                                                                        |
| 400  | `InvalidDigest`                       | The hash passed in the Content-MD5 header is not correct.                                                                                                                                                                  |
| 400  | `InvalidArgument`                     | Invalid argument.                                                                                                                                                                                                          |
| 400  | `InvalidBucketName`                   | Invalid bucket name.                                                                                                                                                                                                       |
| 400  | `InvalidPart`                         | One or more parts of the composite load were not found. Check the list is correct. Possibly missing parts were not loaded.                                                                                                 |
| 400  | `InvalidPartOrder`                    | The list of parts for a composite load is incorrect. Parts must be sorted in ascending order.                                                                                                                              |
| 400  | `InvalidRequest`                      | Use AWS4-HMAC-SHA256.                                                                                                                                                                                                      |
| 400  | `InvalidRequest`                      | <p>An attempt was made to exceed the maximum bucket size.<br><br>Error description in response: "You have attempted to exceed the max size configured for the bucket."</p>                                                 |
| 400  | `InvalidStorageClass`                 | Invalid storage class.                                                                                                                                                                                                     |
| 400  | `InvalidTargetBucketForLogging`       | The bucket does not exist, or you are not the bucket owner, or the log delivery group does not have sufficient rights.                                                                                                     |
| 400  | `InvalidToken`                        | The token is incorrectly formed or incorrect for another reason.                                                                                                                                                           |
| 400  | `InvalidURI`                          | It was not possible to parse the passed URI.                                                                                                                                                                               |
| 400  | `KeyTooLongError`                     | The key is too long.                                                                                                                                                                                                       |
| 400  | `MalformedACLError`                   | The provided XML document is malformed or does not conform to the schema.                                                                                                                                                  |
| 400  | `MalformedPOSTRequest`                | The request body does not match the format `multipart/form-data`.                                                                                                                                                          |
| 400  | `MalformedXML`                        | The provided XML document is malformed or does not conform to the schema.                                                                                                                                                  |
| 400  | `MaxMessageLengthExceeded`            | The allowed request length was exceeded.                                                                                                                                                                                   |
| 400  | `MaxPostPreDataLengthExceededError`   | The HTTP message header has exceeded the allowed size.                                                                                                                                                                     |
| 400  | `MetadataTooLarge`                    | The metadata headers are out of size.                                                                                                                                                                                      |
| 400  | `MissingRequestBodyError`             | <p>Empty request body.<br><br>Occurs when an empty XML document is sent.</p>                                                                                                                                               |
| 400  | `MissingSecurityHeader`               | Required title is missing.                                                                                                                                                                                                 |
| 400  | `NoLoggingStatusForKey`               | Key logging status is missing.                                                                                                                                                                                             |
| 400  | `RequestIsNotMultiPartContent`        | The request must contain data of type `multipart/form-data`.                                                                                                                                                               |
| 400  | `RequestTimeout`                      | Read / write timeout.                                                                                                                                                                                                      |
| 400  | `TokenRefreshRequired`                | Refresh the token.                                                                                                                                                                                                         |
| 400  | `TooManyBuckets`                      | Exceeding the limit on the number of buckets.                                                                                                                                                                              |
| 400  | `UnexpectedContent`                   | There should be no content in the request.                                                                                                                                                                                 |
| 400  | `UnresolvableGrantByEmailAddress`     | Unregistered e-mail.                                                                                                                                                                                                       |
| 400  | `UserKeyMustBeSpecified`              | The request must contain the title specified in the error description.                                                                                                                                                     |
| 403  | `AccessDenied`                        | Access is denied.                                                                                                                                                                                                          |
| 403  | `AccountProblem`                      | <p>Account issue preventing operations from completing successfully.<br><br>Contact ColdStack support.</p>                                                                                                                 |
| 403  | `InvalidAccessKeyId`                  | Unknown key.                                                                                                                                                                                                               |
| 403  | `InvalidObjectState`                  | The request could not be completed 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`                         | The account is not allowed to use ColdStack.                                                                                                                                                                               |
| 403  | `RequestTimeTooSkewed`                | The difference between the time the request was sent and the time on the server is too big.                                                                                                                                |
| 403  | `SignatureDoesNotMatch`               | The supplied request signature does not match the computed ColdStack.                                                                                                                                                      |
| 404  | `NoSuchBucket`                        | The specified bucket does not exist.                                                                                                                                                                                       |
| 404  | `NoSuchKey`                           | The specified key does not exist.                                                                                                                                                                                          |
| 404  | `NoSuchUpload`                        | <p>The specified composite load does not exist.<br><br>The error occurs in the following cases:<br>- An invalid download ID was specified.<br>- Download interrupted.<br>- Loading is complete.</p>                        |
| 405  | `MethodNotAllowed`                    | The HTTP method is not applicable to the specified resource.                                                                                                                                                               |
| 409  | `KeyAlreadyExists`                    | The specified key already exists. This error can occur when trying to change object's key to an already used one (see [RenameObject](/http-api-compatible-with-amazon-s3/api-reference/object/renameobject.md) operation). |
| 409  | `BucketAlreadyExists`                 | A bucket with the same name already exists, please select a different name.                                                                                                                                                |
| 409  | `BucketNotEmpty`                      | The bucket you are deleting is not empty.                                                                                                                                                                                  |
| 409  | `InvalidBucketState`                  | The request could not be completed for the current state of the bucket.                                                                                                                                                    |
| 409  | `OperationAborted`                    | Conflicting conditional operations.                                                                                                                                                                                        |
| 411  | `MissingContentLength`                | Add `Content-Length`to headers.                                                                                                                                                                                            |
| 412  | `Precondition Failed`                 | One of the conditions specified in the request has not been met.                                                                                                                                                           |
| 416  | `InvalidRange`                        | Invalid header range `Range`.                                                                                                                                                                                              |
| 429  | `TooManyRequests`                     | Too many requests to ColdStack. Reduce the frequency of calls.                                                                                                                                                             |
| 500  | `InternalError`                       | Internal ColdStack error. Reissue your request.                                                                                                                                                                            |
| 501  | `NotImplemented`                      | The passed header is not processed by ColdStack.                                                                                                                                                                           |
| 503  | `ServiceUnavailable`                  | <p>ColdStack is not available.<br>Reduce the frequency of your requests.</p>                                                                                                                                               |
| 503  | `SlowDown`                            | Reduce the frequency of your requests.                                                                                                                                                                                     |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.coldstack.io/http-api-compatible-with-amazon-s3/api-reference/answers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
