> For the complete documentation index, see [llms.txt](https://docs.petabox.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.petabox.io/http-api-compatible-with-amazon-s3/api-reference/abortmultipartupload.md).

# AbortMultipartUpload

This action aborts a multipart upload

After a multipart upload is aborted, no additional parts can be uploaded using that upload ID. The storage consumed by any previously uploaded parts will be freed. However, if any part uploads are currently in progress, those part uploads might or might not succeed. As a result, it might be necessary to abort a given multipart upload multiple times in order to completely free all storage consumed by all parts.

To verify that all parts have been removed, so you don't get charged for the part storage, you should call the ListParts action and ensure that the parts list is empty.

## Request Syntax <a href="#api_abortmultipartupload_requestsyntax" id="api_abortmultipartupload_requestsyntax"></a>

```http
DELETE /Key+?uploadId=UploadId HTTP/1.1
Host: Bucket.s3.petabox.io
x-amz-request-payer: RequestPayer
x-amz-expected-bucket-owner: ExpectedBucketOwner
```

## URI Request Parameters <a href="#api_abortmultipartupload_requestparameters" id="api_abortmultipartupload_requestparameters"></a>

The request uses the following URI parameters.

#### Bucket

The bucket name to which the upload was taking place.

Required: Yes

#### Key

Key of the object for which the multipart upload was initiated.

Length Constraints: Minimum length of 1.

Required: Yes

#### uploadId

Upload ID that identifies the multipart upload.

Required: Yes

#### x-amz-expected-bucket-owner

The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with the HTTP status code `403 Forbidden` (access denied).

#### x-amz-request-payer

Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests.&#x20;

Valid Values: `requester`

## Request Body <a href="#api_abortmultipartupload_requestbody" id="api_abortmultipartupload_requestbody"></a>

The request does not have a request body.

## Response Syntax <a href="#api_abortmultipartupload_responsesyntax" id="api_abortmultipartupload_responsesyntax"></a>

```http
HTTP/1.1 204
x-amz-request-charged: RequestCharged
```

## Response Elements <a href="#api_abortmultipartupload_responseelements" id="api_abortmultipartupload_responseelements"></a>

If the action is successful, the service sends back an HTTP 204 response.

The response returns the following HTTP headers.

#### x-amz-request-charged

If present, indicates that the requester was successfully charged for the request.

Valid Values: `requester`

## Examples <a href="#api_abortmultipartupload_examples" id="api_abortmultipartupload_examples"></a>

### Sample Request <a href="#api_abortmultipartupload_example_1" id="api_abortmultipartupload_example_1"></a>

The following request aborts a multipart upload identified by its upload ID.

```http
DELETE /example-object?uploadId=VXBsb2FkIElEIGZvciBlbHZpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZ HTTP/1.1
Host: example-bucket.s3.<Region>.petabox.io
Date:  Mon, 1 Nov 2010 20:34:56 GMT
Authorization: authorization string
```

### Sample Response <a href="#api_abortmultipartupload_example_2" id="api_abortmultipartupload_example_2"></a>

This example illustrates one usage of AbortMultipartUpload.

```http
HTTP/1.1 204 OK
x-amz-id-2: Weag1LuByRx9e6j5Onimru9pO4ZVKnJ2Qz7/C1NPcfTWAtRPfTaOFg==
x-amz-request-id: 996c76696e6727732072657175657374
Date:  Mon, 1 Nov 2010 20:34:56 GMT
Content-Length: 0
Connection: keep-alive
Server: Petabox
```
