POST/api/v1/admin/roles创建管理角色

创建 admin 范围角色并声明权限集合。

Request

Headers

NameData TypeRequiredDescription
AuthorizationstringYes会话令牌认证,格式 `Bearer <sessionToken>`
Content-TypestringYes请求体内容类型(默认值 "application/json")
type RequestHeaders = {
  /** 会话令牌认证,格式 `Bearer <sessionToken>` */
  Authorization: string
  /** 请求体内容类型,默认值 "application/json" */
  Content-Type: string
}
{
  "Authorization": "Bearer st_7c1f9e05b28d4a63",
  "Content-Type": "application/json"
}

Body

NameData TypeRequiredDescription
namestringYes角色名
descriptionstringNo角色描述
permissionsarrayYes权限标识列表(admin: 前缀)
type RequestBody = {
  /** 角色名 */
  name: string
  /** 角色描述 */
  description?: string
  /** 权限标识列表(admin: 前缀) */
  permissions: string[]
}
{
  "name": "审计员",
  "description": "只读审计检索与导出",
  "permissions": [
    "admin:audit:read",
    "admin:audit:export"
  ]
}

Response

Body

NameData TypeRequiredDescription
roleIdstringYes角色 ID
namestringYes角色名
descriptionstringNo角色描述
permissionsarrayYes权限标识列表
builtinbooleanYes固定为 false
createdAtstringYes创建时间
type ResponseBody = {
  /** 角色 ID */
  roleId: string
  /** 角色名 */
  name: string
  /** 角色描述 */
  description?: string
  /** 权限标识列表 */
  permissions: string[]
  /** 固定为 false */
  builtin: boolean
  /** 创建时间 */
  createdAt: string
}
{
  "roleId": "01JD8STK4N8V1Y9AT8X2AGN5B0R",
  "name": "审计员",
  "description": "只读审计检索与导出",
  "permissions": [
    "admin:audit:read",
    "admin:audit:export"
  ],
  "builtin": false,
  "createdAt": "2026-10-14T17:00:00Z"
}

HTTP Code

HTTP Status Meaning Notes
200 成功 返回新角色
400 权限标识无效 含权限目录中不存在的标识
409 角色已存在 同名角色已存在

Response Code

响应使用统一信封 {id, code, messages, result},其 code 字段:

code Meaning Notes
0 成功 返回新角色
2601 角色名已存在 同名角色已存在
2602 权限标识无效 含权限目录中不存在的标识

Examples

POST /api/v1/admin/roles
Authorization: Bearer st_7c1f9e05b28d4a63
Content-Type: application/json

{
  "name": "审计员",
  "description": "只读审计检索与导出",
  "permissions": ["admin:audit:read", "admin:audit:export"]
}
{
  "id": "01JD8STL5P9W2ZAB",
  "code": 0,
  "messages": [],
  "result": {
    "roleId": "01JD8STK4N8V1Y9AT8X2AGN5B0R",
    "name": "审计员",
    "description": "只读审计检索与导出",
    "permissions": ["admin:audit:read", "admin:audit:export"],
    "builtin": false,
    "createdAt": "2026-10-14T17:00:00Z"
  }
}