# Workspaces ## List workspaces for a planning - [GET /v1/plannings/{id}/workspaces/](https://docs.adm.wearetransformers.nl/apis/schema/workspaces/v1_plannings_workspaces_list.md): Returns all workspaces (draft, merged, archived) for the planning. ## Create a new workspace - [POST /v1/plannings/{id}/workspaces/](https://docs.adm.wearetransformers.nl/apis/schema/workspaces/v1_plannings_workspaces_create.md): Creates a new draft workspace for the planning. ## Get workspace details - [GET /v1/plannings/{id}/workspaces/{workspace_pk}/](https://docs.adm.wearetransformers.nl/apis/schema/workspaces/v1_plannings_workspaces_retrieve.md): Returns details for a specific workspace. ## Update workspace - [PATCH /v1/plannings/{id}/workspaces/{workspace_pk}/](https://docs.adm.wearetransformers.nl/apis/schema/workspaces/v1_plannings_workspaces_partial_update.md): Updates workspace name or description. ## Archive workspace - [DELETE /v1/plannings/{id}/workspaces/{workspace_pk}/](https://docs.adm.wearetransformers.nl/apis/schema/workspaces/v1_plannings_workspaces_destroy.md): Archives a workspace (soft delete). Archived workspaces cannot be modified. ## Undo a specific workspace changeset - [POST /v1/plannings/{id}/workspaces/{workspace_pk}/changesets/{change_id}/undo/](https://docs.adm.wearetransformers.nl/apis/schema/workspaces/v1_plannings_workspaces_changesets_undo_create.md): ViewSet for managing workspaces within a planning. Workspaces allow users to make draft changes to assignments, operations, and other planning data without affecting the mainline state. Changes can be merged to mainline when ready. ## Get workspace diff (vs mainline) - [GET /v1/plannings/{id}/workspaces/{workspace_pk}/diff/](https://docs.adm.wearetransformers.nl/apis/schema/workspaces/v1_plannings_workspaces_diff_retrieve.md): Returns a summary of changes introduced by this workspace compared to mainline. Primarily used by the frontend AuditLog. ## Discard workspace changes - [POST /v1/plannings/{id}/workspaces/{workspace_pk}/discard/](https://docs.adm.wearetransformers.nl/apis/schema/workspaces/v1_plannings_workspaces_discard_create.md): Discards all workspace changes without merging. This operation: 1. Closes all workspace state rows (marks as deleted) 2. Updates workspace status to 'archived' ## Merge workspace to mainline - [POST /v1/plannings/{id}/workspaces/{workspace_pk}/merge/](https://docs.adm.wearetransformers.nl/apis/schema/workspaces/v1_plannings_workspaces_merge_create.md): Merges all workspace changes to mainline. This operation: 1. Copies all workspace state rows to mainline (workspace=None) 2. Closes the workspace state rows 3. Updates workspace status to 'merged' Requires mainline write permission.