---
title: "Create or replay a personal workspace bootstrap"
method: POST
path: "/workspaces"
---

# Create or replay a personal workspace bootstrap

`POST /workspaces`

## Request

- Base URL: `https://superskill.sh/api`
- URL: `https://superskill.sh/api/workspaces`
- Auth: HTTP bearer

Requires a confirmed signed-in account. Atomically creates an invite-only/private workspace, owner membership, invite policy and default approved collection. Repeating the same owner and slug is idempotent.

## Request body

- object
  - `slug` string, required
  - `name` string, required
  - `type` 'company' | 'community' | 'team' | 'course' | 'agency' | 'chat'
  - `visibility` 'private' | 'invite_only'
  - `description` string, nullable

## Response `200`

Idempotent replay of the caller's existing workspace

## Other responses

- `201`: Workspace created
- `400`: Request validation failed before any durable mutation
- `401`: Authorization required
- `403`: Authorization was provided but is not allowed for this action
- `409`: The requested action conflicts with current product or resource state
- `503`: Dependent service unavailable

---

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