Querying the Object Version

Last Updated At: 2025-10-21 09:10:00

Description

The GET Bucket Object versions API is used to retrieve all objects in a bucket and their historical version information. You can filter out part of the objects in the bucket and their historical version information by specifying parameters. The requester of this API needs the read permission for the bucket.

Request

Request Example

GET /?versions HTTP/1.1
Host: <BucketName-APPID>.<Endpoint>
Date: GMT Date
Authorization: Auth String

Note:

Authorization: Auth String (For details, see Request Signature).

Request Parameters

Name Description Type Required
prefix Prefix used to match object keys, ensuring that a response only includes object keys with the specified prefix. string No
delimiter One-character separator used for grouping object keys. Same content from the prefix or from the start (if no prefix is specified) to the first delimiter in all object keys is regarded as a prefix node under CommonPrefixes. The grouped object keys do not appear in the subsequent object list. For specific scenarios and usage, see the examples below. string No
encoding-type Encoding method of the return value. An optional value is url, indicating that the returned object key is a URL-encoded (percent-encoded) value. For example, "Converge Cloud" is encoded as %E8%85%BE%E8%AE%AF%E4%BA%91. string No
key-marker Starting object key marker, starting from which (excluding), object version entries are returned in UTF-8 lexicographic order. string No
version-id-marker Starting version ID marker, starting from which (excluding), object version entries are returned. string No
max-keys The maximum number (up to 1,000) of keys returned in the response. Defaults to 1000. integer No

Request Header

This API only uses common request headers. For details, see Common Request Headers documentation.

Request Body

This API has no request body.

Response

Response Headers

This API only returns the public response header. For details, see Common Response Headers documentation.

Response Body

The query is successful, and application/xml data is returned, including the object version information in the bucket. For response bodies in different scenarios, see the following examples.

<ListVersionsResult>
    <Name>string</Name>
    <Prefix>string</Prefix>
    <KeyMarker>string</KeyMarker>
    <VersionIdMarker>string</VersionIdMarker>
    <MaxKeys>integer</MaxKeys>
    <IsTruncated>boolean</IsTruncated>
    <Delimiter>string</Delimiter>
    <CommonPrefixes>
        <Prefix>string</Prefix>
    </CommonPrefixes>
    <CommonPrefixes>
        <Prefix>string</Prefix>
    </CommonPrefixes>
    <Version>
        <Key>string</Key>
        <VersionId>string</VersionId>
        <IsLatest>boolean</IsLatest>
        <LastModified>date</LastModified>
        <ETag>string</ETag>
        <Size>integer</Size>
        <StorageClass>Enum</StorageClass>
        <Owner>
            <ID>string</ID>
            <DisplayName>string</DisplayName>
        </Owner>
    </Version>
    <DeleteMarker>
        <Key>string</Key>
        <VersionId>string</VersionId>
        <IsLatest>boolean</IsLatest>
        <LastModified>date</LastModified>
        <Owner>
            <ID>string</ID>
            <DisplayName>string</DisplayName>
        </Owner>
    </DeleteMarker>
    <DeleteMarker>
        <Key>string</Key>
        <VersionId>string</VersionId>
        <IsLatest>boolean</IsLatest>
        <LastModified>date</LastModified>
        <Owner>
            <ID>string</ID>
            <DisplayName>string</DisplayName>
        </Owner>
    </DeleteMarker>
    <Version>
        <Key>string</Key>
        <VersionId>string</VersionId>
        <IsLatest>boolean</IsLatest>
        <LastModified>date</LastModified>
        <ETag>string</ETag>
        <Size>integer</Size>
        <StorageClass>Enum</StorageClass>
        <Owner>
            <ID>string</ID>
            <DisplayName>string</DisplayName>
        </Owner>
    </Version>
</ListVersionsResult>

Specific node descriptions are as follows:

Node Name (Keyword) Parent Node Description Type
ListVersionsResult No Stores the result of GET Bucket Object versions. Container

Content of ListVersionsResult:

