---
search:
  tags:
    - User groups
    - POST
seo:
  description: >-
    Creates a user group. Scoped to your integration's institution via Basic
    Auth… Reference for the POST /users/user-groups endpoint in the Fuxam API
    v4.
sidebar:
  label: Create a user group
  badge: POST
title: Create a user group
type: openapi-operation
---
Creates a user group. Scoped to your integration's institution via Basic Auth credentials.

`POST /users/user-groups`

**Request body** (`application/json`, required)

- `name` (string, required)
- `code` (string)
- `color` (string)
- `additionalInformation` (string)

Request body example:

```json
{
  "name": "string",
  "code": "string",
  "color": "string",
  "additionalInformation": "string"
}
```

**Responses**

- `201` — Group created
- `400` — Bad Request
- `401` — Unauthorized
- `409` — Conflict — duplicate email or membership code (body includes \`existingUserId\` when known), a time-tracking session that is already running (\`activeSession\`), a time-tracking interval that overlaps an existing log (\`conflictingLog\`), idempotency key reused with a different body (\`idempotency\_key\_reused\`), or concurrent request with the same key still in progress (\`idempotency\_key\_in\_progress\`)
- `429` — Too Many Requests — 1000 requests per minute per institution. Includes \`X-RateLimit-Limit\`, \`X-RateLimit-Remaining\`, \`X-RateLimit-Reset\` (ISO-8601), and \`Retry-After\` (seconds).
- `500` — Internal Server Error

Response example, 201:

```json
{
  "data": {
    "id": "ug_001",
    "name": "Teaching Assistants",
    "code": "TA-2024",
    "color": "#3B82F6",
    "additionalInformation": "Fall semester cohort",
    "institutionId": "inst_123",
    "status": "ACTIVE",
    "createdAt": "2026-01-01T00:00:00.000Z",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  "meta": {
    "requestId": "req_abc123",
    "timestamp": "2026-06-26T00:00:00.000Z",
    "version": "v4"
  }
}
```
