---
title: "Update workspace group"
method: PUT
path: "/api/workspace/groups/{group_id}"
---

# Update workspace group

`PUT /api/workspace/groups/{group_id}`

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Renames a group, changes its description, or changes the role it grants. Send only the fields you want to change.

Set `role` to `null` to clear it, so the group grants no role. Leave `role` out to keep it. A new role on a custom group applies to every member right away.

A group whose `source` is `idp` gets its name and members from your identity provider, so they can't be changed here. Its role and description can still change. An `idp` group grants its role only while the workspace uses identity-provider groups. Otherwise its role is stored but grants nothing. You can't make a change that removes your own admin access.

The response's `unresolved_count` is always `0`. Read the real count from [List workspace groups](/api-reference/list-workspace-groups).

Groups need the Business plan or higher. Below it, this returns a `402`.

This is limited to 60 requests per minute, shared with the other endpoints that change groups or their members. A signed-in session has its own limit, and every personal access token for the workspace shares one. Some workspaces have a different limit.

<Note>Call this as an owner or admin of the workspace, with a personal access token for that workspace sent as a Bearer token, or from a signed-in session. A read-only token is refused, and workspace API keys aren't accepted.</Note>

## Path parameters

- `group_id` string, required — ID of the group to update. Get it from `id` in [List workspace groups](/api-reference/list-workspace-groups).

## Query parameters

- `workspaceId` string, required — ID of the workspace. With a personal access token, use the token's workspace. Get it from `organization_id` in [Get app](/api-reference/get-app).

## Request body

- UpdateGroupRequest
  - `name` string, nullable — New name, up to 100 characters. An identity-provider group's name can't change.
  - `description` string, nullable — New description, up to 500 characters. An empty string clears it.
  - `role` string, nullable — New role: `admin`, `editor`, `viewer`, or `no_access`. Send `null` to clear it so the group grants no role, or leave it out to keep it.

## Response `200`

The updated group.

- WorkspaceGroupSummary
  - `id` string, required — ID of the group.
  - `name` string, required — Name of the group.
  - `description` string, nullable — Short description of the group, or `null` when it has none.
  - `source` string, required — `custom` for a group created in Base44, or `idp` for one your identity provider sends through SCIM. An `idp` group's name and members come from the identity provider.
  - `role` string, nullable — Role every member gets from the group: `admin`, `editor`, `viewer`, or `no_access`. `null` when the group grants no role.
  - `member_count` integer, required — Number of members.
  - `unresolved_count` integer — Members your identity provider sent who don't have a Base44 account in the workspace yet. Always `0` for a `custom` group.

## Other responses

- `400` — Another custom group already has this name, you tried to rename an identity-provider group, or the change would remove your own admin access.
- `401` — Missing or invalid credentials.
- `402` — The workspace's plan doesn't include groups.
- `403` — You aren't an owner or admin of the workspace, your token is for a different workspace or is read-only, or your credential can't be used on this endpoint.
- `404` — Group not found in this workspace.
- `409` — Your workspace requires an unlocked SSO session.
- `422` — Validation Error
- `429` — Rate limit exceeded.

## Changes

> 26 revisions in range; 1 not diffed.

- **2026-10-06** `9a0e9d0827a1` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/adexad/apis/base44-app-management-api/changes/api/workspace/groups/:group_id/put.md)

---

[API](https://skmtc.dev/adexad/apis/base44-app-management-api.md) · [All operations](https://skmtc.dev/adexad/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adexad/apis/base44-app-management-api/revisions/9a0e9d0827a1?raw)
