/api/public/v1/sync/retentionsync.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).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
command_idbody | string (uuid) | Yes | Client-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_revisionsbody | integer | null | Yes | Keep this many newest revisions per profile; null = no count limit |
keep_daysbody | integer | null | Yes | Keep 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.
Errors
| Code | HTTP | Retryable |
|---|---|---|
| UNAUTHENTICATED | 401 | No |
| FORBIDDEN | 403 | No |
| RATE_LIMITED | 429 | Yes |
| VALIDATION_FAILED | 422 | No |
| CONFLICT | 409 | No |
| OUTCOME_UNKNOWN | 202 | Yes |
| DEPENDENCY_UNAVAILABLE | 503 | Yes |
| UNKNOWN | 500 | No |
