> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tokenrip.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Adopt Content

> POST /v0/workspaces/:id/adopt — Move standalone artifacts or a folder you own into the workspace

Moves eligible **standalone** content you own into the workspace in one transaction. Nothing is copied: identity and version history are kept, and the content's team shares are removed. Requires `writeContent`; external editors can adopt only into `shared`. MCP: `workspace_adopt`. CLI: `rip workspace adopt <workspace-id> <item> --audience … [--kind folder] [--destination-folder-id]`.

**Auth:** `Authorization: Bearer tr_...` (an account API key). `{id}` is the workspace UUID.

## Request body

`kind` selects the shape:

| Field | Type | Required | Description |
| - | - | - | - |
| `kind` | string | Yes | `artifact` or `folder` |
| `artifactId` / `artifactIds` | string / string\[] | `artifact`: exactly one of the two | Artifact id, public id, or one of your aliases; at most 500, no duplicates |
| `destinationFolderId` | string \| null | `artifact` only, optional | A folder of **this** workspace. Without it, adopted artifacts land at the workspace root |
| `folderId` | string | `folder` only | A personal folder you own. Its current artifacts come with it and stay inside it |
| `audience` | string | Yes | `internal` or `shared`, applied to every adopted item |
| `workspaceSessionId` | string | No | Session attribution |

## Response (201)

```json theme={null}
{ "ok": true, "data": { "artifactIds": ["5c9e…", "a13f…"], "folderId": null } }
```

`artifactIds` are the public ids of the moved artifacts. `folderId` is the adopted folder's id for `kind: "folder"`, otherwise `null`.

Sharing an adopted artifact exposes its complete version history. Adoption is one-way: there is no route that moves workspace content back to standalone ownership.

## Errors

Every check runs before any change is made.

| Status | Code | Cause |
| - | - | - |
| `400` | `INVALID_INPUT` | Bad `kind` shape (for example both `artifactId` and `artifactIds`, or `folderId` with artifact fields), or missing/invalid `audience` |
| `400` | `DUPLICATE_ARTIFACT` | The same artifact appears twice |
| `400` | `WORKSPACE_BULK_LIMIT` | More than 500 artifacts |
| `404` | `ARTIFACT_NOT_FOUND` / `FOLDER_NOT_FOUND` | An artifact or the folder does not exist |
| `403` | `WORKSPACE_FORBIDDEN` | No `writeContent`; an external editor asked for `internal`; or the folder is not your personal folder |
| `409` | `MIXED_OWNERSHIP` | An artifact is not owned by you |
| `409` | `ALREADY_IN_WORKSPACE` | The artifact or folder already belongs to a workspace |
| `409` | `INELIGIBLE_STORAGE` | A public asset, independently hosted content, an unproven storage class, or public version history |
| `409` | `CROSS_WORKSPACE_MOVE` | `destinationFolderId` is not a folder of this workspace |
| `409` | `ARTIFACT_FOLDER_CHANGED` / `FOLDER_CHANGED` | Content moved while the request ran; retry |
| `409` | `WORKSPACE_ARCHIVED` | The workspace is archived |
| `404` | `WORKSPACE_NOT_FOUND` | No workspace with that id |

A `workspaceSessionId` is validated as described in [Shared errors](/api-reference/workspaces/overview#shared-errors).
