openapi: 3.0.1 info: title: Conduktor Certificates Interceptors 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: Interceptors description: Gateway interceptors for data security, quality, and governance paths: /gateway/v2/interceptor: get: operationId: listInterceptors tags: - Interceptors summary: List Gateway interceptors security: - basicAuth: [] responses: '200': description: Interceptors. content: application/json: schema: type: array items: $ref: '#/components/schemas/Interceptor' put: operationId: upsertInterceptor tags: - Interceptors summary: Create or update a Gateway interceptor description: Creates or updates an interceptor that applies a plugin (for example data quality, encryption, safeguard, or chargeback) to Kafka traffic flowing through the Gateway, optionally scoped to a virtual cluster, group, or username. security: - basicAuth: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Interceptor' responses: '200': description: Interceptor created or updated. components: schemas: Interceptor: type: object properties: apiVersion: type: string example: gateway/v2 kind: type: string example: Interceptor metadata: type: object properties: name: type: string scope: type: object properties: vCluster: type: string group: type: string username: type: string spec: type: object properties: comment: type: string pluginClass: type: string example: io.conduktor.gateway.interceptor.safeguard.ProduceRateLimitingPolicyPlugin priority: type: integer config: type: object additionalProperties: true 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.