> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://help.getzep.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://help.getzep.com/_mcp/server.

# Update a managed UserGroup

PATCH https://api.getzep.com/api/v2/user-groups/{groupUUID}
Content-Type: application/json

Reference: https://help.getzep.com/sdk-reference/user-groups/update

## Authentication

- `Authorization` header (required) (prefixed with ` Api-Key  `) — Type "Api-Key" followed by a space and JWT token.

## Request

### Path parameters

- `groupUUID` (string, required) — UserGroup UUID

### Query parameters

- `projectId` (string, required) — Project UUID

### Body (application/json)

This endpoint expects an apidata.UpdateUserGroupRequest.

- `expected_version` (integer, required)
- `description` (string, optional)
- `name` (string, optional)

## Response

### 200

OK

- `attached_policy_set_count` (integer, optional)
- `created_at` (string, optional)
- `description` (string, optional)
- `kind` (enum, optional)
  - Allowed values: `managed`, `virtual`
- `member_count` (integer, optional)
- `name` (string, optional)
- `project_uuid` (string, optional)
- `updated_at` (string, optional)
- `uuid` (string, optional)
- `version` (integer, optional)

## Errors

### 400 Bad Request Error

Bad Request

- `message` (string, optional)

### 403 Forbidden Error

Forbidden

- `message` (string, optional)

### 404 Not Found Error

Not Found

- `message` (string, optional)

### 409 Conflict Error

Conflict

- `message` (string, optional)

## Examples

**Request**

```json
{
  "expected_version": 1
}
```

**Response**

```json
{
  "attached_policy_set_count": 1,
  "created_at": "string",
  "description": "string",
  "kind": "managed",
  "member_count": 1,
  "name": "string",
  "project_uuid": "string",
  "updated_at": "string",
  "uuid": "string",
  "version": 1
}
```