---
title: "Update Workspace User Roles"
method: PATCH
path: "/api/workspace/{workspace_ext_id}/users"
tags: ["workspace"]
---

# Update Workspace User Roles

`PATCH /api/workspace/{workspace_ext_id}/users`

Update user roles in a workspace (bulk operation). Only workspace owners can update roles.
Returns the full WorkspaceUserResponse for each successfully updated user.

## Path parameters

- `workspace_ext_id` string, required

## Request body

- UpdateWorkspaceUserRolesRequest — Request to update user roles in a workspace (PATCH /workspace/{id}/users). All specified users are updated to the same role.
  - `user_ext_ids` string[], required
  - `role` 'owner' | 'collaborator' | 'guest', required — Role of a user within a workspace.

## Response `200`

Successful Response

- WorkspaceUserResponse[]
  - `user` UserResponse, required — Standard user representation used across all endpoints. Used for: login response, workspace users, contacts (when registered).
    - `external_id` string, required
    - `email` string, required
    - `given_name` string, required
    - `family_name` string, required
    - `picture` string, nullable
    - `encryption_public_key` string, required
  - `role` 'owner' | 'collaborator' | 'guest', required — Role of a user within a workspace.
  - `joined_at` string, date-time, required
  - `conversation_count` integer
  - `document_count` integer

## Other responses

- `422` — Validation Error

## Changes

- **2026-01-17** `b91e4b449d56` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/arbicity/apis/arbi/changes/api/workspace/:workspace_ext_id/users/patch.md)

---

[API](https://skmtc.dev/arbicity/apis/arbi.md) · [All operations](https://skmtc.dev/arbicity/apis/arbi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/arbicity/arbi/revisions/1f956ac3d1c1/schema)