Node Name (Keyword) Parent Node Description Type
Name ListVersionsResult Name of the bucket, in <BucketName-APPID> format, for example, examplebucket-1250000000. string
EncodingType ListVersionsResult Encoding format, corresponding to the encoding-type parameter in the request. This node is returned only when the encoding-type parameter is carried in the request. string
Prefix ListVersionsResult Prefix used to match object keys, corresponding to the prefix parameter in the request. string
KeyMarker ListVersionsResult Starting object key marker, starting from which (excluding), object version entries are returned in UTF-8 lexicographic order. It corresponds to the key-marker parameter in the request. string
VersionIdMarker ListVersionsResult Starting version ID marker, starting from which (excluding), object version entries are returned. It corresponds to the version-id-marker parameter in the request. string
MaxKeys ListVersionsResult Maximum number of entries returned in a single response. It corresponds to the max-keys parameter in the request. integer
Delimiter ListVersionsResult Separator. It corresponds to the delimiter parameter in the request, and this node is returned only if the delimiter parameter is carried in the request. string
IsTruncated ListVersionsResult Whether the response entries are truncated. It is set to a boolean value, for example, true or false. boolean
NextKeyMarker ListVersionsResult This node is returned only if the response entries are truncated (IsTruncated is true). The value of this node is the last object key in the response entries. To continue requesting subsequent entries, use the value of this node as the key-marker parameter for the next request. string
NextVersionIdMarker ListVersionsResult This node is returned only if the response entries are truncated (IsTruncated is true). The value of this node is the version ID of the last object in the response entries. To continue requesting subsequent entries, use the value of this node as the version-id-marker parameter for the next request. string
CommonPrefixes ListVersionsResult The identical paths between the prefix (or, if no prefix is specified, the beginning of the string) and the first delimiter are grouped and defined as a common prefix. This node will be returned only if the delimiter parameter is specified in the request. Container
Version ListVersionsResult Object version entry. Container
DeleteMarker ListVersionsResult Object delete marker entry. Container

Content of the ListVersionsResult.CommonPrefixes node of the Container type:

Node Name (Keyword) Parent Node Description Type
Prefix ListVersionsResult.CommonPrefixes A single common prefix. string

Content of the ListVersionsResult.Version node of the Container type:

Node Name (Keyword) Parent Node Description Type
Key ListVersionsResult.Version Object Key string
VersionId ListVersionsResult.Version Version ID of an object. string
IsLatest ListVersionsResult.Version Whether the current version is the latest version of the object. boolean
LastModified ListVersionsResult.Version Last modification time of the current version, in ISO 8601 format, for example, 2019-05-24T10:56:40Z. date
ETag ListVersionsResult.Version Entity tag (ETag) of the object, which is an information tag identifying the content of an object when it is created. It can be used to check whether the content of the object is changed, for example, "8e0b617ca298a564c3331da28dcb50df". This header might not return the MD5 value of the object. It varies depending on the object upload and encryption methods. string
Size ListVersionsResult.Version Object size, in bytes. integer
StorageClass ListVersionsResult.Version Storage type of an object. For enumerated values, see [Storage Type], for example, STANDARD_IA and ARCHIVE. Enum
Owner ListVersionsResult.Version Information about the object owner. Container

Content of the ListVersionsResult.Version.Owner node of the Container type:

Node Name (Keyword) Parent Node Description Type
ID ListVersionsResult.Version.Owner App ID of the object owner. string
DisplayName ListVersionsResult.Version.Owner Name of the object owner. string

Content of the ListVersionsResult.DeleteMarker node of the Container type:

Node Name (Keyword) Parent Node Description Type
Key ListVersionsResult.DeleteMarker Object Key string
VersionId ListVersionsResult.DeleteMarker Version ID of the object delete marker. string
IsLatest ListVersionsResult.DeleteMarker Whether the object delete marker is the latest version. boolean
LastModified ListVersionsResult.DeleteMarker Deletion time of the delete marker, in ISO8601 format, such as 2019-05-24T10:56:40Z. date
Owner ListVersionsResult.DeleteMarker Information about the object owner. Container

Content of the ListVersionsResult.DeleteMarker.Owner node of the Container type

