Streamkap Topics API

Manage underlying Kafka topics.

OpenAPI Specification

streamkap-topics-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Streamkap Authentication Topics API
  description: Representative specification of the Streamkap REST API for provisioning and operating real-time streaming ETL / change data capture (CDC) infrastructure built on Apache Kafka and Apache Flink. Covers sources, destinations, pipelines, connectors, transforms, topics, tags, Kafka access, and authentication. Endpoints and shapes are modeled from the public Streamkap API reference; consult docs.streamkap.com for the authoritative, complete contract.
  termsOfService: https://streamkap.com/terms
  contact:
    name: Streamkap Support
    url: https://streamkap.com/contact
  version: '1.0'
servers:
- url: https://api.streamkap.com/api
  description: Streamkap production API
security:
- bearerAuth: []
tags:
- name: Topics
  description: Manage underlying Kafka topics.
paths:
  /topics:
    get:
      operationId: listTopics
      tags:
      - Topics
      summary: List all topics with filtering.
      responses:
        '200':
          description: A list of topics.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Topic'
    post:
      operationId: createTopic
      tags:
      - Topics
      summary: Create a new Kafka topic.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TopicInput'
      responses:
        '201':
          description: Topic created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Topic'
  /topics/{id}/messages:
    parameters:
    - $ref: '#/components/parameters/Id'
    get:
      operationId: getTopicMessages
      tags:
      - Topics
      summary: Get messages for a topic.
      responses:
        '200':
          description: Topic messages.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
components:
  schemas:
    TopicInput:
      type: object
      required:
      - name
      properties:
        name:
          type: string
        partitions:
          type: integer
        replicationFactor:
          type: integer
    Topic:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        partitions:
          type: integer
        replicationFactor:
          type: integer
  parameters:
    Id:
      name: id
      in: path
      required: true
      description: Resource identifier.
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'JWT access token obtained from POST /authentication/access-token by exchanging a client-id and secret (or a project key). Passed as Authorization: Bearer <token>.'