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(必填)roleId(必填)id(必填)name(必填)descriptionpermissions(必填)moduleAccess(必填)moduleAccess.requirements(必填)moduleAccess.rooms(必填)moduleAccess.schedule(必填)moduleAccess.bugs(必填)moduleAccess.milestones(必填)moduleAccess.documents(必填)status(必填)isSystemDefault(必填)403:Problem 错误响应404:Problem 错误响应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 参考索引