---
title: "PUT /gateway/v2/group"
method: PUT
path: "/gateway/v2/group"
tags: ["cli_gateway-group_gateway_v2_11"]
---

# PUT /gateway/v2/group

`PUT /gateway/v2/group`

## Request

- Base URL: `https://developers.conduktor.io` (the document declares no server; this is the origin it was published from)
- URL: `https://developers.conduktor.io/gateway/v2/group`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/conduktor/apis/conduktor-gateway-api/docs/gateway/v2/group/put.ts> (a function with typed inputs; its response is checked against the schema)

[![Generally Available](https://img.shields.io/badge/Lifecycle-Generally%20Available-blue)](#tag/Versioning)

Upsert a group

## Query parameters

- `dryMode` boolean

## Request body

- GatewayGroup
  - `kind` string, required: The kind of the group
  - `apiVersion` string, required: The api version of the group
  - `metadata` GroupMetadata, required: The metadata of the group
    - `name` string, ^[a-zA-Z0-9_-]{1,100}$, required: The name of the group
  - `spec` GroupSpec, required: The specification of the group
    - `members` GatewayServiceAccountId[]: The service accounts belonging to the group
      - `vCluster` string: The name of the virtual cluster the service account belongs to. If not provided, the service account will be created in the default `passthrough` virtual cluster.
      - `name` string, required: The name of the service account (identifier)
    - `externalGroups` string[]: The external groups (LDAP, OIDC...) mapped on the group

## Response `200`

- ApplyResultGatewayGroup
  - `resource` GatewayGroup, required
    - `kind` string, required: The kind of the group
    - `apiVersion` string, required: The api version of the group
    - `metadata` GroupMetadata, required: The metadata of the group
      - `name` string, ^[a-zA-Z0-9_-]{1,100}$, required: The name of the group
    - `spec` GroupSpec, required: The specification of the group
      - `members` GatewayServiceAccountId[]: The service accounts belonging to the group
        - `vCluster` string: The name of the virtual cluster the service account belongs to. If not provided, the service account will be created in the default `passthrough` virtual cluster.
        - `name` string, required: The name of the service account (identifier)
      - `externalGroups` string[]: The external groups (LDAP, OIDC...) mapped on the group
  - `upsertResult` 'Created' | 'NotChanged' | 'Updated', required: The result of the upsert operation (created, updated, not changed)

## Other responses

- `400`: The request is not valid
- `401`: The given credentials are not valid
- `403`: The required feature is not included in the current license
- `404`: The group contains a service account that does not exist
- `500`: An unexpected error occurred in the server

---

[API](https://skmtc.dev/conduktor/apis/conduktor-gateway-api.md) - [All operations](https://skmtc.dev/conduktor/apis/conduktor-gateway-api/llms.txt) - [OpenAPI document](https://skmtc.dev/conduktor/apis/conduktor-gateway-api/revisions/73ad742aa630?raw)
