Skip to main content
PATCH/api/public/v1/sync/retention

sync.retention.set

How much revision history each profile keeps: the newest keep_revisions and/or everything from the last keep_days (both null = keep every revision). The latest revision, conflict copies, a restore's source and a machine's unsynced base are never removed; cleanup runs every 10 minutes (audited).

Capability: backup.manageCommand (idempotent)DestructiveMCP tool: sync_retention_set
View as Markdown

Parameters

NameTypeRequiredDescription
command_idbodystring (uuid)YesClient-generated UUID for this command. Send the same id (and body) again to get the stored receipt instead of a second change; a different body under the same id is CONFLICT.
keep_revisionsbodyinteger | nullYesKeep this many newest revisions per profile; null = no count limit
keep_daysbodyinteger | nullYesKeep every revision from this many days; null = no age limit

Examples

curl -X PATCH "https://browlix.com/api/public/v1/sync/retention" \
  -H "Authorization: Bearer $BROWLIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"command_id":"<uuid>","keep_revisions":"<keep_revisions>","keep_days":"<keep_days>"}'

Response

201 with { data, replayed: false, correlation_id } the first time; 200 with replayed: true when the same command_id and body come again.

The field list of this reply is not published yet; read data as JSON.

Errors

CodeHTTPRetryable
UNAUTHENTICATED401No
FORBIDDEN403No
RATE_LIMITED429Yes
VALIDATION_FAILED422No
CONFLICT409No
OUTCOME_UNKNOWN202Yes
DEPENDENCY_UNAVAILABLE503Yes
UNKNOWN500No

Every error code and when to retry

All operations