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

# Create Workspace

> Create an instruction workspace — the permission, asset, and changeset boundary.

Creates a workspace: the permission boundary that owns manuals, assets, changesets, and per-user roles. OpenTrain persists an `OWNER` permission record for the creator.

**Requirements:** `instructions:write` + a verified (claimed) account whose user belongs to an employer organization. A verified user without employer membership receives `403`.

## Request

Send an optional `Idempotency-Key` header — replaying the same key returns the original workspace with `idempotentReplay: true`; replaying the key with a **different** body is a `409`.

<ParamField body="name" type="string" required>
  Workspace display name.
</ParamField>

## Response

Returns `201` with the created workspace.

<ResponseField name="workspace" type="object">
  `{id, name, manualCount, archivedAt, createdAt, updatedAt}`.
</ResponseField>

<ResponseField name="idempotentReplay" type="boolean">
  Present and `true` when the `Idempotency-Key` matched a prior create.
</ResponseField>

<RequestExample>
  ```bash curl theme={null}
  curl -sS -X POST https://app.opentrain.ai/api/public/v1/instructions/workspaces \
    -H "Authorization: Bearer $OT_API_TOKEN" \
    -H "Content-Type: application/json" \
    -H "Idempotency-Key: ws-create-$(uuidgen)" \
    -d '{"name": "Operations"}'
  ```
</RequestExample>
