---
title: "Create New Pipeline"
method: POST
path: "/pipelines"
tags: ["Pipelines"]
---

# Create New Pipeline

`POST /pipelines`

spec: /specs/30_Topics_Pipelines_Streaming/spec.md#create-pipeline

## Query parameters

- `secret_returned` boolean — Whether to include secret values in the response
- `wait` boolean — When False, defer destination config update to reconciler instead of calling KC directly

## Request body

- CreatePipelineReq
  - `name` string, required
  - `snapshot_new_tables` boolean
  - `destination` PipelineDestinationConnector, required
    - `connector` string, required
    - `name` string, required
    - `id` string, required
  - `source` PipelineSourceConnector, required
    - `connector` string, required
    - `name` string, required
    - `id` string, required
    - `topics` string[], required
  - `transforms` PipelineTransformConnector[], nullable
    - `topic_id` string, required
  - `tags` string[], required
  - `topic_auto_discovery_transforms` TopicAutoDiscoveryTransform[]
    - `transform_id` string, required
    - `regex` string, required
  - `created_from` 'terraform' | 'web' | 'api' — Origin of an entity in the system. Tracks how entities (sources, destinations, pipelines) were created, enabling audit trails and origin-specific behavior.

## Response `200`

Successful Response

- PipelineBasic
  - `name` string, nullable
  - `sub_id` string, nullable
  - `tenant_id` string, nullable
  - `id` string, nullable
  - `snapshot_new_tables` boolean, nullable
  - `topic_ids` string[], nullable
  - `topics` string[], nullable
  - `source` SourceConnector — Source connector configuration and status.
    - `name` string, nullable — User-defined connector name
    - `connector` string, nullable — Connector type (e.g., 'postgresql', 'mysql', 'mongodb')
    - `id` string, nullable — Unique identifier
    - `connector_display_name` string, nullable — Human-readable connector type name
    - `created_timestamp` union — Creation timestamp (ISO 8601)
      - string
      - string, date-time
    - `sub_id` string, nullable — Subscription identifier
    - `tenant_id` string, nullable — Tenant identifier for multi-tenancy
    - `service_id` string, nullable — Associated service identifier
    - `config` object, nullable — Connector configuration parameters
    - `topic_ids` union[], nullable — List of associated topic identifiers
      - union
        - string
        - integer
    - `topic_map` object, nullable — Mapping of topics to their partitions or related entities
    - `topics` union[], nullable — List of topic names
      - union
        - string
        - integer
    - `tasks` integer[], nullable — List of task identifiers
    - `connector_status` string, nullable — Current status: Active, Paused, Stopped, Broken, Starting, Unassigned, Unknown, Pending
    - `desired_state` string, nullable — Desired state: Pending, Active, Paused, Stopped
    - `kc_cluster_id` string, nullable — KC cluster this connector is deployed to. None means default cluster.
    - `task_statuses` object, nullable — Status information for each connector task
    - `tags` string[], nullable — List of tag IDs assigned to this source
  - `destination` DestinationConnector — Destination connector configuration and status.
    - `name` string, nullable — User-defined connector name
    - `connector` string, nullable — Connector type (e.g., 'snowflake', 'bigquery', 'clickhouse')
    - `id` string, nullable — Unique identifier
    - `connector_display_name` string, nullable — Human-readable connector type name
    - `created_timestamp` union — Creation timestamp (ISO 8601)
      - string
      - string, date-time
    - `sub_id` string, nullable — Subscription identifier
    - `tenant_id` string, nullable — Tenant identifier for multi-tenancy
    - `config` object, nullable — Connector configuration parameters
    - `topic_ids` union[], nullable — List of associated topic identifiers
      - union
        - string
        - integer
    - `topic_map` object, nullable — Mapping of topics to their partitions or related entities
    - `topics` union[], nullable — List of topic names
      - union
        - string
        - integer
    - `tasks` integer[], nullable — List of task identifiers
    - `connector_status` string, nullable — Current status: Active, Paused, Stopped, Broken, Starting, Unassigned, Unknown, Pending
    - `desired_state` string, nullable — Desired state: Pending, Active, Paused, Stopped
    - `kc_cluster_id` string, nullable — KC cluster this connector is deployed to. None means default cluster.
    - `task_statuses` object, nullable — Status information for each connector task
    - `tags` string[], nullable — List of tag IDs assigned to this destination
  - `transforms` unknown[], nullable
    - unknown
  - `tags` string[], nullable
  - `periodic_audit` UpdatePipelineAuditReq — Update pipeline audit request.
    - `topics` union[], required
      - union
        - string
        - integer
    - `timestamp_column` string, required
    - `interval_minutes` integer, required
    - `fix_deletes_only` boolean
  - `topic_auto_discovery_transforms` TopicAutoDiscoveryTransform[]
    - `transform_id` string, required
    - `regex` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/streamkap/apis/streamkap-rest-api.md) · [All operations](https://skmtc.net/streamkap/apis/streamkap-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/streamkap/streamkap-rest-api/revisions/8aea6143d003/schema)