Node Name (Keyword) Parent Node Description Type
ID ListVersionsResult.DeleteMarker.Owner App ID of the object owner. string
DisplayName ListVersionsResult.DeleteMarker.Owner Name of the object owner. string

Error Code

This API does not have any special error information. For all error information, see Error Code.

Practical Case

Example 1: Versioning Is Not Enabled

Request

GET /?versions HTTP/1.1
Host: <BucketName-APPID>.<Endpoint>
Date: Thu, 15 Aug 2019 12:03:09 GMT
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1565870589;1565877789&q-key-time=1565870589;1565877789&q-header-list=date;host&q-url-param-list=versions&q-signature=1d8fcb8522df7be9fa52d94cd79462f92eb3****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 1262
Connection: close
Date: Thu, 15 Aug 2019 12:03:10 GMT
x-cos-request-id: NWQ1NTQ5ZmVfYjliYjBiMDlfMmFhNGZfY2Jm****

<ListVersionsResult>
    <Name>examplebucket-1250000000</Name>
    <Prefix/>
    <KeyMarker/>
    <VersionIdMarker/>
    <MaxKeys>1000</MaxKeys>
    <IsTruncated>false</IsTruncated>
    <Version>
        <Key>example-object-1.jpg</Key>
        <VersionId/>
        <IsLatest>true</IsLatest>
        <LastModified>2019-08-15T12:03:10.000Z</LastModified>
        <ETag>&quot;0f0cd12c48979d1bf3f95255a36cb861&quot;</ETag>
        <Size>20</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <Version>
        <Key>example-object-2.jpg</Key>
        <VersionId/>
        <IsLatest>true</IsLatest>
        <LastModified>2019-08-15T12:03:09.000Z</LastModified>
        <ETag>&quot;51370fc64b79d0d3c7c609635be1c41f&quot;</ETag>
        <Size>20</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <Version>
        <Key>example-object-3.jpg</Key>
        <VersionId/>
        <IsLatest>true</IsLatest>
        <LastModified>2019-08-15T12:03:08.000Z</LastModified>
        <ETag>&quot;b2f1d893c5fde000ee8ea6eca18ed81f&quot;</ETag>
        <Size>20</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
</ListVersionsResult>

Example 2: Versioning Is Enabled

Request

GET /?versions HTTP/1.1
Host: <BucketName-APPID>.<Endpoint>
Date: Thu, 15 Aug 2019 12:03:41 GMT
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1565870621;1565877821&q-key-time=1565870621;1565877821&q-header-list=date;host&q-url-param-list=versions&q-signature=36400914186e87b3e88cc8049a79da5e3d79****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 3477
Connection: close
Date: Thu, 15 Aug 2019 12:03:41 GMT
x-cos-request-id: NWQ1NTRhMWRfODhjMjJhMDlfMWNkOF8xZTRm****

