# group_save

Create or Update Group

## Beschreibung

Upserts a member group. On create, name is required; on
update, only the keys you pass are changed (name +
description + archived). Name must be unique per account
among active groups — archiving a group frees its name
for reuse.

## Zugriff

Zugriffsprofil: `gated`. Module: `none`.
Die Freigabe im Profil ersetzt keine Account-, Workspace- oder Rollenberechtigung.

## Parameter

| Name | Typ | Pflicht | Beschreibung |
| --- | --- | --- | --- |
| `account_id` | string | Ja |  |
| `id` | string | Nein | Group prefix ID. Omit to create. |
| `name` | string | Nein | Required on create. |
| `description` | string / null | Nein |  |
| `archived` | boolean | Nein | true → archive; false → unarchive. |

## Eingabeschema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "account_id": {
      "type": "string"
    },
    "id": {
      "type": "string",
      "description": "Group prefix ID. Omit to create."
    },
    "name": {
      "type": "string",
      "description": "Required on create."
    },
    "description": {
      "type": [
        "string",
        "null"
      ]
    },
    "archived": {
      "type": "boolean",
      "description": "true → archive; false → unarchive."
    }
  },
  "required": [
    "account_id"
  ],
  "type": "object"
}
```

## Ausgabeschema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "group": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "archived": {
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "name",
        "archived"
      ]
    }
  },
  "required": [
    "group"
  ],
  "type": "object"
}
```
