Skip to main content
POST/api/public/v1/profiles/{id}/cleanup

profiles.cleanup.run

Remove chosen browser data (cache, cookies, local_storage, indexed_db, service_workers, history, open_tabs) from every machine's copy and, with the next synced launch, from the stored copy. BUSY while open, SYNC_PENDING while a machine holds newer data.

Capability: profile.cleanCommand (idempotent)DestructiveMCP tool: profiles_cleanup_run
View as Markdown

Parameters

NameTypeRequiredDescription
idpathstring (uuid)YesProfile id
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.
categoriesbodyarray<"cache" | "cookies" | "local_storage" | "indexed_db" | "service_workers" | "history" | "open_tabs">YesBrowser data to remove; duplicates are ignored. Bookmarks, extensions, saved passwords and settings are never touched (min 1 items, max 7 items)

Examples

curl -X POST "https://browlix.com/api/public/v1/profiles/<id>/cleanup" \
  -H "Authorization: Bearer $BROWLIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"command_id":"<uuid>","categories":[]}'

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
NOT_FOUND404No
CONFLICT409No
OUTCOME_UNKNOWN202Yes
BUSY409Yes
SYNC_PENDING409Yes
DEPENDENCY_UNAVAILABLE503Yes
UNKNOWN500No

Every error code and when to retry

All operations