# POST /admin/api/admins — 创建管理员 > 所属:Admin·Accounts 组(前缀 `/admin/api/admins`) | 鉴权:Bearer admin_token(角色:super_admin) | [← 返回 API 索引](./README.md) ## 入参 **application/json**: | 字段 | 类型 | 必填 | 默认 | 说明 | |---|---|---|---|---| | `username` | string | ✓ | — | 账号,3–64 字 | | `password` | string | ✓ | — | 初始密码,8–72 字(bcrypt ≤72 字节) | | `role` | string | ✗ | `operator` | 角色,枚举:`super_admin` / `finance` / `operator` | ## 出参 响应 `200`:`AdminOut`(新建的管理员) | 字段 | 类型 | 说明 | |---|---|---| | `id` | int | 管理员 id | | `username` | string | 账号 | | `role` | string | 角色 | | `status` | string | 状态(新建默认 `active`) | | `created_at` | datetime | 创建时间(UTC) | | `last_login_at` | datetime \| null | 上次登录时间(新建为 null) | ## 错误码 - `401` 未带 admin token / token 无效或过期 / 管理员被禁用 - `403` 角色不足(仅 super_admin) - `409` 用户名已存在 - `422` 缺字段 / `username` 长度不在 3–64 / `password` 长度不在 8–72 / `role` 非法枚举 ## 说明 - 创建成功后写一条审计:`action=admin.create`、`target_type=admin`、`target_id=新管理员 id`、`detail={username, role}`。见 [admin_audit_log](../database/admin_audit_log.md)。 - 数据表见 [admin_user](../database/admin_user.md)。