Skip to main content

ListParts

Lists the parts that have been uploaded for a specific multipart upload.

Description

The ListParts operation lists the parts that have been uploaded for a specific multipart upload. To use this operation, you must provide the upload ID in the request, which you obtain from the CreateMultipartUpload response.

Important
  • This operation returns at most 1,000 uploaded parts in the response. This is also the default value.
  • You can restrict the number of parts in a response by specifying the max-parts request parameter.
  • If your multipart upload consists of more than 1,000 parts, the response returns an IsTruncated field with the value of true, and a NextPartNumberMarker element.
  • To list remaining uploaded parts, in subsequent ListParts requests, include the part-number-marker query string parameter and set its value to the NextPartNumberMarker field value from the previous response.

Request Syntax

GET /ObjectKey?uploadId=UploadId&max-parts=MaxParts&part-number-marker=PartNumberMarker HTTP/1.1
Host: BucketName.qstorage.quilibrium.com
x-amz-expected-bucket-owner: OwnerAccountId
Values in italics indicate user input and should be replaced with actual values.

This operation does not have a request body.

Request Parameters

URI Parameters

NameDescriptionRequiredType
uploadIdUpload ID identifying the multipart upload whose parts are being listedYestext
max-partsMaximum number of parts to return in the responseNonumber
part-number-markerPart number after which to start listing partsNonumber

Headers

NameDescriptionRequiredType
x-amz-expected-bucket-ownerThe account ID of the expected bucket ownerNotext
x-amz-server-side-encryption-customer-algorithmThe server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithmNotext
x-amz-server-side-encryption-customer-keyThe server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithmNotext
x-amz-server-side-encryption-customer-key-MD5The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithmNotext

Response Syntax

HTTP/1.1 200 OK
x-amz-id-2: RequestId
x-amz-request-id: AmazonRequestId
Date: ISO8601Date
<?xml version="1.0" encoding="UTF-8"?> <ListPartsResult> <Bucket>BucketName</Bucket> <Key>ObjectKey</Key> <UploadId>UploadId</UploadId> <Initiator> <ID>InitiatorId</ID> <DisplayName>InitiatorName</DisplayName> </Initiator> <Owner> <ID>OwnerId</ID> <DisplayName>OwnerName</DisplayName> </Owner> <PartNumberMarker>PartNumberMarker</PartNumberMarker> <NextPartNumberMarker>NextPartNumberMarker</NextPartNumberMarker> <MaxParts>MaxParts</MaxParts> <IsTruncated>true|false</IsTruncated> <Part> <PartNumber>PartNumber</PartNumber> <LastModified>ISO8601Date</LastModified> <ETag>EntityTag</ETag> <Size>Size</Size> </Part> </ListPartsResult>
Values in italics indicate variable response values.

Response Elements

Response Headers

NameDescriptionRequiredType
x-amz-id-2An identifier for the requestNoString
x-amz-request-idA unique identifier for the requestNoString
DateThe date and time at which the response was sentNoString
x-amz-abort-dateIf a lifecycle rule is configured to abort incomplete multipart uploads and the object name matches the rule's prefix, this header indicates when the upload will become eligible for abort operation. Not supported for directory bucketsNoString
x-amz-abort-rule-idReturned with x-amz-abort-date, identifies the lifecycle rule that defines the abort incomplete multipart uploads action. Not supported for directory bucketsNoString
x-amz-request-chargedIf present, indicates that the requester was successfully charged for the request

Valid values: requester
NoString

Response Body Elements

NameDescriptionRequiredType
ListPartsResultContainer for the responseYesString
BucketName of the bucket to which the multipart upload was initiatedNoString
KeyObject key for which the multipart upload was initiatedNoString
UploadIdUpload ID identifying the multipart upload whose parts are being listedNoString
ChecksumAlgorithmThe algorithm that was used to create a checksum of the object

Valid values: CRC32 | CRC32C | SHA1 | SHA256 | CRC64NVME
NoString
ChecksumTypeThe checksum type that determines how part-level checksums are combined to create an object-level checksum for multipart objects. Used to verify the checksum type matches what was specified in the CreateMultipartUpload request