<ListVersionsResult>
    <Name>examplebucket-1250000000</Name>
    <Prefix/>
    <KeyMarker/>
    <VersionIdMarker/>
    <MaxKeys>1000</MaxKeys>
    <IsTruncated>false</IsTruncated>
    <Version>
        <Key>example-object-1.jpg</Key>
        <VersionId>null</VersionId>
        <IsLatest>true</IsLatest>
        <LastModified>2019-08-15T12:03:10.000Z</LastModified>
        <ETag>&quot;0f0cd12c48979d1bf3f95255a36cb861&quot;</ETag>
        <Size>20</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <DeleteMarker>
        <Key>example-object-2.jpg</Key>
        <VersionId>MTg0NDUxNzgyMDMwODg0NzI0Njc</VersionId>
        <IsLatest>true</IsLatest>
        <LastModified>2019-08-15T12:03:41.000Z</LastModified>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </DeleteMarker>
    <Version>
        <Key>example-object-2.jpg</Key>
        <VersionId>null</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-15T12:03:09.000Z</LastModified>
        <ETag>&quot;51370fc64b79d0d3c7c609635be1c41f&quot;</ETag>
        <Size>20</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <DeleteMarker>
        <Key>example-object-3.jpg</Key>
        <VersionId>MTg0NDUxNzgyMDMwODg0NzA1NzM</VersionId>
        <IsLatest>true</IsLatest>
        <LastModified>2019-08-15T12:03:41.000Z</LastModified>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </DeleteMarker>
    <Version>
        <Key>example-object-3.jpg</Key>
        <VersionId>MTg0NDUxNzgyMDMwODk5NTUxNzU</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-15T12:03:39.000Z</LastModified>
        <ETag>&quot;e5c7403f4ac3ace73477eb8b1fd183f7&quot;</ETag>
        <Size>30</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <Version>
        <Key>example-object-3.jpg</Key>
        <VersionId>null</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-15T12:03:08.000Z</LastModified>
        <ETag>&quot;b2f1d893c5fde000ee8ea6eca18ed81f&quot;</ETag>
        <Size>20</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <Version>
        <Key>example-object-4.jpg</Key>
        <VersionId>MTg0NDUxNzgyMDMwODg4OTI0MDc</VersionId>
        <IsLatest>true</IsLatest>
        <LastModified>2019-08-15T12:03:41.000Z</LastModified>
        <ETag>&quot;c5c4d52f90ec328890953bbe4ae08230&quot;</ETag>
        <Size>30</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <Version>
        <Key>example-object-4.jpg</Key>
        <VersionId>MTg0NDUxNzgyMDMwODkyMTg2NjI</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-15T12:03:40.000Z</LastModified>
        <ETag>&quot;e9ec8bcb980d2e4d8526c346eb3b2585&quot;</ETag>
        <Size>20</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <Version>
        <Key>example-object-5.jpg</Key>
        <VersionId>MTg0NDUxNzgyMDMwODk4NTkzMzM</VersionId>
        <IsLatest>true</IsLatest>
        <LastModified>2019-08-15T12:03:39.000Z</LastModified>
        <ETag>&quot;201669a14bdf051d8a9d6f9828d3f4c4&quot;</ETag>
        <Size>20</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
</ListVersionsResult>

Example 3: The delimiter Parameter Is Carried (Listing Objects and Subdirectories Under the Root Directory)

Request

GET /?versions&delimiter=%2F HTTP/1.1
Host: <BucketName-APPID>.<Endpoint>
Date: Fri, 16 Aug 2019 10:45:53 GMT
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1565952353;1565959553&q-key-time=1565952353;1565959553&q-header-list=date;host&q-url-param-list=delimiter;versions&q-signature=c3130139bcac870247d1a070dbc8ee1c7ad5****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 2529
Connection: close
Date: Fri, 16 Aug 2019 10:45:53 GMT
x-cos-request-id: NWQ1Njg5NjFfNjFiMDJhMDlfMWE5ZV8yMDY4****

<ListVersionsResult>
    <Name>examplebucket-1250000000</Name>
    <Prefix/>
    <KeyMarker/>
    <VersionIdMarker/>
    <MaxKeys>1000</MaxKeys>
    <IsTruncated>false</IsTruncated>
    <Delimiter>/</Delimiter>
    <CommonPrefixes>
        <Prefix>example-folder-1/</Prefix>
    </CommonPrefixes>
    <CommonPrefixes>
        <Prefix>example-folder-2/</Prefix>
    </CommonPrefixes>
    <Version>
        <Key>example-object-1.jpg</Key>
        <VersionId>MTg0NDUxNzgxMjEzNTU3NTk1Mjg</VersionId>
        <IsLatest>true</IsLatest>
        <LastModified>2019-08-16T10:45:53.000Z</LastModified>
        <ETag>&quot;5d1143df07a17b23320d0da161e2819e&quot;</ETag>
        <Size>30</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <DeleteMarker>
        <Key>example-object-1.jpg</Key>
        <VersionId>MTg0NDUxNzgxMjEzNjE1OTcxMzM</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-16T10:45:47.000Z</LastModified>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </DeleteMarker>
    <Version>
        <Key>example-object-1.jpg</Key>
        <VersionId>MTg0NDUxNzgxMjEzNjYzNzU0MjE</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-16T10:45:43.000Z</LastModified>
        <ETag>&quot;0f0cd12c48979d1bf3f95255a36cb861&quot;</ETag>
        <Size>20</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <DeleteMarker>
        <Key>example-object-2.jpg</Key>
        <VersionId>MTg0NDUxNzgxMjEzNTYzMDY3NzY</VersionId>
        <IsLatest>true</IsLatest>
        <LastModified>2019-08-16T10:45:53.000Z</LastModified>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </DeleteMarker>
    <Version>
        <Key>example-object-2.jpg</Key>
        <VersionId>MTg0NDUxNzgxMjEzNjI5OTc5OTU</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-16T10:45:46.000Z</LastModified>
        <ETag>&quot;574c289a7906c7d8fecef028216afeca&quot;</ETag>
        <Size>30</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <Version>
        <Key>example-object-2.jpg</Key>
        <VersionId>MTg0NDUxNzgxMjEzNjgyODc1OTY</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-16T10:45:41.000Z</LastModified>
        <ETag>&quot;51370fc64b79d0d3c7c609635be1c41f&quot;</ETag>
        <Size>20</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
