查询当前应用可访问的组织用户，按关键词、部门、账号状态和席位状态筛选。返回用户标识 qid、基本资料、部门归属及席位状态，可用于定位后续需要修改的用户。

## 所需权限
<table> <thead> <tr> <td>所需权限</td> <td>资源</td> <td>Scope</td> <td>资源服务</td> </tr> </thead> <tbody> <tr> <td>用户与部门信息读取（读取）</td> <td>user-directory</td> <td>admin.v1.user-directory.read</td> <td>qwenwork-biz-service</td> </tr> </tbody> </table>

```
HELPCODEESCAPE-http
GET /api/openapi/v1/users
```

## 认证与请求头
使用应用 API Key 调用。当前接口校验上方独立 Scope；读取、管理与执行权限互不包含。
<table> <thead> <tr> <td>名称</td> <td>位置</td> <td>类型</td> <td>必填</td> <td>说明</td> <td>示例</td> </tr> </thead> <tbody> <tr> <td>Authorization</td> <td>header</td> <td>string</td> <td>是</td> <td>应用 API Key，使用 Bearer 方式传递。</td> <td>Bearer qwk_\*\*\*</td> </tr> <tr> <td>X-Request-Id</td> <td>header</td> <td>string</td> <td>否</td> <td>可选的调用追踪标识；未传入时由服务端生成。</td> <td>req-20260831-001</td> </tr> </tbody> </table>

## 请求参数
<table> <thead> <tr> <td>名称</td> <td>位置</td> <td>类型</td> <td>必填</td> <td>说明</td> <td>示例</td> </tr> </thead> <tbody> <tr> <td>keyword</td> <td>query</td> <td>string</td> <td>否</td> <td>用于筛选此列表的搜索关键词。</td> <td>"\&lt;string\&gt;"</td> </tr> <tr> <td>department_id</td> <td>query</td> <td>string · uuid</td> <td>否</td> <td>按用户所属部门筛选，填写部门标识。</td> <td>"\&lt;uuid\&gt;"</td> </tr> <tr> <td>status</td> <td>query</td> <td>string</td> <td>否</td> <td>只返回此状态的记录；不填写时不按状态筛选。</td> <td>"pending"</td> </tr> <tr> <td>seat_status</td> <td>query</td> <td>string</td> <td>否</td> <td>席位状态筛选：assigned 为已分配，unassigned 为未分配。</td> <td>"assigned"</td> </tr> <tr> <td>page</td> <td>query</td> <td>integer · int64</td> <td>否</td> <td>请求的页码，从 1 开始。 默认值：1。 最小值：1。</td> <td>1</td> </tr> <tr> <td>page_size</td> <td>query</td> <td>integer · int64</td> <td>否</td> <td>每页返回的记录数量。 默认值：20。 最小值：1。 最大值：100。</td> <td>20</td> </tr> </tbody> </table>

## 请求示例
将 \<BASE_URL\> 替换为企业部署的千问办公 API 服务地址，并填写实际参数。示例中的占位值不能直接用于请求。

```
HELPCODEESCAPE-text
curl --request GET \
  --url '<BASE_URL>/api/openapi/v1/users?keyword=<keyword>&department_id=<department_id>&status=<status>&seat_status=<seat_status>&page=1&page_size=20' \
  --header 'Authorization: Bearer <API_KEY>'
```

## 响应
### 200 请求成功，返回当前或更新后的数据。

