---
title: "PUT /public/iam/v2/user"
method: PUT
path: "/public/iam/v2/user"
tags: ["cli_user_iam_v2_0"]
---

# PUT /public/iam/v2/user

`PUT /public/iam/v2/user`

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

Create or update a User

## Query parameters

- `dryMode` boolean

## Request body

- UserResourceV2
  - `apiVersion` string, required
  - `kind` 'User', required
  - `metadata` UserMetadata, required
    - `name` string, required
    - `lastLoginDate` string, date-time
  - `spec` UserSpec, required
    - `firstName` string
    - `lastName` string
    - `permissions` ResourcePermissions1[]
      - union
        - CLUSTER
          - `name` string, required
          - `permissions` string[]
          - `resourceType` 'PLATFORM' | 'CLUSTER' | 'TOPIC' | 'CONSUMER_GROUP' | 'KAFKA_CONNECT' | 'SUBJECT' | 'KSQLDB', required
        - CONSUMERGROUP1
          - `cluster` string, required
          - `name` string, required
          - `patternType` 'LITERAL' | 'PREFIXED', required
          - `permissions` string[]
          - `resourceType` 'PLATFORM' | 'CLUSTER' | 'TOPIC' | 'CONSUMER_GROUP' | 'KAFKA_CONNECT' | 'SUBJECT' | 'KSQLDB', required
        - KAFKACONNECT
          - `cluster` string, required
          - `kafkaConnect` string, required
          - `name` string, required
          - `patternType` 'LITERAL' | 'PREFIXED', required
          - `permissions` string[]
          - `resourceType` 'PLATFORM' | 'CLUSTER' | 'TOPIC' | 'CONSUMER_GROUP' | 'KAFKA_CONNECT' | 'SUBJECT' | 'KSQLDB', required
        - KSQLDB
          - `cluster` string, required
          - `ksqlDB` string, required
          - `permissions` string[]
          - `resourceType` 'PLATFORM' | 'CLUSTER' | 'TOPIC' | 'CONSUMER_GROUP' | 'KAFKA_CONNECT' | 'SUBJECT' | 'KSQLDB', required
        - PLATFORM
          - `permissions` string[]
          - `resourceType` 'PLATFORM' | 'CLUSTER' | 'TOPIC' | 'CONSUMER_GROUP' | 'KAFKA_CONNECT' | 'SUBJECT' | 'KSQLDB', required
        - SUBJECT1
          - `cluster` string, required
          - `name` string, required
          - `patternType` 'LITERAL' | 'PREFIXED', required
          - `permissions` string[]
          - `resourceType` 'PLATFORM' | 'CLUSTER' | 'TOPIC' | 'CONSUMER_GROUP' | 'KAFKA_CONNECT' | 'SUBJECT' | 'KSQLDB', required
        - TOPIC1
          - `cluster` string, required
          - `name` string, required
          - `patternType` 'LITERAL' | 'PREFIXED', required
          - `permissions` string[]
          - `resourceType` 'PLATFORM' | 'CLUSTER' | 'TOPIC' | 'CONSUMER_GROUP' | 'KAFKA_CONNECT' | 'SUBJECT' | 'KSQLDB', required

## Response `200`

- UserApplyResultV2
  - `resource` UserResourceV2, required
    - `apiVersion` string, required
    - `kind` 'User', required
    - `metadata` UserMetadata, required
      - `name` string, required
      - `lastLoginDate` string, date-time
    - `spec` UserSpec, required
      - `firstName` string
      - `lastName` string
      - `permissions` ResourcePermissions1[]
        - union
          - CLUSTER
            - `name` string, required
            - `permissions` string[]
            - `resourceType` 'PLATFORM' | 'CLUSTER' | 'TOPIC' | 'CONSUMER_GROUP' | 'KAFKA_CONNECT' | 'SUBJECT' | 'KSQLDB', required
          - CONSUMERGROUP1
            - `cluster` string, required
            - `name` string, required
            - `patternType` 'LITERAL' | 'PREFIXED', required
            - `permissions` string[]
            - `resourceType` 'PLATFORM' | 'CLUSTER' | 'TOPIC' | 'CONSUMER_GROUP' | 'KAFKA_CONNECT' | 'SUBJECT' | 'KSQLDB', required
          - KAFKACONNECT
            - `cluster` string, required
            - `kafkaConnect` string, required
            - `name` string, required
            - `patternType` 'LITERAL' | 'PREFIXED', required
            - `permissions` string[]
            - `resourceType` 'PLATFORM' | 'CLUSTER' | 'TOPIC' | 'CONSUMER_GROUP' | 'KAFKA_CONNECT' | 'SUBJECT' | 'KSQLDB', required
          - KSQLDB
            - `cluster` string, required
            - `ksqlDB` string, required
            - `permissions` string[]
            - `resourceType` 'PLATFORM' | 'CLUSTER' | 'TOPIC' | 'CONSUMER_GROUP' | 'KAFKA_CONNECT' | 'SUBJECT' | 'KSQLDB', required
          - PLATFORM
            - `permissions` string[]
            - `resourceType` 'PLATFORM' | 'CLUSTER' | 'TOPIC' | 'CONSUMER_GROUP' | 'KAFKA_CONNECT' | 'SUBJECT' | 'KSQLDB', required
          - SUBJECT1
            - `cluster` string, required
            - `name` string, required
            - `patternType` 'LITERAL' | 'PREFIXED', required
            - `permissions` string[]
            - `resourceType` 'PLATFORM' | 'CLUSTER' | 'TOPIC' | 'CONSUMER_GROUP' | 'KAFKA_CONNECT' | 'SUBJECT' | 'KSQLDB', required
          - TOPIC1
            - `cluster` string, required
            - `name` string, required
            - `patternType` 'LITERAL' | 'PREFIXED', required
            - `permissions` string[]
            - `resourceType` 'PLATFORM' | 'CLUSTER' | 'TOPIC' | 'CONSUMER_GROUP' | 'KAFKA_CONNECT' | 'SUBJECT' | 'KSQLDB', required
  - `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 user 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)