</ListVersionsResult>

Example 4: The prefix and delimiter Parameters Are Carried (Listing Objects and Subdirectories Under the Root Directory)

Request

GET /?versions&prefix=example-folder-1%2F&delimiter=%2F HTTP/1.1
Host: <BucketName-APPID>.<Endpoint>
Date: Fri, 16 Aug 2019 10:45:53 GMT
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1565952353;1565959553&q-key-time=1565952353;1565959553&q-header-list=date;host&q-url-param-list=delimiter;prefix;versions&q-signature=6d7b99a4b379b5fefb8b903ee491bae63590****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 2682
Connection: close
Date: Fri, 16 Aug 2019 10:45:53 GMT
x-cos-request-id: NWQ1Njg5NjFfMzdiMDJhMDlfODA1NV8yMDI2****

<ListVersionsResult>
    <Name>examplebucket-1250000000</Name>
    <Prefix>example-folder-1/</Prefix>
    <KeyMarker/>
    <VersionIdMarker/>
    <MaxKeys>1000</MaxKeys>
    <IsTruncated>false</IsTruncated>
    <Delimiter>/</Delimiter>
    <CommonPrefixes>
        <Prefix>example-folder-1/sub-folder-1/</Prefix>
    </CommonPrefixes>
    <CommonPrefixes>
        <Prefix>example-folder-1/sub-folder-2/</Prefix>
    </CommonPrefixes>
    <Version>
        <Key>example-folder-1/example-object-1.jpg</Key>
        <VersionId>MTg0NDUxNzgxMjEzNTY0MzYyNzE</VersionId>
        <IsLatest>true</IsLatest>
        <LastModified>2019-08-16T10:45:53.000Z</LastModified>
        <ETag>&quot;1a54e134fda29e15d225cd226c4b49a3&quot;</ETag>
        <Size>47</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <DeleteMarker>
        <Key>example-folder-1/example-object-1.jpg</Key>
        <VersionId>MTg0NDUxNzgxMjEzNjE2MTE1NTI</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-16T10:45:47.000Z</LastModified>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </DeleteMarker>
    <Version>
        <Key>example-folder-1/example-object-1.jpg</Key>
        <VersionId>MTg0NDUxNzgxMjEzNjcwNjI2MTU</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-16T10:45:42.000Z</LastModified>
        <ETag>&quot;f173c1199e3d3b53dd91223cae16fb42&quot;</ETag>
        <Size>37</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <DeleteMarker>
        <Key>example-folder-1/example-object-2.jpg</Key>
        <VersionId>MTg0NDUxNzgxMjEzNTYyOTQ1MDY</VersionId>
        <IsLatest>true</IsLatest>
        <LastModified>2019-08-16T10:45:53.000Z</LastModified>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </DeleteMarker>
    <Version>
        <Key>example-folder-1/example-object-2.jpg</Key>
        <VersionId>MTg0NDUxNzgxMjEzNjI3NTcyNzU</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-16T10:45:46.000Z</LastModified>
        <ETag>&quot;f43741c189c2142b257767bed5b4ce3a&quot;</ETag>
        <Size>47</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <Version>
        <Key>example-folder-1/example-object-2.jpg</Key>
        <VersionId>MTg0NDUxNzgxMjEzNjgwNjgwNDk</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-16T10:45:41.000Z</LastModified>
        <ETag>&quot;c9d28698978bb6fef6c1ed1c439a17d3&quot;</ETag>
        <Size>37</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
