Skip to main content
POST
/
sources
Create New Source
curl --request POST \
  --url https://api.streamkap.com/sources \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "connector": "<string>",
  "config": {
    "database.hostname.user.defined": "<string>",
    "database.port.user.defined": "5432",
    "database.user": "<string>",
    "database.password": "<string>",
    "database.dbname": "<string>",
    "snapshot.read.only.user.defined": "Yes",
    "signal.data.collection.schema.or.database": "<string>",
    "heartbeat.data.collection.schema.or.database": "<string>",
    "slot.name": "streamkap_pgoutput_slot",
    "publication.name": "streamkap_pub",
    "schema.include.list": "<string>",
    "table.include.list.user.defined": "<string>",
    "column.include.list.toggled": true,
    "column.include.list.user.defined": "<string>",
    "column.exclude.list.user.defined": "<string>",
    "heartbeat.enabled": true,
    "database.sslmode": "require",
    "include.source.db.name.in.table.name.user.defined": false,
    "binary.handling.mode": "bytes",
    "transforms.InsertStaticKey1.static.field": "<string>",
    "transforms.InsertStaticKey1.static.value": "<string>",
    "transforms.InsertStaticValue1.static.field": "<string>",
    "transforms.InsertStaticValue1.static.value": "<string>",
    "transforms.InsertStaticKey2.static.field": "<string>",
    "transforms.InsertStaticKey2.static.value": "<string>",
    "transforms.InsertStaticValue2.static.field": "<string>",
    "transforms.InsertStaticValue2.static.value": "<string>",
    "predicates.IsTopicToEnrich.pattern": "$^",
    "ssh.enabled": false,
    "ssh.host": "<string>",
    "ssh.port": "22",
    "ssh.user": "streamkap",
    "ssh.public.key.user.displayed": "<SSH.PUBLIC.KEY>"
  },
  "created_from": "api",
  "desired_state": "Pending"
}
'
{
  "name": "<string>",
  "connector": "<string>",
  "id": "<string>",
  "connector_display_name": "<string>",
  "created_timestamp": "<string>",
  "sub_id": "<string>",
  "tenant_id": "<string>",
  "service_id": "<string>",
  "config": {
    "database.hostname.user.defined": "<string>",
    "database.port.user.defined": "5432",
    "database.user": "<string>",
    "database.password": "<string>",
    "database.dbname": "<string>",
    "snapshot.read.only.user.defined": "Yes",
    "signal.data.collection.schema.or.database": "<string>",
    "heartbeat.data.collection.schema.or.database": "<string>",
    "slot.name": "streamkap_pgoutput_slot",
    "publication.name": "streamkap_pub",
    "schema.include.list": "<string>",
    "table.include.list.user.defined": "<string>",
    "column.include.list.toggled": true,
    "column.include.list.user.defined": "<string>",
    "column.exclude.list.user.defined": "<string>",
    "heartbeat.enabled": true,
    "database.sslmode": "require",
    "include.source.db.name.in.table.name.user.defined": false,
    "binary.handling.mode": "bytes",
    "transforms.InsertStaticKey1.static.field": "<string>",
    "transforms.InsertStaticKey1.static.value": "<string>",
    "transforms.InsertStaticValue1.static.field": "<string>",
    "transforms.InsertStaticValue1.static.value": "<string>",
    "transforms.InsertStaticKey2.static.field": "<string>",
    "transforms.InsertStaticKey2.static.value": "<string>",
    "transforms.InsertStaticValue2.static.field": "<string>",
    "transforms.InsertStaticValue2.static.value": "<string>",
    "predicates.IsTopicToEnrich.pattern": "$^",
    "ssh.enabled": false,
    "ssh.host": "<string>",
    "ssh.port": "22",
    "ssh.user": "streamkap",
    "ssh.public.key.user.displayed": "<SSH.PUBLIC.KEY>"
  },
  "topic_ids": [
    "<string>"
  ],
  "topic_map": {},
  "topics": [
    "<string>"
  ],
  "tasks": [
    123
  ],
  "connector_status": "<string>",
  "desired_state": "<string>",
  "task_statuses": {}
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

secret_returned
boolean
default:false

Whether to include secret values in the response

wait
boolean
default:true

When False, save config and return immediately without waiting for KC deployment

Body

application/json

Request body for creating a new 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
AlloyDB · object
required

Configuration properties for the AlloyDB source connector.

created_from
enum<string> | null
default:api

Origin of the entity creation.

Available options:
terraform,
web,
api
desired_state
enum<string> | null

Desired operational state of the source.

Available options:
Pending,
Active,
Paused,
Stopped,
Pending Update,
Pending Delete

Response

Successful Response

Source connector configuration and status.

name
string | null

User-defined connector name

connector
string | null

Connector type (e.g., 'postgresql', 'mysql', 'mongodb')

id
string | null

Unique identifier

connector_display_name
string | null

Human-readable connector type name

created_timestamp

Creation timestamp (ISO 8601)

sub_id
string | null

Subscription identifier

tenant_id
string | null

Tenant identifier for multi-tenancy

service_id
string | null

Associated service identifier

config
AlloyDB · object

Configuration properties for the AlloyDB source connector.

topic_ids
(string | integer)[] | null

List of associated topic identifiers

topic_map
Topic Map · object

Mapping of topics to their partitions or related entities

topics
(string | integer)[] | null

List of topic names

tasks
integer[] | null

List of task identifiers

connector_status
string | null

Current status: Active, Paused, Stopped, Broken, Starting, Unassigned, Unknown, Pending

desired_state
string | null

Desired state: Pending, Active, Paused, Stopped

task_statuses
Task Statuses · object

Status information for each connector task