Revisions Bin Cleaner
-
The Revisions Bin stores revisions of deleted documents, ensuring they remain accessible.
-
While you can manually delete these revisions directly from the Revisions Bin,
you can also set up a cleaner task to remove them automatically, as described below. -
For a complete list of deletion methods, see All ways to delete revisions.
-
In this page:
The revisions bin cleaner
Each entry in the Revisions Bin represents a "Delete Revision", which is a revision that marks a document as deleted and provides access to the revisions that were created for the document before it was deleted.
When the cleaner removes a "Delete Revision" entry,
ALL the revisions associated with the deleted document are permanently deleted.
-
The Revisions Bin Cleaner is configured with the following parameters:
- Frequency - How often the cleaner runs.
- Entries age to keep - The cleaner deletes revision entries older than this value.
-
The cleaner task can be managed from:
- The Revisions bin cleaner view in the Studio
- The Client API.
-
When working with a secure server:
- Configuring the Revisions Bin Cleaner is logged in the audit log.
- Deleting revisions is only available to a client certificate with a security clearance of Database Admin or higher.
Setting the revisions bin cleaner - from the Studio

Revisions Bin Cleaner View
- Go to Settings > Revisions Bin Cleaner
- Toggle ON to enable the cleaner task.
-
Set the minimum entries age to keep:
-
When toggled ON:
- Revisions Bin entries older than this value will be deleted.
- Default:
30
days.
-
When toggled OFF:
- ALL Revisions Bin entries will be deleted.
-
When toggled ON:
-
Set the custom cleaner frequency:
- Define how often (in seconds) the Revisions Bin Cleaner runs.
- Default:
300
seconds (5 minutes).
Setting the revisions bin cleaner - from the Client API
-
Use
ConfigureRevisionsBinCleanerOperation
to configure the Revisions Bin Cleaner from the Client API. -
By default, the operation will be applied to the default database.
To operate on a different database see switch operations to different database. -
In this example, we enable the cleaner and configure its execution frequency and retention policy.
//Define the revisions bin cleaner configuration var config = new RevisionsBinConfiguration() { // Enable the cleaner Disabled = false, // Set the cleaner execution frequency CleanerFrequencyInSec = 24 * 60 * 60, // one day (in seconds) // Revisions bin entries older than the following value will be deleted MinimumEntriesAgeToKeepInMin = 24 * 60 // one day (in minutes) }; // Define the operation var configRevisionsBinCleanerOp = new ConfigureRevisionsBinCleanerOperation(config); // Execute the operation by passing it to Maintenance.Send store.Maintenance.Send(configRevisionsBinCleanerOp);
var config = new RevisionsBinConfiguration() { Disabled = false, CleanerFrequencyInSec = 24 * 60 * 60, MinimumEntriesAgeToKeepInMin = 24 * 60 }; var configRevisionsBinCleanerOp = new ConfigureRevisionsBinCleanerOperation(config); await store.Maintenance.SendAsync(configRevisionsBinCleanerOp);
Syntax
public ConfigureRevisionsBinCleanerOperation(RevisionsBinConfiguration configuration);
public class RevisionsBinConfiguration
{
// Set to true to enable the revisions bin cleaner.
// Default: false (cleaner is disabled).
public bool Disabled { get; set; }
// The minimum age (in minutes) for revisions-bin entries to be kept in the database.
// The cleaner deletes entries older than this value.
// When set to 0: ALL revisions-bin entries will be removed from the Revisions Bin
// Default: 30 days.
public int MinimumEntriesAgeToKeepInMin { get; set; }
// The frequency (in seconds) at which the revisions bin cleaner executes.
// Default: 300 seconds (5 minutes).
public long CleanerFrequencyInSec { get; set; } = 5 * 60;
}