docs: how to permanently prune a Team / Workspace / Project / Dataset - #200
Open
tonybart1337 wants to merge 1 commit into
Open
docs: how to permanently prune a Team / Workspace / Project / Dataset#200tonybart1337 wants to merge 1 commit into
tonybart1337 wants to merge 1 commit into
Conversation
Documents the two-step removal model introduced in supervisely/issues#5973 — archive first, then remove permanently as root — the public API v3 methods at every level, the asynchronous contract for team and workspace removal, and what each level reclaims. The section that most needs writing down is the two-wave reclamation: image data is instance-global and reference-counted by content hash, so removing an entity drops references rather than objects. Bucket usage therefore does not fall to its final value when a removal finishes — wave 1 reclaims inline past the 12h REMOVE_IMAGE_REQUESTED_THRESHOLD, wave 2 is the GC with its 3-day grace window. Without that stated plainly, the expected behaviour reads as a bug.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New page: Permanent removal (
data-organization/storage/permanent-removal.md), nested under Disk usage & Cleanup inSUMMARY.md.Documents the two-step removal model added in supervisely/issues#5973 (server: internal MR !1853, SDK: supervisely/supervisely#1779).
What it covers
*.archive(soft, reversible, any user with permission) →*.remove.permanently(hard, root only, rejects anything not archived), at all four levels.teams.remove.permanently,workspaces.remove.permanentlyandinstance.data.cleanup-unused.taskIdand drain in the background; polltasks.info; a failure reaches a terminalerrorrather than retrying forever.preserveProjectCard: trueis a different operation that keeps the project card and does not require an archived project.Why the reclamation section matters
Image data is instance-global and reference-counted by content hash, so permanently removing an entity drops its references, not the objects. Bucket usage therefore does not fall to its final value the moment a removal finishes: wave 1 reclaims inline past the 12-hour
REMOVE_IMAGE_REQUESTED_THRESHOLD, wave 2 is the GC with a 3-day grace window. Stated plainly here, because otherwise the expected behaviour reads as a bug and generates support tickets.Conventions
Followed what the repo actually does rather than what
SKILL.mdsays where they differ:{% hint %}and{% tabs %}are widely used,{% stepper %}is documented but used by zero pages, so the how-to steps are plain### Step Nheadings likeserver-cleanup.mdandserver-trash-bin.md. Front matter isdescriptiononly, matching the ~57 pages that have any.This is the first page with raw cURL against
/public/api/v3/; every other page delegates REST to api.docs.supervisely.com and shows Python SDK. I gave both, and linked out to the API reference.Two things for the reviewer
api.post("teams.archive", ...)because the dedicated SDK methods are still in review (feat(api): archive + permanent removal for teams and workspaces supervisely#1779). Once that lands they can becomeapi.team.archive(...)/api.team.remove_permanently(...)/api.cleanup_unused_data().api.project.archive(id, archive_url)that offloads a project to an external backup archive. It collides by name with the newprojects.archivesoft-delete and would mislead anyone reading this page next to the SDK reference.🤖 Generated with Claude Code