Streamkap Transforms API

Deploy and manage in-stream transforms.

OpenAPI Specification

streamkap-transforms-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Streamkap Authentication Transforms 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: Transforms
  description: Deploy and manage in-stream transforms.
paths:
  /transforms:
    get:
      operationId: listTransforms
      tags:
      - Transforms
      summary: List all transforms with filtering.
      responses:
        '200':
          description: A list of transforms.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Transform'
    post:
      operationId: createTransform
      tags:
      - Transforms
      summary: Create a new transform.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransformInput'
      responses:
        '201':
          description: Transform created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transform'
  /transforms/{id}:
    parameters:
    - $ref: '#/components/parameters/Id'
    get:
      operationId: getTransform
      tags:
      - Transforms
      summary: Get full transform details.
      responses:
        '200':
          description: Transform details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transform'
    delete:
      operationId: deleteTransform
      tags:
      - Transforms
      summary: Delete a transform.
      responses:
        '204':
          description: Transform deleted.
  /transforms/deploy-live:
    post:
      operationId: deployTransformLive
      tags:
      - Transforms
      summary: Deploy a transform job to live.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
              required:
              - id
      responses:
        '202':
          description: Deploy accepted.
components:
  schemas:
    TransformInput:
      type: object
      required:
      - name
      - language
      properties:
        name:
          type: string
        language:
          type: string
          enum:
          - SQL
          - Python
          - TypeScript
        code:
          type: string
    Transform:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        language:
          type: string
          enum:
          - SQL
          - Python
          - TypeScript
        status:
          type: string
        inputTopics:
          type: array
          items:
            type: string
        outputTopics:
          type: array
          items:
            type: string
  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>.'