用户
用户管理相关操作。
这些端点仅对自托管实例的 管理员 用户可用,Umami 云 不支持。
端点
POST /api/users
GET /api/users/:userId
POST /api/users/:userId
DELETE /api/users/:userId
GET /api/users/:userId/websites
GET /api/users/:userId/teamsPOST /api/users
创建用户。
参数
| Parameter | Type | Description |
|---|---|---|
username | string | 用户的用户名。 |
password | string | 用户的密码。 |
role | string | 从 (admin | user | view-only) 中选择。 |
id | string | (可选)强制为用户分配一个 UUID。 |
请求体
{
"username": "member",
"password": "umami",
"role": "user"
}示例响应
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"username": "member",
"role": "user"
}GET /api/users/:userId
根据 ID 获取用户。
示例响应
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"username": "member",
"role": "user",
"createdAt": "2025-10-10T23:09:16.524Z"
}POST /api/users/:userId
更新用户。
参数
| Parameter | Type | Description |
|---|---|---|
username | string | (可选)用户的用户名。 |
password | string | (可选)用户的密码。 |
role | string | (可选)从 admin、user、view-only 中选择。 |
请求体
{
"username": "admin",
"password": "umami",
"role": "admin"
}示例响应
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"username": "admin",
"role": "admin",
"createdAt": "0000-00-00T00:00:00.000Z"
}DELETE /api/users/:userId
删除用户。
示例响应
{
"ok": true
}GET /api/users/:userId/websites
获取属于某用户的所有网站。
参数
| Parameter | Type | Description |
|---|---|---|
includeTeams | boolean | 设置为 true 以包含你作为团队所有者的网站。 |
search | string | (可选)搜索文本。 |
page | number | (可选,默认 1)决定页码。 |
pageSize | number | (可选)决定返回多少结果。 |
示例响应
{
"data": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "My Website",
"domain": "mywebsite.com",
"shareId": null,
"resetAt": null,
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"teamId": null,
"createdBy": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"createdAt": "2025-09-16T19:59:32.957Z",
"updatedAt": "2025-09-16T19:59:32.957Z",
"deletedAt": null,
"user": {
"username": "admin",
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
],
"count": 1,
"page": 1,
"pageSize": 20
}GET /api/users/:userId/teams
获取属于某用户的所有团队。
参数
| Parameter | Type | Description |
|---|---|---|
page | number | (可选,默认 1)决定页码。 |
pageSize | number | (可选)决定返回多少结果。 |
示例响应
{
"data": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Umami Software, Inc",
"accessCode": "team_qunhu7q6NVZDu6Cg",
"logoUrl": null,
"createdAt": "2025-09-24T22:08:35.259Z",
"updatedAt": "2025-09-24T22:08:35.259Z",
"deletedAt": null,
"members": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"teamId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"role": "team-owner",
"createdAt": "2025-09-24T22:08:35.302Z",
"updatedAt": "2025-09-24T22:08:35.302Z",
"user": {
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"username": "admin"
}
}
],
"_count": {
"websites": 0,
"members": 1
}
}
],
"count": 1,
"page": 1,
"pageSize": 20
}