Valid values: COMPOSITE | FULL_OBJECT
NoString
PartNumberMarkerPart number after which listing beginsNoString
NextPartNumberMarkerWhen a list is truncated, this is the part number marker to use in a subsequent requestNoInteger
MaxPartsMaximum number of parts allowed in the responseNoInteger
IsTruncatedIndicates whether the returned list of parts is truncatedNoBoolean
PartContainer for elements related to a particular partNoPart
PartNumberPart number identifying the partNoInteger
LastModifiedDate and time at which the part was uploadedNoString
SizeSize in bytes of the uploaded part dataNoString
OwnerContainer element that identifies the object ownerNoOwner
InitiatorContainer element that identifies who initiated the multipart upload.NoInitiator

Special Errors

Error CodeDescription
NoSuchBucketThe specified bucket does not exist
NoSuchUploadThe specified multipart upload does not exist
403Forbidden. Authentication failed or you do not have permission to list parts

Permissions

You must have the s3:ListMultipartUploadParts permission on the bucket. If the upload was created using server-side encryption with KMS keys (SSE-KMS), you must also have permission to the kms:Decrypt action.

The following operations are related to ListParts:

  • CreateMultipartUpload
  • UploadPart
  • CompleteMultipartUpload
  • AbortMultipartUpload
  • ListMultipartUploads

Examples

Example 1: List all parts of a multipart upload

GET /large-file.zip?uploadId=VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA HTTP/1.1
Host: my-bucket.qstorage.quilibrium.com
Values in italics indicate user input and should be replaced with actual values.
HTTP/1.1 200 OK
x-amz-id-2: Example7qoYGN7uMuFuYS6m7a4l
x-amz-request-id: TX234S0F24A06C7
Date: Wed, 01 Mar 2024 12:00:00 GMT
<?xml version="1.0" encoding="UTF-8"?> <ListPartsResult> <Bucket>my-bucket</Bucket> <Key>large-file.zip</Key> <UploadId>VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId> <Initiator> <ID>123456789012</ID> <DisplayName>Qm12311</DisplayName> </Initiator> <Owner> <ID>123456789012</ID> <DisplayName>Qm12345</DisplayName> </Owner> <PartNumberMarker>0</PartNumberMarker> <NextPartNumberMarker>2</NextPartNumberMarker> <MaxParts>1000</MaxParts> <IsTruncated>false</IsTruncated> <Part> <PartNumber>1</PartNumber> <LastModified>2024-03-01T11:30:00.000Z</LastModified> <ETag>"7778aef83f66abc1fa1e8477f296d394"</ETag> <Size>5242880</Size> </Part> <Part> <PartNumber>2</PartNumber> <LastModified>2024-03-01T11:45:00.000Z</LastModified> <ETag>"7778aef83f66abc1fa1e8477f296d394"</ETag> <Size>5242880</Size> </Part> </ListPartsResult>
Values in italics indicate variable response values.

Example 2: List parts with a maximum limit and part number marker

GET /large-file.zip?uploadId=VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA&max-parts=2&part-number-marker=1 HTTP/1.1
Host: my-bucket.qstorage.quilibrium.com
Values in italics indicate user input and should be replaced with actual values.
HTTP/1.1 200 OK
x-amz-id-2: Example7qoYGN7uMuFuYS6m7a4l
x-amz-request-id: TX234S0F24A06C7
Date: Wed, 01 Mar 2024 12:00:00 GMT
<?xml version="1.0" encoding="UTF-8"?> <ListPartsResult> <Bucket>my-bucket</Bucket> <Key>large-file.zip</Key> <UploadId>VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId> <Initiator> <ID>123456789012</ID> <DisplayName>Qm12311</DisplayName> </Initiator> <Owner> <ID>123456789012</ID> <DisplayName>_Qm12345</DisplayName> </Owner> <PartNumberMarker>1</PartNumberMarker> <NextPartNumberMarker>3</NextPartNumberMarker> <MaxParts>2</MaxParts> <IsTruncated>true</IsTruncated> <Part> <PartNumber>2</PartNumber> <LastModified>2024-03-01T11:30:00.000Z</LastModified> <ETag>"7778aef83f66abc1fa1e8477f296d394"</ETag> <Size>10485760</Size> </Part> <Part> <PartNumber>3</PartNumber> <LastModified>2024-03-01T11:45:00.000Z</LastModified> <ETag>"aaaa18db4cc2f85cedef654fccc4a4x8"</ETag> <Size>10485760</Size> </Part> </ListPartsResult>
Values in italics indicate variable response values.

Try It Out

Test ListParts

List the parts that have been uploaded for a specific multipart upload.

Coming Soon

This feature is currently under development and will be available soon.

/> />