Conduktor Interceptors API

Gateway interceptors for data security, quality, and governance

OpenAPI Specification

conduktor-interceptors-api-openapi.yml Raw ↑
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.