API reference

Admin · Users

User accounts, quotas and password resets (admins only)

用户列表

GET
/api/admin/users

全部用户及其用量,不分页。仅管理员。

Authorization

session
cookieimgyoung_session<token>

登录下发的会话 cookie;状态变更请求须另以 X-CSRF-Token 头回传会话绑定的 CSRF 令牌。

Response Body

用户列表

application/json
  1. response
items*array<>
total*integer
Formatint64
curl -X GET 'http://localhost:8721/api/admin/users'
{  "items": [    {      "id": "string",      "name": "string",      "role": "admin",      "quota_bytes": 0,      "default_ttl_hours": 0,      "disabled": true,      "created_at": "string",      "used_bytes": 0,      "image_count": 0    }  ],  "total": 0}

创建用户

POST
/api/admin/users

密码至少 8 个字符;role 缺省为 user。仅管理员。

Authorization

session
cookieimgyoung_session<token>

登录下发的会话 cookie;状态变更请求须另以 X-CSRF-Token 头回传会话绑定的 CSRF 令牌。

Header Parameters

X-CSRF-Token*string

登录或 GET /api/admin/me 响应里的 csrf_token;缺失或不匹配返回 403

Request Body

application/json
  1. body

建号请求;未知字段整体拒绝

name*string

登录名

password*string

初始密码,至少 8 个字符

Formatpassword
role?Role

角色

Value in"admin""user"
quota_bytes?integer

配额上限;缺省或不大于 0 表示不限

Formatint64
default_ttl_hours?|

上传默认有效期(小时);缺省或 null 随全局,0 永久

Formatint64
Range0 <= value <= 876000

Response Body

已创建

application/json
  1. response

用户列表项,不含任何凭证材料

id*string
name*string

登录名

role*Role

角色

Value in"admin""user"
quota_bytes*|

配额上限;null 表示不限

Formatint64
default_ttl_hours*|

上传默认有效期(小时);null 随全局,0 永久

Formatint64
disabled*boolean
created_at*string
used_bytes*integer

已用字节,按引用计全额

Formatint64
image_count*integer
Formatint64
curl -X POST 'http://localhost:8721/api/admin/users' \  -H 'X-CSRF-Token: string' \  -H 'Content-Type: application/json' \  -d '{  "name": "string",  "password": "pa$$word"}'
{  "id": "string",  "name": "string",  "role": "admin",  "quota_bytes": 0,  "default_ttl_hours": 0,  "disabled": true,  "created_at": "string",  "used_bytes": 0,  "image_count": 0}

删除用户

DELETE
/api/admin/users/{id}

名下仍有图片(409)、内置管理员(403)或当前登录用户(400)拒绝删除。仅管理员。

Authorization

session
cookieimgyoung_session<token>

登录下发的会话 cookie;状态变更请求须另以 X-CSRF-Token 头回传会话绑定的 CSRF 令牌。

Path Parameters

id*string

用户 id

Header Parameters

X-CSRF-Token*string

登录或 GET /api/admin/me 响应里的 csrf_token;缺失或不匹配返回 403

Response Body

已删除

curl -X DELETE 'http://localhost:8721/api/admin/users/string' \  -H 'X-CSRF-Token: string'
Empty

更新用户

PUT
/api/admin/users/{id}

全量语义,须给出全部键;内置管理员不可禁用或降级(403)。仅管理员。

Authorization

session
cookieimgyoung_session<token>

登录下发的会话 cookie;状态变更请求须另以 X-CSRF-Token 头回传会话绑定的 CSRF 令牌。

Path Parameters

id*string

用户 id

Header Parameters

X-CSRF-Token*string

登录或 GET /api/admin/me 响应里的 csrf_token;缺失或不匹配返回 403

Request Body

application/json
  1. body

更新请求,PUT 为全量语义,须给出全部键;未知字段整体拒绝

name*string

登录名

role*Role

角色

Value in"admin""user"
quota_bytes*integer

配额上限;不大于 0 表示不限

Formatint64
default_ttl_hours*|

上传默认有效期(小时);null 随全局,0 永久

Formatint64
Range0 <= value <= 876000
disabled*boolean

是否禁用;内置管理员不可禁用

Response Body

已更新

curl -X PUT 'http://localhost:8721/api/admin/users/string' \  -H 'X-CSRF-Token: string' \  -H 'Content-Type: application/json' \  -d '{  "name": "string",  "role": "admin",  "quota_bytes": 0,  "default_ttl_hours": 0,  "disabled": true}'
Empty

重置用户密码

POST
/api/admin/users/{id}/password

该用户全部会话失效;新密码至少 8 个字符。仅管理员。

Authorization

session
cookieimgyoung_session<token>

登录下发的会话 cookie;状态变更请求须另以 X-CSRF-Token 头回传会话绑定的 CSRF 令牌。

Path Parameters

id*string

用户 id

Header Parameters

X-CSRF-Token*string

登录或 GET /api/admin/me 响应里的 csrf_token;缺失或不匹配返回 403

Request Body

application/json
  1. body
password*string

新密码,至少 8 个字符

Formatpassword

Response Body

已重置

curl -X POST 'http://localhost:8721/api/admin/users/string/password' \  -H 'X-CSRF-Token: string' \  -H 'Content-Type: application/json' \  -d '{  "password": "pa$$word"}'
Empty