# 创建工作区

```{raw} html
<div class="mo-api-page-show-toc" aria-hidden="true"></div>
```

通过同步接口创建工作区。请求在创建及初始化返回后，才给出新工作区 ID。

控制台创建工作区时提交的是异步任务，见[提交创建工作区任务](create-workspace-creation.md#请求体)。需要等待同步结果时使用本接口。未收到响应时，不能据此判断工作区未创建。

```text
POST https://moi.matrixorigin.cn/newmoi/workspaces
```

## 调用前准备

先确定新工作区的名称。准备[个人访问令牌](../../../../guides/genesis/api-keys.md#创建和管理个人访问令牌)。此接口不需要先进入某个工作区。

## 请求体

将 `$AI_STUDIO_API_KEY` 和 `$WORKSPACE_NAME` 替换为实际值。

:::::::{div} mo-api-tabs
::::::{tab-set}
:::::{tab-item} 输入示例

```bash
curl -X POST "https://moi.matrixorigin.cn/newmoi/workspaces" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "'"$WORKSPACE_NAME"'"
  }'
```

:::::
:::::{tab-item} 参数说明

| 参数 | 类型 | 是否必填 | 说明 |
| --- | --- | --- | --- |
| `name` | string | 是 | 要创建的工作区名称。去除首尾空白后不能为空。 |

:::::
::::::
:::::::

## 成功响应

成功时返回 200，`data.id` 为新工作区 ID。

:::::::{div} mo-api-tabs
::::::{tab-set}
:::::{tab-item} 响应示例

```json
{
  "code": "OK",
  "msg": "OK",
  "data": {
    "id": "ws_01"
  }
}
```

:::::
:::::{tab-item} 字段说明

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `code` | string | 成功时为 `OK`。 |
| `msg` | string | 成功时为 `OK`。 |
| `data.id` | string | 新工作区 ID。 |

:::::
::::::
:::::::

## 错误响应

:::::::{div} mo-api-tabs
::::::{tab-set}
:::::{tab-item} 响应示例

```json
{
  "code": "ErrWorkspaceAlreadyExists",
  "msg": "工作区已存在",
  "data": null
}
```

:::::
:::::{tab-item} 字段说明

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `code` | string | 错误代码。 |
| `msg` | string | 可读错误信息。 |
| `data` | null | 错误响应中为 `null`。 |

:::::
::::::
:::::::

## 后续操作

记录 `data.id`，再用[查看工作区列表](list-workspaces.md#查询参数)确认该工作区可访问。
