AI 助手
TRAE 智能问答助手
你好,我是 TRAE 文档问答助手 🎉 你在阅读当前文档的过程中,无论对文档概念的解释,还是文档内容方面的疑问,都可以随时向我提问,我会全力为你解答
推荐问题
TRAE IDE 里最热门的 Skill 是哪些?
如何创建自定义智能体?
如何配置 Rules?
文档反馈

更新成员信息

批量更新成员的名称、角色或直属部门。

所需权限

users:write

请求说明

  • 请求方式:PATCH
  • 请求地址:{域名}/openapi/v1/users

注意事项

  • 单次请求最多更新 20 个成员的信息。
  • 本接口支持批量部分成功,顶层 code=0 仅表示请求处理完成,不代表每个成员均更新成功,需根据 failed_items 判断逐项结果。
  • 同一成员在同一个请求中被重复传入时,第一项会被处理,后续项会失败。
  • 已移除或已注销的成员不能通过本接口更新。
  • 超级管理员的角色不能通过本接口修改,其名称和直属部门仍可更新。
  • 邮箱不属于当前企业时按未找到处理,接口不会返回该邮箱所属的其他企业信息。
  • 当企业成员由外部身份源(包括火山引擎云身份中心)统一管理时,不支持通过该接口更新成员信息。

请求参数

请求头参数

Header 参数 是否必填 描述
Authorization 固定取值为 Bearer {access_token}。关于如何获取访问令牌,参考鉴权
Content-Type 固定取值为 application/json

请求体参数

参数 类型 是否必填 默认值 描述

users

array

-

待更新成员的列表。范围为 1 至 20 个。

每项需至少提供一个定位参数和一个待更新参数。

users[].user_id

string

条件必填

-

待更新成员的 ID。

email 至少传一个。若与 email 同时传入,两者必须指向同一成员。

成员 ID 可以通过 “获取成员列表” 接口获取。

users[].email

string

条件必填

-

待更新成员的邮箱地址。

user_id 至少传一个。传入值会被去除首尾空白,并按不区分大小写的方式精确匹配,不支持模糊搜索。

成员邮箱可以通过 “获取成员列表” 接口获取。

users[].user_name

string

条件必填

-

成员的新名称。

roledepartment_ids 至少传一个。传入时去除首尾空白后不能为空,最多 50 个 Unicode 字符。

users[].role

string

条件必填

-

成员的新角色,取值:

  • admin:管理员
  • member:成员

user_namedepartment_ids 至少传一个。不支持将成员设置为 “超级管理员”;省略则表示保留当前角色。

users[].department_ids

array

条件必填

-

成员的新直属部门的 ID,至多传入 1 个 ID。

user_namerole 至少传一个。省略或传 null 表示不修改直属部门;传 [] 表示将该成员添加到企业根部门。

部门 ID 可以通过 “获取单个父部门的子部门” 接口或 ”按关键词搜索部门“ 接口获取。

响应参数

该接口独有的响应参数如下,参数位于 data 中。通用响应参数参考此文档

参数 类型 描述
success_count int 更新成功的成员数量。
failed_items array 更新失败的成员列表。全部成功时返回 []
failed_items[].index int 更新失败的成员在请求体 users 数组中的索引,从 0 开始。
failed_items[].email string 更新失败成员的邮箱。若仅为该成员传入了 user_id,该参数为空。
failed_items[].user_id string 更新失败成员的 ID。未成功定位到成员的失败项,例如参数校验失败或邮箱未命中,可能省略该字段。
failed_items[].code int 错误码。
failed_items[].message string 失败原因。
warnings array 非致命问题的提示信息;无提示时省略。

示例

请求示例

仅通过邮箱定位成员:

curl -X PATCH "${HOST}/openapi/v1/users" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "users": [
      {
        "email": "alice@example.com",
        "user_name": "Alice Zhang",
        "department_ids": ["20001"]
      },
      {
        "email": "john@example.com",
        "role": "admin"
      }
    ]
  }'

为单个成员同时传入 user_idemail,系统将进行一致性校验:

{
  "users": [
    {
      "user_id": "10001",
      "email": "alice@example.com",
      "role": "admin"
    },
    {
      "user_id": "10002",
      "email": "john@example.com",
      "user_name": "John Lee",
      "department_ids": []
    }
  ]
}

响应示例

全部成员更新成功:

{
  "code": 0,
  "message": "success",
  "request_id": "req_xxx",
  "data": {
    "success_count": 2,
    "failed_items": []
  }
}

部分成员更新失败:

{
  "code": 0,
  "message": "success",
  "request_id": "req_xxx",
  "data": {
    "success_count": 1,
    "failed_items": [
      {
        "index": 1,
        "email": "john@example.com",
        "code": 30007,
        "message": "user not found in this tenant"
      }
    ]
  }
}

错误码

若该接口的请求返回错误码,参考错误码文档进行排查。