为指定用户分配或回收千问办公席位。此接口只修改席位授权,不改变用户的启用状态和部门归属。
- Scope:
admin.v1.user-seats.manage - 权限项:用户席位管理(
user-seats) - 权限类型:管理
- 接口:PUT
/api/openapi/v1/users/{userId}/seat
directory_user_seat_capacity_exceeded,不登记新的授席任务,审批申请保持待处理。
若预检后容量被其他操作耗尽,中心的明确容量拒绝同样返回该错误并停止席位目标自动重试,
不会把 IAM 实际席位标记为已授权。已提交的审批事实不回滚,应先查询申请和用户席位状态。
释放或增加席位后重新提交授席操作;有幂等键的已完成操作使用新键,已批准的申请通过用户授席接口处理。
网络超时等未知结果仍沿用 HTTP 503 和 iam_openapi_execution_unavailable,已保存的任务继续核验恢复;
组织余量为零时仍检查该用户在中心是否已经拥有席位,避免误判已成功但响应丢失的授予。
重复提交未确认的同一目标不会重置已有重试进度。只有中心确认授予成功后,IAM 才更新实际席位。
认证与请求头
使用应用 API Key 调用。当前接口只校验上方独立 Scope;读取、管理与执行权限互不隐含。
| 名称 | 位置 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|---|
Authorization | header | string | 是 | 应用 API Key,使用 Bearer 方式传递。 | Bearer qwk_*** |
X-Request-Id | header | string | 否 | 可选的调用追踪标识;未传入时由服务端生成。 | req-20260831-001 |
请求参数
| 名称 | 位置 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|---|
userId | path | string · uuid | 必填 | 用户 ID | "<uuid>" |
authorized | body | boolean | 必填 | 席位授权 | false |
请求示例
响应
200 OK
| 名称 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
account | string | 否 | 账号 | "<string>" |
department_ids | array | null | 是 | 所属部门(部门 ID 列表) | ["<string>"] |
email | string | 否 | 邮箱 | "<string>" |
job_number | string | 否 | 工号 | "<string>" |
name | string | 是 | 姓名 | "<string>" |
phone | string | 否 | 手机号 | "<string>" |
qid | string · uuid | 是 | QID | "<uuid>" |
seat_status | string | 是 | 席位授权 | "assigned" |
source | string | 是 | 来源 | "manual" |
status | string | 是 | 用户状态 | "pending" |
updated_at | string · date-time | 是 | 更新时间 | "2026-08-27T10:00:00Z" |
third_party_user_id | string | 是 | 第三方用户 ID;未设置时为空字符串。 | "external-001" |
departments | array | 是 | 部门详情;无部门时为空数组。 | - |
credential | object | 是 | 密码生命周期信息,不包含密码或哈希。 | - |
created_at | string · date-time | 是 | 用户创建时间。 | "2026-09-19T01:00:00Z" |
last_active_at | string · date-time | 否 | IAM 最近活跃时间;无记录时省略,不等同于最近业务使用时间。 | "2026-09-23T01:00:00Z" |
credential 字段
以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
credential_version | integer · int64 | 是 | 凭证版本。 |
first_login_completed_at | string · date-time | 否 | 首次登录完成时间;未完成时省略。 |
must_change_password | boolean | 是 | 是否需要修改密码。 |
password_state | string | 是 | 密码状态:unset 未设置、initial 初始密码、active 已生效;可选值:unset, initial, active |
password_updated_at | string · date-time | 否 | 密码更新时间;无记录时省略。 |
departments[] 字段
以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
external_id | string | 否 | 部门外部 ID;未设置时省略。 |
id | string · uuid | 是 | 部门 ID。 |
is_primary | boolean | 是 | 是否为主部门。 |
name | string | 是 | 部门名称。 |
path | string | 是 | 部门路径。 |
default Flat business error
| 名称 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
code | string | 否 | Stable business error code | "<string>" |
detail | string | 是 | Human-readable error description | "<string>" |
details | OpenapiErrorDetails | 否 | 错误详情 | - |
error | string | 是 | Stable HTTP error type | "<string>" |
details 字段
以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
committed | boolean | 否 | 本地写入是否已提交;不表示下游同步成功 |
field | string | 否 | 校验失败的请求字段 |
reason | string | 否 | 校验失败的原因代码 |
recovery | object | 否 | 同步恢复状态与重试信息 |
results | array<object> | null | 否 | 各用户的处理结果 |
suggestion | string | 否 | 建议使用的规范化值 |
details.recovery 字段
以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
automatic_retry | boolean | 是 | 是否自动重试 |
next_retry_at | string · date-time | 否 | 下次重试时间 |
requires_action | boolean | 是 | 是否需要人工处理 |
state | string | 是 | 同步恢复状态;可选值:succeeded, processing, retrying, action_required, unconfirmed |
details.results[] 字段
以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
code | string | 否 | Stable business error code |
recovery | object | 是 | 同步恢复状态与重试信息 |
user_id | string | 是 | 用户 ID |
details.results[].recovery 字段
以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
automatic_retry | boolean | 是 | 是否自动重试 |
next_retry_at | string · date-time | 否 | 下次重试时间 |
requires_action | boolean | 是 | 是否需要人工处理 |
state | string | 是 | 同步恢复状态;可选值:succeeded, processing, retrying, action_required, unconfirmed |
提交与同步结果
本地业务提交后最多等待 10 秒,同步确认成功立即返回本接口原成功响应,不固定等待满 10 秒。
同步仍在处理时保留 HTTP 503 / iam_openapi_execution_unavailable,增加已提交状态和恢复结果。
committed=true 表示本地写入已执行,不表示同步已完成;不要据此重新创建一笔写操作。
已有幂等键的操作应复用原键及原请求;先通过现有查询接口核对业务状态。
提交前校验失败仍返回原错误;确定业务拒绝保留相应状态和错误码,已提交的拒绝结果同样携带提交信息。
传输中断且没有收到提交证据时,不能推断已回滚。
错误示例(已提交、同步处理中):
recovery.state 为 succeeded、processing、retrying、action_required 或 unconfirmed。
automatic_retry 与 requires_action 描述实际恢复安排;next_retry_at 仅在已安排自动重试时提供。
results[].code 可选,用于解释需处理原因;结果待确认不等于操作未执行。