# Using versioning

When interacting with objects in a versioning-enabled bucket, you have several options:

* Add **different versions**: In a non-versioning bucket, uploading the same object multiple times overwrites the previous object. In versioning, every version is kept - as long as the file name incl. the name extension is precisely like the one previously uploaded.
* Add **delete markers** and **reverse the action**: You can add a delete marker to any object - which subsequently hides the respective object. In other words, the object and its previous versions no longer appear as items in the bucket. This action can be reversed - by restoring all previous versions of the object.
* **Download specific versions**: You can either download the latest version of an object or any particular version that was uploaded previously. This can even be done when a delete marker is placed on an object.
* Permanently **delete specific versions**: When you have uploaded multiple versions, you can delete particular versions. This will remove them from our platform - making a recovery of the deleted version impossible.

To add **different versions**, simply re-upload an object that you have already uploaded previously. The name must precisely be the same as before - incl. the object's extension.

<figure><img src="/files/oQDZM1tzUqGx1nmk72AD" alt=""><figcaption><p>All versions of an object are visible in versioning-enabled buckets.</p></figcaption></figure>

<figure><img src="/files/KBUyYvvzGiIwKlua9tid" alt=""><figcaption><p>New uploads result in a new version that is highlighet with 'latest'.</p></figcaption></figure>

<figure><img src="/files/6ZOGHQArAM1PTGedJaAf" alt=""><figcaption><p>Versions can only be created when the name precisely matches - incl. the object's extension.</p></figcaption></figure>

To add a **delete marker** and hide an object, click on the delete button next to the object. Note that the delete button next to each version behaves differently and triggers object version operations rather than object operations. It's essential to ensure that 'Delete all versions' is disabled. To **reverse** this action, simply choose to show deleted files and restore the object.

<figure><img src="/files/TeWVxOMwT0EEFP4p695B" alt=""><figcaption><p>Click the button next to the respective object.</p></figcaption></figure>

<figure><img src="/files/ZhwoByZn9dPVKTEvwXnR" alt=""><figcaption><p>Make sure that 'Delete all versions' is disabled and then click 'delete latest version'.</p></figcaption></figure>

<figure><img src="/files/TVJdhBhiDmxoYioCeTvx" alt=""><figcaption><p>Enable 'Show deleted files', click on the respective button next to the marker and click on 'Restore' to restore the object.</p></figcaption></figure>

To **download specific versions**, you can either download the object - which in turn downloads the latest version - or you can choose a particular version. This latter feature also works when a delete marker is placed on the object.

<figure><img src="/files/giSwW2lRacmu9iem2Bng" alt=""><figcaption><p>You can download any version of an object.</p></figcaption></figure>

<figure><img src="/files/yQvbGrL1VN5U8TnYQzoI" alt=""><figcaption><p>Checkmark 'Show deleted files' to show buckets with a delete marker - you can then download any version.</p></figcaption></figure>

To **permanently delete objects**, you can either delete a specific version or delete the entire object. Note that these actions are irreversible.

<figure><img src="/files/pxFJE65BS5chE3FMKuvz" alt=""><figcaption><p>Click on the delete button next to the respective version to delete the specific version.</p></figcaption></figure>

<figure><img src="/files/zh6nFchKuRQv1taPpPv7" alt=""><figcaption><p>Click on the delete button next to the respective object and enable 'Delete all version' to delete the object incl. its versions.</p></figcaption></figure>


---

# 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.impossiblecloud.com/impossible-cloud-help/impossible-cloud-storage-guide/buckets-and-objects/versioning-and-object-lock/using-versioning.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.
