---
title: "PUT /public/self-serve/v1/application-group"
method: PUT
path: "/public/self-serve/v1/application-group"
tags: ["cli_application-group_self-serve_v1_10"]
---

# PUT /public/self-serve/v1/application-group

`PUT /public/self-serve/v1/application-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/public/self-serve/v1/application-group`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/conduktor/apis/conduktor-console-api/docs/public/self-serve/v1/application-group/put.ts> (a function with typed inputs; its response is checked against the schema)

Create or update a ApplicationGroup

**Requires a paid license.** Returns 403 Forbidden on Free plan.

## Query parameters

- `dryMode` boolean

## Request body

- ApplicationGroupResourceV1
  - `apiVersion` string, required
  - `kind` 'ApplicationGroup', required
  - `metadata` ApplicationGroupMetadata, required
    - `application` string, required
    - `name` string, required
  - `spec` ApplicationGroupSpec, required
    - `displayName` string, required
    - `description` string
    - `instancePermissions` InstancePermissionDto[]
      - `appInstance` string, required
      - `permissions` string[]
    - `permissions` ApplicationResourcePermissionDtoAny[]
      - union
        - CONNECTOR
          - `appInstance` string, required
          - `patternType` 'LITERAL' | 'PREFIXED', required
          - `connectCluster` string, required
          - `name` string, required
          - `permissions` string[]
          - `resourceType` 'CONNECTOR', required
        - CONSUMERGROUP
          - `appInstance` string, required
          - `patternType` 'LITERAL' | 'PREFIXED', required
          - `name` string, required
          - `permissions` string[]
          - `resourceType` 'CONSUMER_GROUP', required
        - SUBJECT
          - `appInstance` string, required
          - `patternType` 'LITERAL' | 'PREFIXED', required
          - `name` string, required
          - `permissions` string[]
          - `resourceType` 'SUBJECT', required
        - TOPIC
          - `appInstance` string, required
          - `patternType` 'LITERAL' | 'PREFIXED', required
          - `name` string, required
          - `permissions` string[]
          - `resourceType` 'TOPIC', required
    - `members` string[]
    - `externalGroups` string[]
    - `externalGroupRegex` string[]
    - `membersFromExternalGroups` string[]

## Response `200`

- ApplicationGroupApplyResultV1
  - `resource` ApplicationGroupResourceV1, required
    - `apiVersion` string, required
    - `kind` 'ApplicationGroup', required
    - `metadata` ApplicationGroupMetadata, required
      - `application` string, required
      - `name` string, required
    - `spec` ApplicationGroupSpec, required
      - `displayName` string, required
      - `description` string
      - `instancePermissions` InstancePermissionDto[]
        - `appInstance` string, required
        - `permissions` string[]
      - `permissions` ApplicationResourcePermissionDtoAny[]
        - union
          - CONNECTOR
            - `appInstance` string, required
            - `patternType` 'LITERAL' | 'PREFIXED', required
            - `connectCluster` string, required
            - `name` string, required
            - `permissions` string[]
            - `resourceType` 'CONNECTOR', required
          - CONSUMERGROUP
            - `appInstance` string, required
            - `patternType` 'LITERAL' | 'PREFIXED', required
            - `name` string, required
            - `permissions` string[]
            - `resourceType` 'CONSUMER_GROUP', required
          - SUBJECT
            - `appInstance` string, required
            - `patternType` 'LITERAL' | 'PREFIXED', required
            - `name` string, required
            - `permissions` string[]
            - `resourceType` 'SUBJECT', required
          - TOPIC
            - `appInstance` string, required
            - `patternType` 'LITERAL' | 'PREFIXED', required
            - `name` string, required
            - `permissions` string[]
            - `resourceType` 'TOPIC', required
      - `members` string[]
      - `externalGroups` string[]
      - `externalGroupRegex` string[]
      - `membersFromExternalGroups` string[]
  - `upsertResult` 'Created' | 'Updated' | 'NotChanged', required

## Other responses

- `400`: The request is not valid
- `401`: The user is not authenticated
- `403`: The user doesn't have sufficient privilege to do this operation
- `404`: No application-group with this technical id exists
- `409`: The request does not match one of the business rules
- `500`: An unexpected error occurred in the server

---

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