# CreateMultipartUpload

Returns an identifier that should be used in all further operations to load the object.

If custom metadata needs to be stored with the object, then it should be passed in this request.

### Request <a href="#request" id="request"></a>

```
POST /{bucket}/{key}?uploads HTTP/1.1
```

#### Path parameters <a href="#path-parameters" id="path-parameters"></a>

| Parameter | Description                                                                 |
| --------- | --------------------------------------------------------------------------- |
| `bucket`  | Bucket name.                                                                |
| `key`     | Object key. The object will be saved in ColdStack under the specified name. |

#### Query parameters <a href="#request-parameters" id="request-parameters"></a>

| Parameter | Description                                 |
| --------- | ------------------------------------------- |
| `uploads` | A flag denoting a composite load operation. |

#### Headings <a href="#request-headers" id="request-headers"></a>

Use the required [common headers](/http-api-compatible-with-amazon-s3/api-reference/common-request-headers.md) in the request .

Additionally, you can use the headings listed in the table below.

| Heading               | Description                                                                                                                                                                                                                                                                                                                                                                                                                             |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-amz-meta-*`        | <p>Custom object metadata.<br><br>All headers starting with <code>x-amz-meta-</code>ColdStack are treated as custom headers, they are not processed and stored in the form in which they are transmitted.<br><br>The total size of custom headers must not exceed 2KB. The size of the user data is defined as the length of the UTF-8 encoded string. The size takes into account both the names of the headings and their values.</p> |
| `x-amz-storage-class` | <p>Object storage class.<br><br>Can have any of the following values:<br>- <code>STANDARD</code>to load an object into the standard storage.<br>- <code>COLD</code>, <code>STANDARD\_IA</code>and <code>NEARLINE</code>to load the object into cold storage.<br><br>If the header is not specified, then the object is saved in the storage set in the bucket settings.</p>                                                             |

### Answer <a href="#response" id="response"></a>

#### Headings <a href="#response-headers" id="response-headers"></a>

The response can only contain [general headers](/http-api-compatible-with-amazon-s3/api-reference/common-response-headers.md) .

#### Answer codes <a href="#response-codes" id="response-codes"></a>

For a list of possible answers, see the [Answers](/http-api-compatible-with-amazon-s3/api-reference/answers.md) section .

The successful response contains additional data in XML format, the schema of which is described below.

#### Data schema <a href="#response-scheme" id="response-scheme"></a>

```
<InitiateMultipartUploadResult>
  <Bucket>bucket-name</Bucket>
  <Key>object-key</Key>
  <UploadId>upload-id</UploadId>
</InitiateMultipartUploadResult>
```

| Tag                             | Description                                                                                                                                                            |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `InitiateMultipartUploadResult` | <p>The root tag of the response.<br><br>Path: <code>/InitiateMultipartUploadResult</code>.</p>                                                                         |
| `Bucket`                        | <p>The name of the bucket into which the object is loaded.<br><br>Path: <code>/InitiateMultipartUploadResult/Bucket</code>.</p>                                        |
| `Key`                           | <p>The key that is associated with the object after the download is complete.<br><br>Path: <code>/InitiateMultipartUploadResult/Key</code>.</p>                        |
| `UploadId`                      | <p>Download ID.<br><br>All subsequent upload operations must pass this identifier to ColdStack.<br><br>Path: <code>/InitiateMultipartUploadResult/UploadId</code>.</p> |


---

# 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/multipart-upload/startupload.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.
