openapi: 3.0.1 info: title: Conduktor Certificates Users API description: Unified specification of the Conduktor REST API surface, covering the Conduktor Console API (clusters, certificates, users, groups, RBAC permissions, and declarative Self-Service resources) and the Conduktor Gateway API (interceptors, virtual clusters, service accounts, and tokens). Console endpoints authenticate with an admin-generated Bearer API key; Gateway admin endpoints authenticate with Basic auth. Host names are deployment-specific. termsOfService: https://www.conduktor.io/terms-and-conditions/ contact: name: Conduktor Support url: https://www.conduktor.io/contact/ version: '1.0' servers: - url: https://{consoleHost} description: Conduktor Console deployment host variables: consoleHost: default: localhost:8080 description: Host and port of your Conduktor Console deployment - url: https://{gatewayAdminHost}:8888 description: Conduktor Gateway admin API host variables: gatewayAdminHost: default: localhost description: Host of your Conduktor Gateway admin endpoint tags: - name: Users description: Manage organization users in Console paths: /public/iam/v2/user: get: operationId: listUsers tags: - Users summary: List organization users security: - bearerAuth: [] responses: '200': description: Users. content: application/json: schema: type: array items: $ref: '#/components/schemas/User' /public/iam/v2/user/{userEmail}: put: operationId: upsertUser tags: - Users summary: Create or update a user and their group membership security: - bearerAuth: [] parameters: - name: userEmail in: path required: true schema: type: string format: email requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/User' responses: '200': description: User created or updated. delete: operationId: deleteUser tags: - Users summary: Delete a user security: - bearerAuth: [] parameters: - name: userEmail in: path required: true schema: type: string format: email responses: '204': description: User deleted. components: schemas: Permission: type: object properties: resourceType: type: string description: Kafka resource type the permission applies to. example: TOPIC name: type: string description: Topic or resource name or pattern. example: project-a-* patternType: type: string enum: - LITERAL - PREFIXED cluster: type: string description: Cluster id, or omitted/'*' for all clusters. permissions: type: array items: type: string example: - topicViewConfig - topicConsume - topicProduce User: type: object properties: apiVersion: type: string example: iam/v2 kind: type: string example: User metadata: type: object properties: name: type: string format: email spec: type: object properties: firstName: type: string lastName: type: string permissions: type: array items: $ref: '#/components/schemas/Permission' securitySchemes: bearerAuth: type: http scheme: bearer description: 'Console API key generated by an admin in Settings > API Keys, passed as Authorization: Bearer $ADMIN_API_KEY.' basicAuth: type: http scheme: basic description: Gateway admin credentials (GATEWAY_ADMIN_API_USERS), passed as HTTP Basic authentication to the Gateway admin API.