用户

用户管理相关操作。

这些端点仅对自托管实例的 管理员 用户可用,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/teams

POST /api/users

创建用户。

参数

  • username:(字符串)用户的用户名。
  • password:(字符串)用户的密码。
  • role:(字符串)选项为 (admin | user | view-only)。
  • id:(字符串 | 可选)强制分配 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

更新用户。

参数

  • username:(可选字符串)用户的用户名。
  • password:(可选字符串)用户的密码。
  • role:(可选字符串)可选值为 adminuserview-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

获取属于某用户的所有网站。

参数

  • includeTeams:(布尔值)设置为 true 时包含用户作为团队所有者的网站。
  • search:(可选字符串)搜索文本。
  • page:(可选数字,默认 1)页码。
  • pageSize:(可选字符串)返回结果数。

示例响应

{
  "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

获取属于某用户的所有团队。

参数

  • page:(数字 | 可选,默认 1)页码。
  • pageSize:(字符串 | 可选)返回结果数。

示例响应

{
  "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
}