Confluent Topics API

The Topics API from Confluent — 2 operation(s) for topics.

OpenAPI Specification

confluent-topics-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Confluent Cloud Kafka REST ACLs Topics API
  version: v3
  description: Best-effort OpenAPI 3.1 description of a subset of the Confluent Cloud Kafka REST API (v3) and Cloud Management API as published at https://docs.confluent.io/. Authoritative, full reference lives in Confluent's per-resource API documentation; this spec covers commonly used cluster, topic, partition, consumer group, and ACL operations together with the documented HTTP Basic (API key) authentication scheme.
  contact:
    name: Confluent Documentation
    url: https://docs.confluent.io/
  license:
    name: Confluent Community License / Apache 2.0
    url: https://www.confluent.io/confluent-community-license/
servers:
- url: https://api.confluent.cloud
  description: Confluent Cloud control plane
- url: https://{kafka_cluster_host}
  description: Confluent Cloud Kafka REST endpoint for a specific cluster
  variables:
    kafka_cluster_host:
      default: pkc-xxxxx.region.provider.confluent.cloud
      description: Kafka cluster bootstrap host portion of the REST endpoint
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Topics
paths:
  /kafka/v3/clusters/{cluster_id}/topics:
    parameters:
    - $ref: '#/components/parameters/ClusterId'
    get:
      tags:
      - Topics
      summary: List topics in a cluster
      operationId: listTopics
      responses:
        '200':
          description: Topic list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TopicList'
    post:
      tags:
      - Topics
      summary: Create a topic
      operationId: createTopic
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TopicCreateRequest'
      responses:
        '201':
          description: Topic created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Topic'
  /kafka/v3/clusters/{cluster_id}/topics/{topic_name}:
    parameters:
    - $ref: '#/components/parameters/ClusterId'
    - $ref: '#/components/parameters/TopicName'
    get:
      tags:
      - Topics
      summary: Get topic metadata
      operationId: getTopic
      responses:
        '200':
          description: Topic
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Topic'
    delete:
      tags:
      - Topics
      summary: Delete a topic
      operationId: deleteTopic
      responses:
        '204':
          description: Deleted
components:
  schemas:
    TopicCreateRequest:
      type: object
      required:
      - topic_name
      properties:
        topic_name:
          type: string
        partitions_count:
          type: integer
        replication_factor:
          type: integer
        configs:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              value:
                type: string
    TopicList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Topic'
    Topic:
      type: object
      properties:
        topic_name:
          type: string
        partitions_count:
          type: integer
        replication_factor:
          type: integer
        is_internal:
          type: boolean
  parameters:
    ClusterId:
      name: cluster_id
      in: path
      required: true
      schema:
        type: string
    TopicName:
      name: topic_name
      in: path
      required: true
      schema:
        type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication using a Confluent Cloud API key (ID:secret)
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 bearer token (Confluent STS, external OAuth, or partner token)