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

批量创建多个相互独立的部门。批量条目之间不支持父子依赖，需要建多层树时按层分批调用。

## 所需权限 {#所需权限}

`departments:write`

## 请求说明 {#请求说明}

* 请求方式：`POST`
* 请求地址：`{域名}/openapi/v1/departments/batch-create`

## 注意事项 {#注意事项}


* 单次请求最多创建 100 个部门。
* 单次请求中，创建的部门之间相互独立，不存在父子级关系。若需要创建有层级依赖关系的部门树，需分批多次调用此接口进行创建。
* 本接口支持批量部分成功，顶层 `code=0` 仅表示请求处理完成，不代表所有部门均成功创建，需根据 `success_items` 和 `failed_items` 判断逐项结果。
* 每个条目的父部门必须在本次请求开始前已存在。同一批请求中，后续条目不能引用前面新建的部门作为父部门，否则该项失败。

## 请求参数 {#请求参数}

### 请求头参数 {#hpYzp4e53}

<!-- @cols-width: 172,122,596 -->
| **Header 参数**  | **是否必填**  | **描述**  |
| --- | --- | --- |
| `Authorization`  | 是  | 固定取值为 `Bearer {access_token}`。关于如何获取访问令牌，参考[鉴权](enterprise_authentication)。  |
| `Content-Type`  | 是  | 固定取值为 `application/json`。  |

### 请求体参数 {#hlFPtkGCG}

<!-- @cols-width: 283,100,100,100,332 -->
| **参数**  | **类型**  | **是否必填**  | **默认值**  | **描述**  |
| --- | --- | --- | --- | --- |
| `departments`  | array  | 是  | \-  | 待创建部门。范围为 1 至 100 个。  |
| `departments[].parent_department_id`  | string  | 是  | \-  | 新部门直属的父部门的 ID。 | \
| | | | | | \
| | | | | 传 `"0"` 或空字符串表示将该部门创建在企业根部门下。 | \
| | | | | | \
| | | | | 部门 ID 可以通过 “[获取单个父部门的子部门](/enterprise_get-the-subdepartments-for-a-specified-parent-department)” 接口或 ”[按关键词搜索部门](/enterprise_query-department-by-keyword)“ 接口获取。  |
| `departments[].name`  | string  | 是  | \-  | 新部门的名称。 | \
| | | | | | \
| | | | | 去除首尾空白后不能为空，最多 30 个 Unicode 字符，同一父部门下不可重复。  |

## 响应参数 {#响应参数}

该接口独有的响应参数如下，参数位于 `data` 中。通用响应参数参考[此文档](/enterprise_general-response-schema)。

<!-- @cols-width: 256,127,529 -->
| **参数**  | **类型**  | **描述**  |
| --- | --- | --- |
| `success_count`  | int  | 创建成功的部门数量。  |
| `success_items`  | array  | 创建成功的条目。  |
| `success_items[].index`  | int  | 创建成功的新部门在请求中传入的 `departments` 数组中的下标，从 `0` 开始。  |
| `success_items[].department_id`  | string  | 创建成功的新部门的 ID。  |
| `failed_items`  | array  | 创建失败的条目。  |
| `failed_items[].index`  | int  | 创建失败的部门在请求中传入的 `departments` 数组中的下标，从 `0` 开始。  |
| `failed_items[].code`  | int  | 错误码。  |
| `failed_items[].message`  | string  | 失败原因。  |

## 示例 {#huhHzaPZO}

### 请求示例 {#请求示例}

```bash
curl -X POST "${HOST}/openapi/v1/departments/batch-create" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "departments": [
      {
        "parent_department_id": "0",
        "name": "研发一部"
      },
      {
        "parent_department_id": "0",
        "name": "研发二部"
      }
    ]
  }'
```

### 响应示例 {#响应示例}

以下示例假设企业根部门下已存在名为 “研发二部” 的部门，因此第 0 项创建成功，第 1 项因名称重复创建失败。

```json
{
  "code": 0,
  "message": "success",
  "request_id": "req_xxx",
  "data": {
    "success_count": 1,
    "success_items": [
      {
        "index": 0,
        "department_id": "30001"
      }
    ],
    "failed_items": [
      {
        "index": 1,
        "code": 30101,
        "message": "department name duplicate"
      }
    ]
  }
}
```

## 错误码 {#错误与边界行为}

若该接口的请求返回错误码，参考[错误码](/enterprise_error-codes)文档进行排查。
