# update_workspace_role

Source: https://modulify.ai/docs/mcp/workspaces/update-workspace-role

Changes the name or the permissions of a custom role, for everyone who holds it at once.

- Title: Change a role
- Scope: `workspaces:write`
- Access: Makes changes

The name and the permission list are both required on every call, even when one of them is not changing, so send the current value of the one you are not changing. The permission list replaces the old one rather than adding to it, so send the full set.

Everyone on that role is affected at once, so read `get_role_member_counts` first to see how many people that is. `workspace.delete` and `billing.manage` stay with the owner and are not accepted, and an empty permission list is refused.

It needs the **Manage roles** permission (`roles.manage`) and the workspace on Pro or Enterprise, otherwise it is refused with `You must upgrade to the Pro plan to manage roles!` See [Members and roles](https://modulify.ai/docs/reference/members-and-roles#create-a-custom-role).

## Inputs

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `workspaceId` | string | Yes | The workspace id. |
| `roleId` | string | Yes | The role id. |
| `name` | string | Yes | The role name, 2 to 32 characters. Required on every call even when it is not changing. |
| `permissions` | array of strings | Yes | The full new permission set, which replaces the old one rather than adding to it, with at least one of `workspace.access`, `workspace.update`, `members.manage`, `roles.manage`, `projects.delete`, `projects.transfer`, `projects.move`, `projects.domains`, `folders.edit`, `folders.delete`, `folders.move` and `api.access`. Required on every call even when it is not changing. |