Streamkap Destinations API

Configure and manage sink destinations.

OpenAPI Specification

streamkap-destinations-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Streamkap Authentication Destinations 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: Destinations
  description: Configure and manage sink destinations.
paths:
  /destinations:
    get:
      operationId: listDestinations
      tags:
      - Destinations
      summary: List all destinations with filtering.
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          description: A list of destinations.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Destination'
    post:
      operationId: createDestination
      tags:
      - Destinations
      summary: Create a new destination.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DestinationInput'
      responses:
        '201':
          description: Destination created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Destination'
  /destinations/{id}:
    parameters:
    - $ref: '#/components/parameters/Id'
    get:
      operationId: getDestination
      tags:
      - Destinations
      summary: Retrieve specific destination details.
      responses:
        '200':
          description: Destination details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Destination'
    put:
      operationId: updateDestination
      tags:
      - Destinations
      summary: Update an existing destination.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DestinationInput'
      responses:
        '200':
          description: Destination updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Destination'
    delete:
      operationId: deleteDestination
      tags:
      - Destinations
      summary: Delete a destination.
      responses:
        '204':
          description: Destination deleted.
components:
  schemas:
    DestinationInput:
      type: object
      required:
      - name
      - connector
      - config
      properties:
        name:
          type: string
        connector:
          type: string
        config:
          type: object
          additionalProperties: true
    Destination:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        connector:
          type: string
          description: Destination connector type, e.g. snowflake, databricks, bigquery, clickhouse.
        status:
          type: string
          enum:
          - PENDING
          - ACTIVE
          - PAUSED
          - STOPPED
          - FAILED
        config:
          type: object
          additionalProperties: true
  parameters:
    Limit:
      name: limit
      in: query
      required: false
      schema:
        type: integer
        default: 20
    Page:
      name: page
      in: query
      required: false
      schema:
        type: integer
        default: 1
    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>.'