---
title: "Create Protocol Group"
method: POST
path: "/protocol_groups"
tags: ["protocol_groups"]
---

# Create Protocol Group

`POST /protocol_groups`

Create a protocol group in a project.

Parameters
----------
body : CreateProtocolGroupBody
    Group creation data.

Returns
-------
ProtocolGroup
    The created group.

Raises
------
ConflictError
    If the project already has a group with this name (case-insensitive).
AppError
    If the insert returns no row.

## Request body

- CreateProtocolGroupBody — Request body for creating a protocol group.
  - `name` string, required — Name of the group, unique within the project
  - `description` string, nullable — Optional description
  - `project_id` string, required — Project that will own the group

## Response `201`

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)