</ListVersionsResult>

Example 5: Obtaining the First Page When Pagination Is Required

Request

GET /?versions HTTP/1.1
Host: <BucketName-APPID>.<Endpoint>
Date: Fri, 23 Aug 2019 11:31:31 GMT
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1566559891;1566567091&q-key-time=1566559891;1566567091&q-header-list=date;host&q-url-param-list=versions&q-signature=2b146233465c2164c60e0e0b2385f5386a61****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 372125
Connection: close
Date: Fri, 23 Aug 2019 11:31:32 GMT
x-cos-request-id: NWQ1ZmNlOTRfMTljMDJhMDlfNTg5OV8yZWYz****

<ListVersionsResult>
    <Name>examplebucket-1250000000</Name>
    <Prefix/>
    <KeyMarker/>
    <VersionIdMarker/>
    <MaxKeys>1000</MaxKeys>
    <IsTruncated>true</IsTruncated>
    <NextKeyMarker>example-object-0135.jpg</NextKeyMarker>
    <NextVersionIdMarker>MTg0NDUxNzc1MTM4MjM0ODYyNjQ</NextVersionIdMarker>
    <Version>
        <Key>example-object-0001.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4Mjg1NzI5Mjc</VersionId>
        <IsLatest>true</IsLatest>
        <LastModified>2019-08-23T11:31:20.000Z</LastModified>
        <ETag>&quot;3dd9c0ec8b6669abec786e52b64e0497&quot;</ETag>
        <Size>36</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <DeleteMarker>
        <Key>example-object-0002.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4MjY5NDY2MzQ</VersionId>
        <IsLatest>true</IsLatest>
        <LastModified>2019-08-23T11:31:22.000Z</LastModified>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </DeleteMarker>
    <Version>
        <Key>example-object-0002.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4MjgzMDg3OTE</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-23T11:31:21.000Z</LastModified>
        <ETag>&quot;626f60ee8f3eb987342554379d63259f&quot;</ETag>
        <Size>36</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    ...
    <DeleteMarker>
        <Key>example-object-0004.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4MjcwNjg2Mzc</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-23T11:31:22.000Z</LastModified>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </DeleteMarker>
    ...
    <DeleteMarker>
        <Key>example-object-0135.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4MjA2NTk1MTc</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-23T11:31:28.000Z</LastModified>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </DeleteMarker>
    ...
    <Version>
        <Key>example-object-0135.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4MjM0ODYyNjQ</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-23T11:31:26.000Z</LastModified>
        <ETag>&quot;56d3a714c81ba76baa6a0004126a2718&quot;</ETag>
        <Size>36</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
</ListVersionsResult>

Example 6: Obtaining Subsequent Pages When Pagination Is Required (Using the key-marker and version-id-marker Request Parameters)

Request

GET /?versions&key-marker=example-object-0135.jpg&version-id-marker=MTg0NDUxNzc1MTM4MjM0ODYyNjQ HTTP/1.1
Host: <BucketName-APPID>.<Endpoint>
Date: Fri, 23 Aug 2019 11:32:56 GMT
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1566559976;1566567176&q-key-time=1566559976;1566567176&q-header-list=date;host&q-url-param-list=key-marker;version-id-marker;versions&q-signature=5b0787a354752f3161c75d014b75d9f2bd68****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 8358
Connection: close
Date: Fri, 23 Aug 2019 11:32:56 GMT
x-cos-request-id: NWQ1ZmNlZThfNjFiMDJhMDlfYTgwOF8yZjIw****

