---
title: "Create New Destination"
method: POST
path: "/destinations"
tags: ["Destinations"]
---

# Create New Destination

`POST /destinations`

spec: /specs/20_Destinations/spec.md#create-destination

## Query parameters

- `secret_returned` boolean — Whether to include secret values in the response
- `wait` boolean — When False, save config and return immediately without waiting for KC deployment

## Request body

- CreateDestinationReq — Request body for creating a new destination connector.
  - `name` string, required — Display name for the destination connector.
  - `connector` string, required — Connector type identifier (e.g., 'snowflake', 'bigquery', 'clickhouse', 'postgresql', 's3').
  - `config` object, required — Connector-specific configuration properties using dot notation. Use the GET /destinations/connectors endpoint with a connector_code query parameter to retrieve the full configuration schema for a specific connector type.
  - `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.
  - `desired_state` 'Pending' | 'Active' | 'Paused' | 'Stopped' | 'Pending Update' | 'Pending Delete' — Desired state for sources and destinations. Represents the target state for the connector: - PENDING: Configuration saved, not yet deployed - ACTIVE: Connector should be running (default for existing connectors) - PAUSED: Connector should be paused - STOPPED: Connector should be stopped - PENDING_UPDATE: Config saved to MongoDB, KC update deferred to reconciler - PENDING_DELETE: Marked for deletion, KC teardown deferred to reconciler
  - `kc_cluster_id` string, nullable — KC cluster to deploy this connector to. Omit for default cluster.
  - `tags` string[], nullable — List of tag IDs to assign to this destination

## Response `200`

Successful Response

- 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

## 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/versions/8aea6143d003/schema)
