Deleting Markers

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

Overview

A delete marker is used to mark a versioned object. In COS, a delete marker is considered the marker for a "deleted object". It has an object key and version ID just like an object does, but with the following differences:

  • The content of the delete marker is empty.
  • There is no ACL value for the delete marker.
  • A GET request for the delete marker will return a 404 error.
  • The delete marker only supports DELETE operations (requests must be issued under the root account).

Deleting Delete Marker

If the user needs to delete the delete marker, he can specify its version ID in the DELETE Object versionId request to permanently delete the Delete Marker. If you do not specify the VersionId of a delete marker and issue a DELETE request for a delete marker, COS will not delete the delete marker but will insert a new one.

As shown in the following figure, executing a general DELETE request on a delete marker does not delete anything but adds a new delete marker to the bucket.

In a versioning-enabled bucket, newly added delete markers will have a unique VersionId. Therefore, in a bucket, the same object may have multiple delete markers. To permanently delete a Delete Marker, you must include its version ID in the DELETE Object versionId request.

As shown in the following figure, execute the DELETE Object versionId request to permanently delete the Delete Marker.

Note:

Only after authorization by the root account DeleteObject operation. The Delete Marker can be deleted only after the operation.

Steps to permanently delete the Delete Marker:

  1. Set versionId to the versionId of the delete marker.
  2. Send a DELETE Object versionId request.