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 .'