--- title: "List Versions of an Object" url: https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/stratus/list-object-versions/ description: "This page lists the Java SDK method to get versions of an object." last_updated: 2026-09-08T11:07:33Z service: Cloud Scale type: general related_links: - name: "Stratus Component Help Documentation" url: /en/cloud-scale/help/stratus/introduction - name: "Object Versioning Help Documentation" url: /en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning - name: "JavaScript SDK Documentation" url: /en/sdk/javascript/v1/cloudscale/stratus/rename-move/ - name: "Python SDK" url: /en/sdk/python/v1/cloud-scale/stratus/get-object-versions/ - name: "iOS SDK" url: /en/sdk/ios/v2/cloud-scale/stratus/overview/ - name: "Android SDK" url: /en/sdk/android/v2/cloud-scale/stratus/overview/ - name: "Flutter SDK" url: /en/sdk/flutter/v2/cloud-scale/stratus/overview/ - name: "REST API" url: /en/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets --- # List Versions of an Object ### List All Versions of an Object Enabling [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) in a bucket allows you to store multiple versions of the same object in the bucket. Each version of the object will have its own `versionId`. This SDK method allows you to get all the existing versions of an object present in a bucket by pagination. The Object reference used in the below code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/stratus/create-object-instance/). > **Info:** To use this SDK method, you need intialize it with **Admin** scope. You can learn more about this requirement from this [section](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/overview/#initialize-sdk-with-scopes) **Parameters Used**
Parameter Name Data Type Definition
`nextToken` **String** Will hold the value to determine the next set of versions.
`maxVersion` **int** An **Optional** parameter. Will hold the value of the maximum number of versions of the object that can be listed per iteration.
#### Sample Code Snippet **Package Imports** ```java import com.zc.component.stratus.ZCBucket; import com.zc.component.stratus.ZCStratus; import com.zc.component.stratus.ZCPagedObjectResponse; import com.zc.component.stratus.ZCObject; import com.zc.component.stratus.beans.ZCObjectVersions; import com.zc.component.stratus.beans.ZCObjectVersions.ZCVersionDetail; import java.util.List; ``` ```java String nextToken = null; int maxVersion = 5; do { ZCObjectVersions res = object.listPagedVersions(maxVersion, nextToken); System.out.println(res.getVersion()); for(ZCVersionDetail version : res.getVersion()) { System.out.println("version id: "+version.getVersionId()); } nextToken = res.getNextToken(); } while(nextToken != null); ``` ### List All Versions of the Object in an Iterable Manner You can use the following SDK method to list all available versions of the object in a single call. > **Info:** To use this SDK method, you need intialize it with **Admin** scope. You can learn more about this requirement from this [section](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/overview/#initialize-sdk-with-scopes) #### Sample Code Snippet **Package Imports** ```java import java.util.Iterator; import com.zc.component.stratus.beans.ZCObjectVersions; import com.zc.component.stratus.beans.ZCObjectVersions.ZCVersionDetail; ``` ```java int maxVersion = 10; Iterable<List<ZCVersionDetail>> paginationIterable=object.listIterableVersions(maxVersion); Iterator<List<ZCVersionDetail>> iterator = paginationIterable.iterator(); while(iterator.hasNext()) { List<ZCVersionDetail> objects= iterator.next(); for(ZCVersionDetail object: objects){ System.out.println(object.getVersionId()); } } ```