---
title: "PUT /public/self-serve/v1/application-instance-permission"
method: PUT
path: "/public/self-serve/v1/application-instance-permission"
tags: ["cli_application-instance-permission_self-serve_v1_9"]
---

# PUT /public/self-serve/v1/application-instance-permission

`PUT /public/self-serve/v1/application-instance-permission`

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

Create or update a ApplicationInstancePermission

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

## Query parameters

- `dryMode` boolean

## Request body

- ApplicationInstancePermissionResourceV1
  - `apiVersion` string, required
  - `kind` 'ApplicationInstancePermission', required
  - `metadata` ApplicationInstancePermissionMetadata, required
    - `application` string, required
    - `appInstance` string, required
    - `name` string, required
  - `spec` ApplicationInstancePermissionSpec, required
    - `resource` Resource, required
      - `type` 'TOPIC' | 'CONSUMER_GROUP' | 'SUBJECT' | 'CONNECTOR' | 'TRANSACTIONAL_ID', required
      - `name` string, required
      - `patternType` 'LITERAL' | 'PREFIXED', required
      - `connectCluster` string
    - `permission` 'READ' | 'WRITE'
    - `userPermission` 'NONE' | 'READ' | 'WRITE'
    - `serviceAccountPermission` 'NONE' | 'READ' | 'WRITE'
    - `grantedTo` string, required

## Response `200`

- ApplicationInstancePermissionApplyResultV1
  - `resource` ApplicationInstancePermissionResourceV1, required
    - `apiVersion` string, required
    - `kind` 'ApplicationInstancePermission', required
    - `metadata` ApplicationInstancePermissionMetadata, required
      - `application` string, required
      - `appInstance` string, required
      - `name` string, required
    - `spec` ApplicationInstancePermissionSpec, required
      - `resource` Resource, required
        - `type` 'TOPIC' | 'CONSUMER_GROUP' | 'SUBJECT' | 'CONNECTOR' | 'TRANSACTIONAL_ID', required
        - `name` string, required
        - `patternType` 'LITERAL' | 'PREFIXED', required
        - `connectCluster` string
      - `permission` 'READ' | 'WRITE'
      - `userPermission` 'NONE' | 'READ' | 'WRITE'
      - `serviceAccountPermission` 'NONE' | 'READ' | 'WRITE'
      - `grantedTo` string, 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 application-instance-permission 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)
