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