Skip to main content
Workspace folders are flat, live inside one workspace (slugs are unique per workspace), and grant nothing by themselves. A shared folder shows external members its name and its shared artifacts. An internal folder is invisible to them, and its shared artifacts appear at the workspace root. MCP: folder_create { workspaceId }, folder_update, folder_share_contents. CLI: rip folder create --workspace, rip folder update, rip folder share-contents. List the folders you can see with GET /v0/folders?workspaceId=<uuid>. File an artifact into a folder with PATCH /v0/artifacts/{publicId} and { "folderId": "<uuid>" | null, "expectedWorkspaceRevision": n }. Auth: Authorization: Bearer tr_... (an account API key). {id} and {folderId} are UUIDs.

POST /v0/workspaces/{id}/folders

Requires organizeContent. New folder creation needs no revision. Through ordinary folder_create, audience requires explicit workspaceId; standalone team inputs are incompatible with workspace creation and receive WORKSPACE_AUTHORITY before effects. Returns the folder (201):
A folder in a team workspace has team_id set and owner_id: null.

PATCH /v0/workspaces/{id}/folders/{folderId}

Requires manageAudience. Returns the folder (artifact_count is null here).

POST /v0/workspaces/{id}/folders/{folderId}/share-contents

Requires manageAudience. Body { "expectedWorkspaceRevision": n, "why": "<goal>" }. Sets the folder and every artifact currently in it to shared in one transaction (up to 500 artifacts). Artifacts added later are not shared automatically. Returns (201):
artifactIds are the public ids of the shared artifacts. Renaming and deleting a workspace folder are dashboard-only: PATCH …/folders/{folderId} { slug } and DELETE …/folders/{folderId}?expectedWorkspaceRevision= under /v0/operator/workspaces. Delete needs deleteContent and moves the folder and every artifact in it to the trash for 30 days; reads of those artifacts answer 410 DELETED with via: { type: "folder", id }. Any member with deleteContent can bring the folder back with Restore (type: "folder", the entry’s workspaceRevision), and its artifacts return filed as they were. While a folder is in the trash its slug stays held: 409 FOLDER_EXISTS names the purge date.

Errors