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.
Returns the folder (201):
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, "workspaceSessionId"?: "<uuid>" }. 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 removing a workspace folder (removal moves every artifact in it to the root) are dashboard-only: PATCH …/folders/{folderId} { slug } and DELETE …/folders/{folderId}?expectedWorkspaceRevision= under /v0/operator/workspaces.
Errors
A
workspaceSessionId is validated as described in Shared errors.