---
title: "Move or copy a personal project and its capsules into an organization workspace"
method: POST
path: "/api/preview/projects/{id}/move-to-workspace"
tags: ["project"]
---

# Move or copy a personal project and its capsules into an organization workspace

`POST /api/preview/projects/{id}/move-to-workspace`

## Request

- Base URL: `https://symbol.chat` (the document declares no server; this is the origin it was published from)
- URL: `https://symbol.chat/api/preview/projects/{id}/move-to-workspace`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__Secure-next-auth.session-token`
  - OAuth 2
    - Authorization code: `https://mcp.symbol.chat/authorize`
    - Token URL: `https://mcp.symbol.chat/token`

## Path parameters

- `id` string, required: UUID v4 string

## Request body

- object
  - `confirm_exposure` boolean: Set true to proceed. Without it the request is refused with a 409 `exposure_requires_confirm` carrying the exposure, the proposed per-Type mapping and the capsules that stay behind, and nothing changes.
  - `mode` 'move' | 'copy': move (default) re-homes the project and its capsules; copy creates a new organization project of copies
  - `targetWorkspaceId` string, required: Organization workspace to move or copy the project into
  - `typeMap` object: Source Type id to a target Type id in the organization, or "create" for a Type of the same shape made there. A source Type left out maps to an organization Type of the same slug and shape when one exists, else "create".

## Response `200`

Successful response

- object
  - `failed` object[], required
    - `code` string, required
    - `error` string, required
    - `id` string, required: UUID v4 string
  - `project_id` string, required: UUID v4 string
  - `skipped` object[], required
    - `capsule_id` string, required: UUID v4 string
    - `code` string, required
  - `succeeded` object[], required
    - `capsuleId` string, required: UUID v4 string
    - `droppedCollections` object[], required
      - `id` string, required: UUID v4 string
      - `name` string, required
      - `slug` string, required
    - `id` string, required: UUID v4 string
    - `mode` 'move' | 'copy', required
    - `newRefId` integer, required
    - `newSlug` string, nullable, required
    - `previousRefId` integer, nullable, required
    - `previousSlug` string, nullable, required
    - `typeId` string, required: UUID v4 string
    - `workspaceId` string, required: UUID v4 string
  - `workspace_id` string, required: UUID v4 string

## Changes

- **2026-10-09** `c7729725d527`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/symbol/apis/symbol-api/changes/api/preview/projects/:id/move-to-workspace/post.md)

---

[API](https://skmtc.dev/symbol/apis/symbol-api.md) - [All operations](https://skmtc.dev/symbol/apis/symbol-api/llms.txt) - [OpenAPI document](https://skmtc.dev/symbol/apis/symbol-api/revisions/3a2c4ebeab51?raw)