<table> <thead> <tr> <td>名称</td> <td>类型</td> <td>必填</td> <td>说明</td> <td>示例</td> </tr> </thead> <tbody> <tr> <td>items</td> <td>array \| null</td> <td>是</td> <td>符合查询条件的当前页记录列表。</td> <td>\[{"account":"\&lt;string\&gt;","department_ids":\["\&lt;string\&gt;"\],"email":"\&lt;string\&gt;","job_number":"\&lt;string\&gt;","name":"\&lt;string\&gt;","phone":"\&lt;string\&gt;","qid":"\&lt;uuid\&gt;","seat_status":"assigned","source":"manual","status":"pending","updated_at":"2026-08-27T10:00:00Z"}\]</td> </tr> <tr> <td>items\[\].account</td> <td>string</td> <td>否</td> <td>用户的登录账号。</td> <td>"\&lt;string\&gt;"</td> </tr> <tr> <td>items\[\].department_ids</td> <td>array \| null</td> <td>是</td> <td>用户所属部门的标识列表。</td> <td>\["\&lt;string\&gt;"\]</td> </tr> <tr> <td>items\[\].email</td> <td>string</td> <td>否</td> <td>用户的邮箱地址。</td> <td>"\&lt;string\&gt;"</td> </tr> <tr> <td>items\[\].job_number</td> <td>string</td> <td>否</td> <td>企业为用户分配的工号。</td> <td>"\&lt;string\&gt;"</td> </tr> <tr> <td>items\[\].name</td> <td>string</td> <td>是</td> <td>用户的姓名。</td> <td>"\&lt;string\&gt;"</td> </tr> <tr> <td>items\[\].phone</td> <td>string</td> <td>否</td> <td>用户的电话号码。</td> <td>"\&lt;string\&gt;"</td> </tr> <tr> <td>items\[\].qid</td> <td>string · uuid</td> <td>是</td> <td>用户在千问办公中的唯一标识，用户更新和删除接口使用此值。</td> <td>"\&lt;uuid\&gt;"</td> </tr> <tr> <td>items\[\].seat_status</td> <td>string</td> <td>是</td> <td>用户的席位状态：assigned 为已分配，unassigned 为未分配。</td> <td>"assigned"</td> </tr> <tr> <td>items\[\].source</td> <td>string</td> <td>是</td> <td>用户来源：manual 为手动管理，directory-sync 为通讯录同步。</td> <td>"manual"</td> </tr> <tr> <td>items\[\].status</td> <td>string</td> <td>是</td> <td>账号状态：pending 为待激活，active 为已激活，disabled 为已禁用。</td> <td>"pending"</td> </tr> <tr> <td>items\[\].updated_at</td> <td>string · date-time</td> <td>是</td> <td>此记录最后一次更新的时间。</td> <td>"2026-08-27T10:00:00Z"</td> </tr> <tr> <td>page</td> <td>integer · int64</td> <td>是</td> <td>当前结果页的页码，从 1 开始。</td> <td>0</td> </tr> <tr> <td>page_size</td> <td>integer · int64</td> <td>是</td> <td>每页返回的记录数。</td> <td>0</td> </tr> <tr> <td>total</td> <td>integer · int64</td> <td>是</td> <td>符合查询条件的记录总数。</td> <td>0</td> </tr> </tbody> </table>

```
HELPCODEESCAPE-json
{
  "items": [
    {
      "account": "<string>",
      "department_ids": [
        "<string>"
      ],
      "email": "<string>",
      "job_number": "<string>",
      "name": "<string>",
      "phone": "<string>",
      "qid": "<uuid>",
      "seat_status": "assigned",
      "source": "manual",
      "status": "pending",
      "updated_at": "2026-08-27T10:00:00Z"
    }
  ],
  "page": 0,
  "page_size": 0,
  "total": 0
}
```

### default 请求失败，返回错误码和错误详情。

<table> <thead> <tr> <td>名称</td> <td>类型</td> <td>必填</td> <td>说明</td> <td>示例</td> </tr> </thead> <tbody> <tr> <td>code</td> <td>string</td> <td>否</td> <td>用于程序判断错误原因的稳定业务错误码。</td> <td>"\&lt;string\&gt;"</td> </tr> <tr> <td>detail</td> <td>string</td> <td>是</td> <td>便于阅读的错误说明。</td> <td>"\&lt;string\&gt;"</td> </tr> <tr> <td>details</td> <td>OpenapiErrorDetails</td> <td>否</td> <td>字段校验失败时的详细信息。</td> <td>{"field":"\&lt;string\&gt;","reason":"\&lt;string\&gt;","suggestion":"\&lt;string\&gt;"}</td> </tr> <tr> <td>details.field</td> <td>string</td> <td>否</td> <td>未通过校验的请求字段。</td> <td>"\&lt;string\&gt;"</td> </tr> <tr> <td>details.reason</td> <td>string</td> <td>否</td> <td>稳定的校验失败原因，用于判断字段为何不合法。</td> <td>"\&lt;string\&gt;"</td> </tr> <tr> <td>details.suggestion</td> <td>string</td> <td>否</td> <td>建议采用的规范化字段值。</td> <td>"\&lt;string\&gt;"</td> </tr> <tr> <td>error</td> <td>string</td> <td>是</td> <td>稳定的 HTTP 错误类型。</td> <td>"\&lt;string\&gt;"</td> </tr> </tbody> </table>

```
HELPCODEESCAPE-json
{
  "code": "<string>",
  "detail": "<string>",
  "details": {
    "field": "<string>",
    "reason": "<string>",
    "suggestion": "<string>"
  },
  "error": "<string>"
}
```