---
title: "Update Protocol Group"
method: PATCH
path: "/protocol_groups/{group_id}"
tags: ["protocol_groups"]
---

# Update Protocol Group

`PATCH /protocol_groups/{group_id}`

Update a protocol group's name and/or description.

Renaming a group affects every protocol in it, since membership is by
reference rather than by copied name.

Parameters
----------
group_id : str
    ID of the group to update.
body : UpdateProtocolGroupBody
    Fields to update. Omitted fields are left unchanged; an explicit
    ``description: null`` clears the description.

Returns
-------
ProtocolGroup
    The updated group.

Raises
------
NotFoundError
    If the group does not exist or belongs to another organization.
ConflictError
    If the new name collides with another group in the same project.

## Path parameters

- `group_id` string, required

## Request body

- UpdateProtocolGroupBody — Request body for updating a protocol group. All fields are optional (PATCH semantics). ``description`` is deliberately distinguishable from "absent": passing ``null`` clears it, while omitting it leaves the stored value alone.
  - `name` string, nullable — New name for the group
  - `description` string, nullable — New description

## Response `200`

Successful Response

- ProtocolGroup — Database entity for a protocol group.
  - `id` string, nullable — Unique identifier for the group
  - `name` string, required — Name of the group, unique within the project
  - `description` string, nullable — Optional note on what relates the protocols in this group
  - `organization_id` string, required — ID of the organization that owns this group
  - `project_id` string, required — ID of the project that owns this group
  - `created_by` string, nullable — User ID of the user who created this group
  - `created_at` string, nullable — When the group was created
  - `updated_at` string, nullable — When the group was last updated
  - `protocol_count` integer, nullable — Number of protocols in this group. Present on list responses, None when the group is fetched on its own.
  - `created_by_email` string, nullable — Email of the user who created this group

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/ionworks/apis/fastapi.md) · [All operations](https://skmtc.dev/ionworks/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ionworks/fastapi/revisions/7337a3cbdaf2/schema)