<ListVersionsResult>
    <Name>examplebucket-1250000000</Name>
    <Prefix/>
    <KeyMarker>example-object-0135.jpg</KeyMarker>
    <VersionIdMarker>MTg0NDUxNzc1MTM4MjM0ODYyNjQ</VersionIdMarker>
    <MaxKeys>1000</MaxKeys>
    <IsTruncated>false</IsTruncated>
    <Version>
        <Key>example-object-0135.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4MjQ4MDkyNjk</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-23T11:31:24.000Z</LastModified>
        <ETag>&quot;5dd4f1fb98a2a6d74c8482f2856ece6b&quot;</ETag>
        <Size>36</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <Version>
        <Key>example-object-0135.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4MjYwOTQ5MTk</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-23T11:31:23.000Z</LastModified>
        <ETag>&quot;91e59eed612971f0e00ac483bf5c7329&quot;</ETag>
        <Size>36</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    ...
    <DeleteMarker>
        <Key>example-object-0136.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4MTg1MjA4MDA</VersionId>
        <IsLatest>true</IsLatest>
        <LastModified>2019-08-23T11:31:31.000Z</LastModified>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </DeleteMarker>
    ...
    <DeleteMarker>
        <Key>example-object-0136.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4MjA2OTA5MDg</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-23T11:31:28.000Z</LastModified>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </DeleteMarker>
    ...
    <DeleteMarker>
        <Key>example-object-0137.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4MjA2OTQ0MzA</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-23T11:31:28.000Z</LastModified>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </DeleteMarker>
    ...
    <Version>
        <Key>example-object-0137.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4Mjc1MjQ3OTY</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-23T11:31:22.000Z</LastModified>
        <ETag>&quot;9022b9bf1b1503902d46cbe976c94eea&quot;</ETag>
        <Size>36</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
</ListVersionsResult>

Example 7: Specifying the Starting Object Using key-marker

Request

GET /?versions&key-marker=example-object-0135.jpg HTTP/1.1
Host: <BucketName-APPID>.<Endpoint>
Date: Fri, 23 Aug 2019 11:32:56 GMT
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1566559976;1566567176&q-key-time=1566559976;1566567176&q-header-list=date;host&q-url-param-list=key-marker;versions&q-signature=8b601589aae7ffdb2211694dde4ad73c9634****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 7111
Connection: close
Date: Fri, 23 Aug 2019 11:32:56 GMT
x-cos-request-id: NWQ1ZmNlZThfNjFiMDJhMDlfYTgwY18yZjRi****

<ListVersionsResult>
    <Name>examplebucket-1250000000</Name>
    <Prefix/>
    <KeyMarker>example-object-0135.jpg</KeyMarker>
    <VersionIdMarker/>
    <MaxKeys>1000</MaxKeys>
    <IsTruncated>false</IsTruncated>
    <DeleteMarker>
        <Key>example-object-0136.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4MTg1MjA4MDA</VersionId>
        <IsLatest>true</IsLatest>
        <LastModified>2019-08-23T11:31:31.000Z</LastModified>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </DeleteMarker>
    <Version>
        <Key>example-object-0136.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4MTg5NjQzNDQ</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-23T11:31:30.000Z</LastModified>
        <ETag>&quot;20f730cd4cab72c0edcbf37c40f9dabe&quot;</ETag>
        <Size>36</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <Version>
        <Key>example-object-0136.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4MTk3MDAwMDY</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-23T11:31:29.000Z</LastModified>
        <ETag>&quot;339baa9b8d4450e71fc268aaa5fa250e&quot;</ETag>
        <Size>36</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
    <DeleteMarker>
        <Key>example-object-0136.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4MjA2OTA5MDg</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-23T11:31:28.000Z</LastModified>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </DeleteMarker>
    ...
    <DeleteMarker>
        <Key>example-object-0137.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4MjA2OTQ0MzA</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-23T11:31:28.000Z</LastModified>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </DeleteMarker>
    ...
    <Version>
        <Key>example-object-0137.jpg</Key>
        <VersionId>MTg0NDUxNzc1MTM4Mjc1MjQ3OTY</VersionId>
        <IsLatest>false</IsLatest>
        <LastModified>2019-08-23T11:31:22.000Z</LastModified>
        <ETag>&quot;9022b9bf1b1503902d46cbe976c94eea&quot;</ETag>
        <Size>36</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>1250000000</ID>
            <DisplayName>1250000000</DisplayName>
        </Owner>
    </Version>
</ListVersionsResult>