API 参考 / project-members

恢复已停用的项目角色

POST /api/v1/projects/{projectId}/roles/{roleId}/enable · enableProjectRole

把 status=disabled 的角色改回 active。需要 manage_project_roles。幂等:已是 active 直接回 200。

为什么必须有这个端点(B-00316):停用是个单向门——权限设置页按 status === "active" 过滤角色,一旦经 API 停用过某个角色,它就从 UI 里彻底消失, 而合同里此前根本没有恢复入口,产品面再也没有任何补救路径。 「能停用、停用后看不见、也取消不了」不该存在。

恢复不动任何成员关系:停用时被迁走的成员不会自动迁回(那是另一次显式的成员变更)。 角色的权限与模块等级原样保留(停用只改 status,不清权限)。写审计。

鉴权:项目 API Token(Authorization: Bearer wfp_…)。详见 Agent 接入。

参数

projectId(必填)
string
roleId(必填)
string

响应字段 · 200

id(必填)
string
name(必填)
string
description
string
permissions(必填)
string[] —— 项目治理能力项;业务模块读写权限已迁到 moduleAccess,不再由本字段承载。
moduleAccess(必填)
ModuleAccess —— 角色对六个业务模块的访问等级;六键均必填,不允许部分下发。词表与项目侧边导航一一对应(B-00186)。
moduleAccess.requirements(必填)
enum;取值:none / read / edit / manage
moduleAccess.rooms(必填)
enum;取值:none / read / edit / manage
moduleAccess.schedule(必填)
enum;取值:none / read / edit / manage
moduleAccess.bugs(必填)
enum;取值:none / read / edit / manage
moduleAccess.milestones(必填)
enum;取值:none / read / edit / manage
moduleAccess.documents(必填)
enum;取值:none / read / edit / manage
status(必填)
enum;取值:active / disabled
isSystemDefault(必填)
boolean

错误

请求示例(curl)

curl -X POST "https://你的项目.workflow.games/api/v1/projects/{projectId}/roles/{roleId}/enable" \
  -H "Authorization: Bearer wfp_…"

响应示例

HTTP/1.1 200
{
  "id": "018f3c2e-0000-7000-8000-000000000000",
  "name": "示例标题",
  "permissions": [
    "view_project"
  ],
  "moduleAccess": {
    "requirements": "none",
    "rooms": "none",
    "schedule": "none",
    "bugs": "none",
    "milestones": "none",
    "documents": "none"
  },
  "status": "active",
  "isSystemDefault": true
}

合同真值:OpenAPI 3.1(0.1.0)。

相关:Agent 接入指南 · 使用指南 · API 参考索引

Workflow 正在加载…