---
title: "Create group"
method: POST
path: "/api/v1/groups"
tags: ["groups"]
---

# Create group

`POST /api/v1/groups`

Create a new group.

Group names must be unique within the client.

RLS: Filtered to current client (ClientRLSDB).

Raises:
    GroupNameExistsError: If a group with this name already exists (409)

## Request body

- CreateGroupRequest — Request model for creating a group.
  - `description` string, nullable — Human-readable group description
  - `name` string, required — Unique group name within the client

## Response `201`

Successful Response

- GroupDetailResponse — Response model for a single group (with full tenant list).
  - `created_at` string, date-time, required — Creation timestamp
  - `description` string, nullable, required — Group description
  - `id` string, uuid, required — Group ID
  - `name` string, required — Group name
  - `tenants` TenantInfo[], required — Tenants in this group
    - `id` string, uuid, required — Tenant ID
    - `name` string, nullable, required — Human-readable tenant name
    - `tenant_key` string, required — Unique tenant identifier
  - `updated_at` string, date-time, required — Last update timestamp

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `409` — Conflict
- `422` — Validation Error

## Changes

- **2026-01-29** `5f4f08ff6556` — 1 warning, 4 info
  - removed the optional property `detail` from the response with the `422` status
  - added the optional property `errors` to the response with the `422` status
  - added the required property `code` to the response with the `422` status
  - added the required property `message` to the response with the `422` status
  - …1 more

[Change history](https://skmtc.dev/kater-ai/apis/kater-api/changes/api/v1/groups/post.md)

---

[API](https://skmtc.dev/kater-ai/apis/kater-api.md) · [All operations](https://skmtc.dev/kater-ai/apis/kater-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kater-ai/kater-api/revisions/d2a2a2d0775e/schema)
