> You are reading the Docusign Developer Documentation. For clean Markdown of any page, append .md to the page URL.
>
> Documentation indexes by section:
> - APIs and SDKs: https://docusign.docs.buildwithfern.com/docs/llms.txt
> - Platform 101: https://docusign.docs.buildwithfern.com/platform/llms.txt
> - Extension Apps: https://docusign.docs.buildwithfern.com/extension-apps/llms.txt
> - Docusign CLI: https://docusign.docs.buildwithfern.com/docusign-cli/llms.txt
>
> Authentication (OAuth, JWT Grant, M2M): https://docusign.docs.buildwithfern.com/platform/auth
> Webhooks and Connect: https://docusign.docs.buildwithfern.com/platform/webhooks
>
> OpenAPI specifications: https://docusign.docs.buildwithfern.com/openapi.json
> MCP server: https://docusign.docs.buildwithfern.com/_mcp/server

# Updates the specified user's role

PUT https://api-d.docusign.com/v1/accounts/{accountId}/workspaces/{workspaceId}/users/{userId}
Content-Type: application/json

**Note:** This endpoint is in beta.

This operation updates the specified user's role in the workspace. Users within the account are considered "Internal" and may be assigned any role. Users outside the account are considered "External" and may only be assigned "External" roles.

[Required authentication scopes](/docs/workspaces-api/auth/): `dtr.rooms.write`

Reference: https://developers.docusign.com/docs/workspaces-api/reference/workspaces/workspaceusers/updateworkspaceuser

## Authentication

- `Authorization` header (bearer token, required) — JWT Bearer token from Docusign authorization server

## Servers

- `https://api-d.docusign.com` (Demo, default)
- `https://api.docusign.com` (Production)

## Request

### Path parameters

- `accountId` (string, required) — The ID of the account
- `workspaceId` (string, required) — The ID of the workspace
- `userId` (string, required) — The ID of the user to update

### Body (application/json)

This endpoint expects a WorkspaceUserForUpdate.

- `role_id` (string, optional) — The ID of the role to update to

## Response

### 200

The workspace user was successfully updated

- `role_id` (string, optional) — The ID of the role assigned to the user

## Errors

### 400 Bad Request Error

Bad request. See ErrorCode and Message for details

- `message` (string, optional, nullable) — A brief message describing the error condition
- `errorCode` (string, optional, nullable) — A standardized code that generalizes the specific error

### 401 Unauthorized Error

Not authorized to make this request

- `message` (string, optional, nullable) — A brief message describing the error condition
- `errorCode` (string, optional, nullable) — A standardized code that generalizes the specific error

### 500 Internal Server Error

Internal Server Error

- `message` (string, optional, nullable) — A brief message describing the error condition
- `errorCode` (string, optional, nullable) — A standardized code that generalizes the specific error

## Examples

**Request**

```json
{}
```

**Response**

```json
{
  "role_id": "4a8e1b7c-2d5f-4c3a-9b6e-1f8a2c4d6e9b"
}
```