---
title: "Update Existing Source"
method: PUT
path: "/sources/{source_id}"
tags: ["Sources"]
---

# Update Existing Source

`PUT /sources/{source_id}`

Update an existing source connector.

The `config` object contains connector-specific properties using **dot notation**
(e.g., `table.include.list`, `schema.include.list`, `database.hostname`).
To add tables, include the full `table.include.list` value with the new tables appended.

Use the **GET /sources/connectors** endpoint with a `connector_code` query parameter to
retrieve the full configuration schema for a specific connector type.

## Path parameters

- `source_id` string, nullable, required

## 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 update

## Request body

- UpdateSourceReq — Request body for updating an existing source connector.
  - `name` string, required — Display name for the source connector.
  - `connector` string, required — Connector type identifier (e.g., 'postgresql', 'mysql', 'mongodb', 'dynamodb', 'sqlserveraws').
  - `config` object, required — Connector-specific configuration properties using dot notation (e.g., 'table.include.list', 'schema.include.list'). Use the GET /sources/connectors endpoint with a connector_code query parameter to retrieve the full configuration schema for a specific connector type.
  - `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 source

## Response `200`

Successful Response

- 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

## 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)
