Get Sources
/sourcesAuthorizationBearer token · headerrequiredpageintegerPage number (1-indexed)
page_sizeintegerNumber of results per page (max 100)
sortstring | anySort field. Can be a DB field (name, created_at) or a metric field (latency, connector_status, recordsLag)
sort_dirSortDirectionEnumSort direction: 'asc' (ascending) or 'desc' (descending)
ascdesclast_seen_offsetsstring | object | anyLast seen offsets for topic messages pagination (cursor-based)
first_seen_offsetsstring | object | anyFirst seen offsets for topic messages pagination (cursor-based)
idstring | anypartial_namestring | anyconnectorstring | anyFilter by connector type. Comma-separated for multiple connectors (e.g., 'postgresql', 'postgresql,mysql,mongodb')
statusstring | anyFilter by connector status. Comma-separated for multiple statuses (e.g., 'Active', 'Active,Paused'). Valid statuses: Active, Broken, Paused, Stopped, Starting, Unassigned, Unknown
latencystring | anyFilter by latency in milliseconds. Format: 'operator:value' (e.g., 'gt:1000', 'lt:500', 'gte:100'). Valid operators: gt (>), lt (<), gte (>=), lte (<=), eq (=), ne (!=)
snapshotstring | anyFilter by snapshot status. Comma-separated for multiple statuses (e.g., 'running', 'completed,failed'). Valid statuses: running, completed, failed, pending, cancelled
etastring | anyFilter by snapshot ETA in milliseconds. Format: 'operator:value' (e.g., 'gt:60000', 'lte:300000'). Valid operators: gt (>), lt (<), gte (>=), lte (<=), eq (=), ne (!=). Sources without ETA (null/0) are excluded when filtering.
staleboolean | anyFilter by staleness. true = only sources with no data in 24h, false = only active sources.
tag_idsstring | anyFilter by tag IDs. Comma-separated list (e.g., 'tag1,tag2'). Use with tag_filter_operation to control AND/OR logic.
tag_filter_operationstring | anyTag filter logic: 'or' (default) matches any tag, 'and' matches all tags.
application/jsonconnectorstring[] | string | anyList of connector types (as array) or comma-separated string. Body takes precedence over query params.
Show propertiesHide properties
stringstringstringanystatusstring[] | string | anyList of statuses (as array) or comma-separated string. Body takes precedence over query params.
Show propertiesHide properties
stringstringstringanysnapshotstring[] | string | anyList of snapshot statuses (as array) or comma-separated string. Body takes precedence over query params. Valid statuses: running, completed, failed, pending, cancelled
Show propertiesHide properties
stringstringstringanystaleboolean | anyFilter by staleness. true = only sources with no data in 24h, false = only active sources. Body takes precedence over query params.
Show propertiesHide properties
booleananytag_idsstring[] | string | anyList of tag IDs (as array) or comma-separated string. Body takes precedence over query params.
Show propertiesHide properties
stringstringstringanytag_filter_operationstring | anyTag filter logic: 'or' (default) matches any tag, 'and' matches all tags. Body takes precedence over query params.
Show propertiesHide properties
stringanyanySuccessful Response
pageintegerCurrent page number
page_sizeintegerResults per page
totalinteger | anyTotal number of results
Show propertiesHide properties
integeranyhas_nextboolean | anyWhether more pages exist
Show propertiesHide properties
booleananyresultSourceConnector[]requiredShow propertiesHide properties
SourceConnectornamestring | anyUser-defined connector name
Show propertiesHide properties
stringanyconnectorstring | anyConnector type (e.g., 'postgresql', 'mysql', 'mongodb')
Show propertiesHide properties
stringanyidstring | anyUnique identifier
Show propertiesHide properties
stringanyconnector_display_namestring | anyHuman-readable connector type name
Show propertiesHide properties
stringanycreated_timestampstring | string<date-time> | anyCreation timestamp (ISO 8601)
Show propertiesHide properties
stringstring<date-time>anysub_idstring | anySubscription identifier
Show propertiesHide properties
stringanytenant_idstring | anyTenant identifier for multi-tenancy
Show propertiesHide properties
stringanyservice_idstring | anyAssociated service identifier
Show propertiesHide properties
stringanyconfigAlloyDBSourceConfig | Db2SourceConfig | DocumentDBSourceConfig | DynamoDBSourceConfig | ElasticSearchSourceConfig | InformixSourceConfig | KafkaDirectSourceConfig | MariaDBSourceConfig | MongoDBSourceConfig | MySQLSourceConfig | OracleSourceConfig | PlanetscaleVitessSourceConfig | PostgreSQLSourceConfig | S3SourceConfig | SQLServerSourceConfig | SalesforceSourceConfig | ShopifySourceConfig | StripeSourceConfig | SupabaseSourceConfig | VitessSourceConfig | WebhookSourceConfig | ZendeskWebhookSourceConfig | anyConnector configuration parameters
Show propertiesHide properties
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
database.hostname.user.definedstringrequiredPostgreSQL Hostname.
database.port.user.definedstringrequiredPostgreSQL Port. For example, 5432
database.userstringrequiredUsername to access the database
database.passwordstring<password>requiredPassword to access the database
database.dbnamestringrequiredDatabase from which to stream data
snapshot.read.only.user.definedstringWhen connecting to a read replica PostgreSQL database, this must be set to 'Yes' to support Streamkap snapshots
YesNosignal.data.collection.schema.or.databasestringrequiredFull path to the signal table including schema and table name (e.g., 'public.streamkap_signal'). This table is used for incremental snapshotting. Follow the documentation for creating this table.
column.include.list.toggledbooleanToggle between Inclusion (include only selected columns) and Exclusion (exclude selected columns). Defaults to Inclusion (On).
column.include.list.user.definedstringAn optional, comma-separated list of regular expressions that match the fully-qualified names of columns that should be included in change event record values. Fully-qualified names for columns are of the form schemaName[.]tableName[.](columnName1|columnName2)
column.exclude.list.user.definedstringAn optional, comma-separated list of regular expressions that match the fully-qualified names of columns that should be excluded from change event record values. Fully-qualified names for columns are of the form schemaName.tableName.columnName.
heartbeat.enabledbooleanWhen enabled, the connector emits a periodic heartbeat to a Kafka topic — this keeps the poll loop active and offsets advancing on low-traffic sources, preventing replication-slot/log lag and false-positive health alerts. To also write to a 'streamkap_heartbeat' table in the source database (keeps the source transaction log moving), set 'Heartbeat Table Schema' below; leave it blank for Kafka-only mode.
heartbeat.data.collection.schema.or.databasestringOptional. The schema containing a 'streamkap_heartbeat' table — providing this enables source-table heartbeat mode, which writes to the table on each beat to keep the source transaction log active. Leave blank for Kafka-only heartbeat (no table or write grant required). See the Streamkap documentation for table setup.
slot.namestringrequiredThe name of the replication slot for the connector to use.
publication.namestringrequiredThe name of the publication for the connector to use.
schema.include.liststringrequiredSchemas to include.
table.include.list.user.definedstringrequiredSource tables to sync.
reselector.reselect.error.handling.modestringControls what happens when the re-select post processor fails to fetch a column. 'Fail' stops the connector; 'Warn' logs a warning and continues.
failwarnpost.processors.reselect.enabledbooleanWhen enabled, TOAST columns that cannot be read from the WAL are re-fetched from the source database at event time.
database.sslmodestringWhether to use an encrypted connection to the PostgreSQL server
requiredisableinclude.source.db.name.in.table.name.user.definedbooleanChanges the format of topics to 'DatabaseName_TopicName'
binary.handling.modestringSpecifies how the data for binary columns e.g. blob, binary, varbinary should be represented. This setting depends on what the destination is. See the documentation for more details.
[object Object][object Object][object Object][object Object]transforms.InsertStaticKey1.static.fieldstringThe name of the static field to be added to the message key.
transforms.InsertStaticKey1.static.valuestringThe value of the static field to be added to the message key.
transforms.InsertStaticValue1.static.fieldstringThe name of the static field to be added to the message value.
transforms.InsertStaticValue1.static.valuestringThe value of the static field to be added to the message value.
transforms.InsertStaticKey2.static.fieldstringThe name of the static field to be added to the message key.
transforms.InsertStaticKey2.static.valuestringThe value of the static field to be added to the message key.
transforms.InsertStaticValue2.static.fieldstringThe name of the static field to be added to the message value.
transforms.InsertStaticValue2.static.valuestringThe value of the static field to be added to the message value.
predicates.IsTopicToEnrich.patternstringRegex pattern to match topics for enrichment.
ssh.enabledboolean<span>Streamkap will connect to SSH server in your network which has access to your database. This is necessary if Streamkap cannot connect directly to your database. <a href='https://docs.streamkap.com/streamkap-ip-addresses#streamkap-ip-addresses' class='docs-url' target='_blank'>View the Streamkap IP addresses to allowlist on your SSH server</a> </span>
ssh.hoststringrequiredHostname of your SSH server
ssh.portstringrequiredPort of your SSH server
ssh.userstringrequiredUser that allows Streamkap to connect to SSH server
ssh.public.key.user.displayedstringrequiredPublic key to add to SSH server
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
database.hostname.user.definedstringrequiredIP address or hostname of the Db2 database server
database.port.user.definedstringrequiredPort number of the Db2 database server
database.userstringrequiredName of the Db2 database user for connecting to the DB2 database server
database.passwordstring<password>requiredPassword to use when connecting to the Db2 database server
database.dbnamestringrequiredThe name of the Db2 database from which to stream the changes
schema.include.list.user.definedstringrequiredSource schemas to sync.
table.include.list.user.definedstringrequiredSource tables to sync.
signal.data.collection.schema.or.databasestringrequiredPath to the signal table as schema.table (e.g., 'MYSCHEMA.STREAMKAP_SIGNAL'). The database name will be added automatically. This table is used for incremental snapshotting.
schema.history.internal.store.only.captured.databases.ddlstringSpecifies whether the connector records schema structures from all logical databases in the database instance or only captured databases. Enabling this when you have many databases in your instance can improve performance and avoid timeouts.
schema.history.internal.store.only.captured.tables.ddlstringSpecifies whether the connector records schema structures from all logical tables in the captured schemas or databases, or only captured tables. Enabling this when you have many tables can improve performance and avoid timeouts.
ssh.enabledboolean<span>Streamkap will connect to SSH server in your network which has access to your database. This is necessary if Streamkap cannot connect directly to your database. <a href='https://docs.streamkap.com/streamkap-ip-addresses#streamkap-ip-addresses' class='docs-url' target='_blank'>View the Streamkap IP addresses to allowlist on your SSH server</a> </span>
ssh.hoststringrequiredHostname of your SSH server
ssh.portstringrequiredPort of your SSH server
ssh.userstringrequiredUser that allows Streamkap to connect to SSH server
column.exclude.list.user.definedstringAn optional, comma-separated list of regular expressions that match the fully-qualified names of columns that should be excluded from change event record values. Fully-qualified names for columns are of the form schemaName.tableName.columnName.
ssh.public.key.user.displayedstringrequiredPublic key to add to SSH server
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
mongodb.connection.string.user.definedstring<password>requiredDocumentDB Connection String. See DocumentDB documentation for further details.
transforms.unwrap.array.encodingstringHow to encode arrays. 'Array' encodes them as Array objects but requires all values in the array to be of the same type. 'Array_String' encodes them as JSON Strings and should be used if arrays have mixed types
[object Object][object Object]transforms.unwrap.document.encodingstringHow to encode nested documents. 'Document' encodes them as JSON Objects, 'String' encodes them as JSON Strings
[object Object][object Object]database.include.liststringrequiredSource databases to sync.
collection.include.list.user.definedstringrequiredSource collections to sync.
signal.data.collection.schema.or.databasestringrequiredFull path to the signal collection including database and collection name (e.g., 'mydb.streamkap_signal'). This collection is used for incremental snapshotting. Follow the documentation for creating this collection.
cursor.oversize.handling.modestringThe strategy used to handle change events for documents exceeding specified BSON size.
skipsplitcursor.oversize.skip.thresholdintegerThe maximum allowed size in bytes of the stored document for which change events are processed. This includes both, the size before and after database operation, more specifically this limits the size of fullDocument and fullDocumentBeforeChange filed of MongoDB change events.
ssh.enabledboolean<span>Streamkap will connect to SSH server in your network which has access to your database. This is necessary if Streamkap cannot connect directly to your database. <a href='https://docs.streamkap.com/streamkap-ip-addresses#streamkap-ip-addresses' class='docs-url' target='_blank'>View the Streamkap IP addresses to allowlist on your SSH server</a> </span>
ssh.hoststringrequiredHostname of your SSH server
ssh.portstringrequiredPort of your SSH server
ssh.userstringrequiredUser that allows Streamkap to connect to SSH server
ssh.public.key.user.displayedstringrequiredPublic key to add to SSH server
incremental.snapshot.chunk.sizeintegerNumber of rows read per snapshot chunk. Lower values throttle snapshot throughput to prevent backlog on the destination
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
aws.regionstringrequiredAWS Region
aws.access.key.idstring<password>requiredAWS Access Key ID
aws.secret.keystring<password>requiredAWS Secret Key
s3.export.bucket.namestringrequiredused for backfill (snapshot)
table.include.list.user.definedstringrequiredSource tables to sync.
batch.sizeintegerdynamodb.service.endpointstringDynamodb Service Endpoint (optional)
tasks.maxintegerThe maximum number of active tasks
snapshot.parallel.time.offsetintegerIf > 0, snapshot will run in parallel with streaming and snapshot records _streamkap_ts_ms will be set back in time by this amount to prioritize CDC events downstream
poll.timeout.msintegerPoll Timeout (ms)
incremental.snapshot.interval.msintegerDelay in milliseconds between reading snapshot chunks. Higher values throttle snapshot throughput to prevent backlog on the destination
incremental.snapshot.max.threadsintegerIncremental snapshot max threads
full.export.expiration.time.msintegerFull Export Expiration Time (ms)
signal.kafka.poll.timeout.msintegerSignal Kafka Poll Timeout (ms)
array.encoding.jsonstringForce nested lists as JSON string
struct.encoding.jsonstringForce nested maps as JSON string
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
es.hoststringrequiredElasticSearch host. Optionally it is possible to specify many hosts using ; as separator (host1;host2;host3)
es.schemestringElasticSearch protocol (http/https)
httphttpses.portstringrequiredPort for ElasticSearch HTTP/HTTPS REST API. For example, 443 or 9200
http.auth.user.definedstringType of Authentication
NoneBasichttp.auth.userstringrequiredElasticsearch username
http.auth.passwordstring<password>requiredElasticsearch password
endpoint.include.list.user.definedstringrequiredThe name of ElasticSearch indices
datetime.field.namestringrequiredThe name of datetime field to use to detect new records.
datetime.field.valuestringThe day and time to start consuming records from. Leave it empty if you want to consume records as of now.
tasks.maxintegerThe maximum number of active tasks
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
database.hostname.user.definedstringrequiredIP address or hostname of the Informix database server.
database.port.user.definedstringrequiredInformix SQLI listener port. For example, 9088.
database.userstringrequiredUsername to access the Informix database.
database.passwordstring<password>requiredPassword to access the Informix database.
database.dbnamestringrequiredThe name of the Informix database from which to stream the changes.
schema.include.liststringrequiredSchemas to include.
table.include.list.user.definedstringrequiredSource tables to sync.
signal.data.collection.schema.or.databasestringrequiredPath to the signal table as schema.table (e.g., 'myschema.streamkap_signal'). The database name will be added automatically. This table is used for incremental snapshotting.
column.exclude.list.user.definedstringAn optional, comma-separated list of regular expressions that match the fully-qualified names of columns that should be excluded from change event record values. Fully-qualified names for columns are of the form schemaName.tableName.columnName.
heartbeat.enabledbooleanWhen enabled, the connector emits a periodic heartbeat to a Kafka topic — this keeps the poll loop active and offsets advancing on low-traffic sources, preventing replication-log lag and false-positive health alerts. To also write to a 'streamkap_heartbeat' table in the source database (keeps the source transaction log moving), set 'Heartbeat Table Schema' below; leave it blank for Kafka-only mode.
heartbeat.data.collection.schema.or.databasestringOptional. The schema containing a 'streamkap_heartbeat' table — providing this enables source-table heartbeat mode, which writes to the table on each beat to keep the source transaction log active. Leave blank for Kafka-only heartbeat (no table or write grant required). See the Streamkap documentation for table setup.
schema.history.internal.store.only.captured.databases.ddlstringSpecifies whether the connector records schema structures from all logical databases in the database instance or only captured databases. Enabling this when you have many databases in your instance can improve performance and avoid timeouts.
schema.history.internal.store.only.captured.tables.ddlstringSpecifies whether the connector records schema structures from all logical tables in the captured schemas or databases, or only captured tables. Enabling this when you have many tables can improve performance and avoid timeouts.
binary.handling.modestringSpecifies how the data for binary columns e.g. blob, byte, text should be represented. This setting depends on what the destination is. See the documentation for more details.
[object Object][object Object][object Object][object Object]cdc.buffersizeintegerSize of the read buffer for receiving CDC events from the Informix server, in bytes.
cdc.timeoutintegerTimeout (seconds) the CDC engine will wait before breaking out of a blocking read to check for shutdown signals.
streamkap.snapshot.parallelismintegerHow many parallel chunk requests to send to the source DB.
streamkap.snapshot.chunk.size.bytesintegerTarget byte size for one chunk SELECT. Drives LIMIT = ceil(chunk.size.bytes / avg_row_size).
streamkap.snapshot.state.refresh.msintegerExecutor publish cadence (ms) — how often the parallel-snapshot executor publishes SourceSnapshotState (rows_scanned, status transitions) to the streamkap_state topic. Lower values surface progress faster at the cost of state-topic traffic.
ssh.enabledboolean<span>Streamkap will connect to SSH server in your network which has access to your database. This is necessary if Streamkap cannot connect directly to your database. <a href='https://docs.streamkap.com/streamkap-ip-addresses#streamkap-ip-addresses' class='docs-url' target='_blank'>View the Streamkap IP addresses to allowlist on your SSH server</a> </span>
ssh.hoststringrequiredHostname of your SSH server
ssh.portstringrequiredPort of your SSH server
ssh.userstringrequiredUser that allows Streamkap to connect to SSH server
transforms.InsertStaticKey1.static.fieldstringThe name of the static field to be added to the message key.
transforms.InsertStaticKey1.static.valuestringThe value of the static field to be added to the message key.
transforms.InsertStaticValue1.static.fieldstringThe name of the static field to be added to the message value.
transforms.InsertStaticValue1.static.valuestringThe value of the static field to be added to the message value.
ssh.public.key.user.displayedstringrequiredPublic key to add to SSH server
topic.prefixstringrequiredPrefix for the topic
topic.include.list.user.definedstringrequiredComma-separated topic names to stream from this Kafka cluster.
formatstringThe serialised format of the data written to the Kafka topic
jsonstringavroschemas.enablebooleanIf untoggled (default), Streamkap attempts to infer schema from your data - depending on the Destination. Otherwise, Streamkap assumes the Kafka message key and value contain schema and payload structures
records.carry.streamkap.metadatabooleanEnable when this topic is fed by another Streamkap pipeline and records already carry _streamkap_offset, _streamkap_ts_ms, _streamkap_source_ts_ms. Skips destination-side InsertField so upstream offsets are preserved.
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
database.hostname.user.definedstringrequiredThe IP address or hostname of the MariaDB database server. For example, mariadb.something.rds.amazonaws.com
database.port.user.definedstringrequiredPort number of the MariaDB database server. For example, 3306
database.userstringrequiredThe name of the MariaDB user that the connector uses to connect to the MariaDB database server.
database.passwordstring<password>requiredThe password of the MariaDB user that the connector uses to connect to the MariaDB database server.
database.include.list.user.definedstringrequiredDatabases to include. The connector does not capture changes in any database whose name is not included.
table.include.list.user.definedstringrequiredSource tables to sync. The connector does not capture changes in any table that is not included.
signal.data.collection.schema.or.databasestringrequiredFull path to the signal table including database and table name (e.g., 'mydb.streamkap_signal'). This table is used for incremental snapshotting. Follow the documentation for creating this table.
heartbeat.enabledbooleanWhen enabled, the connector emits a periodic heartbeat to a Kafka topic — this keeps the poll loop active and offsets advancing on low-traffic sources, preventing replication-slot/log lag and false-positive health alerts. To also write to a 'streamkap_heartbeat' table in the source database (keeps the source transaction log moving), set 'Heartbeat Table Database' below; leave it blank for Kafka-only mode.
heartbeat.data.collection.schema.or.databasestringOptional. The database containing a 'streamkap_heartbeat' table — providing this enables source-table heartbeat mode, which writes to the table on each beat to keep the source transaction log active. Leave blank for Kafka-only heartbeat (no table or write grant required). See the Streamkap documentation for table setup.
database.connectionTimeZonestringSet the connection timezone. If set to SERVER, the source will detect the connection time zone from the values configured on the MariaDB server session variables 'time_zone' or 'system_time_zone'
SERVERUTCAfrica/Cairo Asia/RiyadhAfrica/CasablancaAsia/SeoulAfrica/HarareAsia/ShanghaiAfrica/MonroviaAsia/SingaporeAfrica/NairobiAsia/TaipeiAfrica/TripoliAsia/TehranAfrica/WindhoekAsia/TokyoAmerica/AraguainaAsia/UlaanbaatarAmerica/AsuncionAsia/VladivostokAmerica/BogotaAsia/YakutskAmerica/Buenos_AiresAsia/YerevanAmerica/CaracasAtlantic/AzoresAmerica/ChihuahuaAustralia/AdelaideAmerica/CuiabaAustralia/BrisbaneAmerica/DenverAustralia/DarwinAmerica/FortalezaAustralia/HobartAmerica/GuatemalaAustralia/PerthAmerica/HalifaxAustralia/SydneyAmerica/ManausBrazil/EastAmerica/MatamorosCanada/NewfoundlandAmerica/MonterreyCanada/SaskatchewanAmerica/MontevideoCanada/YukonAmerica/PhoenixEurope/AmsterdamAmerica/SantiagoEurope/AthensAmerica/TijuanaEurope/DublinAsia/AmmanEurope/HelsinkiAsia/AshgabatEurope/IstanbulAsia/BaghdadEurope/KaliningradAsia/BakuEurope/MoscowAsia/BangkokEurope/ParisAsia/BeirutEurope/PragueAsia/CalcuttaEurope/SarajevoAsia/DamascusPacific/AucklandAsia/DhakaPacific/FijiAsia/IrkutskPacific/GuamAsia/JerusalemPacific/HonoluluAsia/KabulPacific/SamoaAsia/KarachiUS/AlaskaAsia/KathmanduUS/CentralAsia/KrasnoyarskUS/EasternAsia/MagadanUS/East-IndianaAsia/MuscatUS/PacificAsia/Novosibirskinconsistent.schema.handling.mode.user.definedstringHow to handle a change event for a table whose schema is unknown or unreadable (for example a regex-matched database the connector lacks privileges on). 'Automatic' uses Warn when regex support is enabled (skip the event and keep streaming) and Fail otherwise.
AutomaticFailWarnSkipsnapshot.gtidstringWhether or not to use a read-only connection. MariaDB has GTID enabled by default, so no additional configuration is necessary.
YesNoSourceRegexSupport.enabledbooleanEnable regex support. Useful for merging multiple tables into the same output topic.
transforms.SourceRegexSupport.regex.replacementstringReplacement string for matching regex snippets.
transforms.SourceRegexSupport.key.field.templatestringRegex support key field template. An extra key field is needed to ensure unique data across all tables. Use this template with available variables: database, schema, table, sourceId
schema.history.internal.store.only.captured.databases.ddlstringSpecifies whether the connector records schema structures from all logical databases in the database instance or only captured databases. Enabling this when you have many databases in your instance can improve performance and avoid timeouts.
transforms.SourceRegexSupport.metadata.field.namestringName of the extra metadata field to store source information and ensure uniqueness across all tables when regex support is enabled.
schema.history.internal.store.only.captured.tables.ddlstringSpecifies whether the connector records schema structures from all logical tables in the captured schemas or databases, or only captured tables. Enabling this when you have many tables can improve performance and avoid timeouts.
binary.handling.modestringSpecifies how the data for binary columns e.g. blob, binary, varbinary should be represented. This setting depends on what the destination is. See the documentation for more details.
[object Object][object Object][object Object][object Object]database.ssl.modestringEnables SSL/TLS in a specific mode. 'disable' = unencrypted connection. 'trust' = encrypted, no certificate verification.
disabletrustssh.enabledboolean<span>Streamkap will connect to SSH server in your network which has access to your database. This is necessary if Streamkap cannot connect directly to your database. <a href='https://docs.streamkap.com/streamkap-ip-addresses#streamkap-ip-addresses' class='docs-url' target='_blank'>View the Streamkap IP addresses to allowlist on your SSH server</a> </span>
ssh.hoststringrequiredHostname of your SSH server
ssh.portstringrequiredPort of your SSH server
ssh.userstringrequiredUser that allows Streamkap to connect to SSH server
column.exclude.list.user.definedstringAn optional, comma-separated list of regular expressions that match the fully-qualified names of columns that should be excluded from change event record values. Fully-qualified names for columns are of the form schemaName.tableName.columnName.
ssh.public.key.user.displayedstringrequiredPublic key to add to SSH server
streamkap.snapshot.parallelismintegerHow many parallel chunk requests to send to the source DB.
streamkap.snapshot.chunk.size.bytesintegerTarget byte size for one chunk SELECT. Drives LIMIT = ceil(chunk.size.bytes / avg_row_size).
streamkap.snapshot.max.split.size.bytesintegerA table with an estimated size greater than max split size will trigger intra-table paralelism. Table will be split into max.split.size.bytes parts and the parts will be processed in parallel.
streamkap.snapshot.state.refresh.msintegerSnapshot progress publish candence, publishing more often can affect performance.
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
mongodb.connection.string.user.definedstring<password>requiredMongodb Connection String. See Mongodb documentation for further details.
mongodb.connection.hostnamestringThe hostname(s) extracted from the MongoDB connection string.
transforms.unwrap.array.encodingstringHow to encode arrays. 'Array' encodes them as Array objects but requires all values in the array to be of the same type. 'Array_String' encodes them as JSON Strings and should be used if arrays have mixed types. 'String' is deprecated, use 'Array_String' instead
[object Object][object Object][object Object]transforms.unwrap.document.encodingstringHow to encode nested documents. 'Document' encodes them as JSON Objects, 'String' encodes them as JSON Strings
[object Object][object Object]database.include.liststringrequiredSource databases to sync.
collection.include.list.user.definedstringrequiredSource collections to sync.
signal.data.collection.schema.or.databasestringrequiredFull path to the signal collection including database and collection name (e.g., 'mydb.streamkap_signal'). This collection is used for incremental snapshotting. Follow the documentation for creating this collection.
cursor.pipelinestringA JSON array of additional pipeline stages to apply when reading change events from MongoDB. This can be used to filter or transform change stream events before they are processed by the connector
cursor.oversize.handling.modestringThe strategy used to handle change events for documents exceeding specified BSON size. 'Skip' ignores oversized documents, 'Split' breaks them into smaller chunks
skipsplitcursor.oversize.skip.thresholdintegerThe maximum allowed size in bytes of the stored document for which change events are processed. This includes both the size before and after the database operation, specifically this limits the size of fullDocument and fullDocumentBeforeChange fields of MongoDB change events
transforms.InsertStaticKey1.static.fieldstringThe name of the static field to be added to the message key.
transforms.InsertStaticKey1.static.valuestringThe value of the static field to be added to the message key.
transforms.InsertStaticValue1.static.fieldstringThe name of the static field to be added to the message value.
transforms.InsertStaticValue1.static.valuestringThe value of the static field to be added to the message value.
transforms.InsertStaticKey2.static.fieldstringThe name of the static field to be added to the message key.
transforms.InsertStaticKey2.static.valuestringThe value of the static field to be added to the message key.
transforms.InsertStaticValue2.static.fieldstringThe name of the static field to be added to the message value.
transforms.InsertStaticValue2.static.valuestringThe value of the static field to be added to the message value.
predicates.IsTopicToEnrich.patternstringRegex pattern to match topics for enrichment.
ssh.enabledboolean<span>Streamkap will connect to SSH server in your network which has access to your database. This is necessary if Streamkap cannot connect directly to your database. <a href='https://docs.streamkap.com/streamkap-ip-addresses#streamkap-ip-addresses' class='docs-url' target='_blank'>View the Streamkap IP addresses to allowlist on your SSH server</a> </span>
ssh.hoststringrequiredHostname of your SSH server
ssh.portstringrequiredPort of your SSH server
ssh.userstringrequiredUser that allows Streamkap to connect to SSH server
ssh.public.key.user.displayedstringrequiredPublic key to add to SSH server
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
database.hostname.user.definedstringrequiredMySQL Hostname. For example, mysqldb.something.rds.amazonaws.com
database.port.user.definedstringrequiredMySQL Port. For example, 3306
database.userstringrequiredUsername to access the database
database.passwordstring<password>requiredPassword to access the database
database.include.list.user.definedstringrequiredDatabases to include.
table.include.list.user.definedstringrequiredSource tables to sync.
signal.data.collection.schema.or.databasestringrequiredFull path to the signal table including database and table name (e.g., 'mydb.streamkap_signal'). This table is used for incremental snapshotting. Follow the documentation for creating this table.
column.include.list.toggledbooleanToggle between Inclusion (include only selected columns) and Exclusion (exclude selected columns). Defaults to Inclusion (On).
column.include.list.user.definedstringAn optional, comma-separated list of regular expressions that match the fully-qualified names of columns that should be included in change event record values. Fully-qualified names for columns are of the form schemaName[.]tableName[.](columnName1|columnName2)
column.exclude.list.user.definedstringAn optional, comma-separated list of regular expressions that match the fully-qualified names of columns that should be excluded from change event record values. Fully-qualified names for columns are of the form schemaName.tableName.columnName.
heartbeat.enabledbooleanWhen enabled, the connector emits a periodic heartbeat to a Kafka topic — this keeps the poll loop active and offsets advancing on low-traffic sources, preventing replication-slot/log lag and false-positive health alerts. To also write to a 'streamkap_heartbeat' table in the source database (keeps the source transaction log moving), set 'Heartbeat Table Database' below; leave it blank for Kafka-only mode.
heartbeat.data.collection.schema.or.databasestringOptional. The database containing a 'streamkap_heartbeat' table — providing this enables source-table heartbeat mode, which writes to the table on each beat to keep the source transaction log active. Leave blank for Kafka-only heartbeat (no table or write grant required). See the Streamkap documentation for table setup.
database.connectionTimeZonestringSet the connection timezone. If set to SERVER, the source will detect the connection time zone from the values configured on the MySQL server session variables 'time_zone' or 'system_time_zone'
SERVERUTCAfrica/Cairo Asia/RiyadhAfrica/CasablancaAsia/SeoulAfrica/HarareAsia/ShanghaiAfrica/MonroviaAsia/SingaporeAfrica/NairobiAsia/TaipeiAfrica/TripoliAsia/TehranAfrica/WindhoekAsia/TokyoAmerica/AraguainaAsia/UlaanbaatarAmerica/AsuncionAsia/VladivostokAmerica/BogotaAsia/YakutskAmerica/Buenos_AiresAsia/YerevanAmerica/CaracasAtlantic/AzoresAmerica/ChihuahuaAustralia/AdelaideAmerica/CuiabaAustralia/BrisbaneAmerica/DenverAustralia/DarwinAmerica/FortalezaAustralia/HobartAmerica/GuatemalaAustralia/PerthAmerica/HalifaxAustralia/SydneyAmerica/ManausBrazil/EastAmerica/MatamorosCanada/NewfoundlandAmerica/MonterreyCanada/SaskatchewanAmerica/MontevideoCanada/YukonAmerica/PhoenixEurope/AmsterdamAmerica/SantiagoEurope/AthensAmerica/TijuanaEurope/DublinAsia/AmmanEurope/HelsinkiAsia/AshgabatEurope/IstanbulAsia/BaghdadEurope/KaliningradAsia/BakuEurope/MoscowAsia/BangkokEurope/ParisAsia/BeirutEurope/PragueAsia/CalcuttaEurope/SarajevoAsia/DamascusPacific/AucklandAsia/DhakaPacific/FijiAsia/IrkutskPacific/GuamAsia/JerusalemPacific/HonoluluAsia/KabulPacific/SamoaAsia/KarachiUS/AlaskaAsia/KathmanduUS/CentralAsia/KrasnoyarskUS/EasternAsia/MagadanUS/East-IndianaAsia/MuscatUS/PacificAsia/Novosibirskinconsistent.schema.handling.mode.user.definedstringHow to handle a change event for a table whose schema is unknown or unreadable (for example a regex-matched database the connector lacks privileges on). 'Automatic' uses Warn when regex support is enabled (skip the event and keep streaming) and Fail otherwise.
AutomaticFailWarnSkipsnapshot.gtidstringWhether or not to use a read-only connection. Requires GTID mode to be enabled on the source database.
YesNoSourceRegexSupport.enabledbooleanEnable regex support. Useful for merging multiple tables into the same output topic.
transforms.SourceRegexSupport.regex.replacementstringReplacement string for matching regex snippets.
transforms.SourceRegexSupport.key.field.templatestringRegex support key field template. An extra key field is needed to ensure unique data across all tables. Use this template with available variables: database, schema, table, sourceId
transforms.SourceRegexSupport.metadata.field.namestringName of the extra metadata field to store source information and ensure uniqueness across all tables when regex support is enabled.
schema.history.internal.store.only.captured.databases.ddlstringSpecifies whether the connector records schema structures from all logical databases in the database instance or only captured databases. Enabling this when you have many databases in your instance can improve performance and avoid timeouts.
schema.history.internal.store.only.captured.tables.ddlstringSpecifies whether the connector records schema structures from all logical tables in the captured schemas or databases, or only captured tables. Enabling this when you have many tables can improve performance and avoid timeouts.
binary.handling.modestringSpecifies how the data for binary columns e.g. blob, binary, varbinary should be represented. This setting depends on what the destination is. See the documentation for more details.
[object Object][object Object][object Object][object Object]ssh.enabledboolean<span>Streamkap will connect to SSH server in your network which has access to your database. This is necessary if Streamkap cannot connect directly to your database. <a href='https://docs.streamkap.com/streamkap-ip-addresses#streamkap-ip-addresses' class='docs-url' target='_blank'>View the Streamkap IP addresses to allowlist on your SSH server</a> </span>
ssh.hoststringrequiredHostname of your SSH server
ssh.portstringrequiredPort of your SSH server
ssh.userstringrequiredUser that allows Streamkap to connect to SSH server
transforms.InsertStaticKey1.static.fieldstringThe name of the static field to be added to the message key.
transforms.InsertStaticKey1.static.valuestringThe value of the static field to be added to the message key.
transforms.InsertStaticValue1.static.fieldstringThe name of the static field to be added to the message value.
transforms.InsertStaticValue1.static.valuestringThe value of the static field to be added to the message value.
transforms.InsertStaticKey2.static.fieldstringThe name of the static field to be added to the message key.
transforms.InsertStaticKey2.static.valuestringThe value of the static field to be added to the message key.
transforms.InsertStaticValue2.static.fieldstringThe name of the static field to be added to the message value.
transforms.InsertStaticValue2.static.valuestringThe value of the static field to be added to the message value.
predicates.IsTopicToEnrich.patternstringRegex pattern to match topics for enrichment.
ssh.public.key.user.displayedstringrequiredPublic key to add to SSH server
streamkap.snapshot.parallelismintegerHow many parallel chunk requests to send to the source DB.
streamkap.snapshot.chunk.size.bytesintegerTarget byte size for one chunk SELECT. Drives LIMIT = ceil(chunk.size.bytes / avg_row_size).
streamkap.snapshot.max.split.size.bytesintegerA table with an estimated size greater than max split size will trigger intra-table paralelism. Table will be split into max.split.size.bytes parts and the parts will be processed in parallel.
streamkap.snapshot.state.refresh.msintegerSnapshot progress publish candence, publishing more often can affect performance.
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
database.hostname.user.definedstringrequiredOracle Hostname Or IP address
database.port.user.definedstringrequiredOracle Port. For example, 1521
database.userstringrequiredUsername to access the database
database.passwordstring<password>requiredPassword to access the database
database.dbnamestringrequiredDatabase from which to stream data. If you're working with container databases (CDB), this should be the CDB name.
database.pdb.namestringPluggable database from which to stream data. Use this for container database (CDB) installations only.
schema.include.liststringrequiredSchemas to include.
table.include.list.user.definedstringrequiredSource tables to sync.
signal.data.collection.schema.or.databasestringrequiredFull path to the signal table including schema and table name (e.g., 'MYSCHEMA.STREAMKAP_SIGNAL'). This table is used for incremental snapshotting. Follow the documentation for creating this table.
heartbeat.enabledbooleanWhen enabled, the connector emits a periodic heartbeat to a Kafka topic - this keeps the poll loop active and offsets advancing on low-traffic sources, preventing replication-slot/log lag and false-positive health alerts. To also write to a 'streamkap_heartbeat' table in the source database (keeps the source transaction log moving), set 'Heartbeat Table Schema' below; leave it blank for Kafka-only mode.
heartbeat.data.collection.schema.or.databasestringOptional. The schema containing a 'streamkap_heartbeat' table - providing this enables source-table heartbeat mode, which writes to the table on each beat to keep the source transaction log active. Leave blank for Kafka-only heartbeat (no table or write grant required). See the Streamkap documentation for table setup.
schema.history.internal.store.only.captured.databases.ddlstringSpecifies whether the connector records schema structures from all logical databases in the database instance or only captured databases. Enabling this when you have many databases in your instance can improve performance and avoid timeouts.
schema.history.internal.store.only.captured.tables.ddlstringSpecifies whether the connector records schema structures from all logical tables in the captured schemas or databases, or only captured tables. Enabling this when you have many tables can improve performance and avoid timeouts.
binary.handling.modestringSpecifies how the data for binary columns e.g. blob, binary, varbinary should be represented. This setting depends on what the destination is. See the documentation for more details.
[object Object][object Object][object Object][object Object]ssh.enabledboolean<span>Streamkap will connect to SSH server in your network which has access to your database. This is necessary if Streamkap cannot connect directly to your database. <a href='https://docs.streamkap.com/streamkap-ip-addresses#streamkap-ip-addresses' class='docs-url' target='_blank'>View the Streamkap IP addresses to allowlist on your SSH server</a> </span>
ssh.hoststringrequiredHostname of your SSH server
ssh.portstringrequiredPort of your SSH server
ssh.userstringrequiredUser that allows Streamkap to connect to SSH server
column.exclude.list.user.definedstringAn optional, comma-separated list of regular expressions that match the fully-qualified names of columns that should be excluded from change event record values. Fully-qualified names for columns are of the form schemaName.tableName.columnName.
log.mining.strategystringControls how LogMiner resolves column metadata. 'online_catalog' (default) is fastest; 'redo_log_catalog' mines the data dictionary from redo logs and handles schema changes better; 'hybrid' combines both but has limitations with certain settings (e.g. LOB capture is not supported).
[object Object][object Object][object Object]lob.enabledbooleanEnables capture of CLOB, NCLOB, and BLOB columns. Not supported with the Hybrid strategy. When combined with the Re-select Post Processor, LOB values unavailable in the redo log are re-fetched from the source at event time, producing one merged event per row change.
post.processors.reselect.enabledbooleanWhen enabled, columns unavailable in the redo log (e.g. LOB columns) are re-fetched from the source database at event time. For LOB capture, enable together with 'Redo Log Catalog' strategy and 'Enable LOB Column Capture'.
reselector.reselect.error.handling.modestringControls what happens when the re-select post processor fails to fetch a column. 'Fail' stops the connector; 'Warn' logs a warning and continues.
failwarnssh.public.key.user.displayedstringrequiredPublic key to add to SSH server
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
database.hostname.user.definedstringrequiredIP address or hostname of the PlanetScale database server (VTGate).
database.port.user.definedstringrequiredInteger port number of the PlanetScale database server (VTGate).
database.userstringrequiredUsername of the PlanetScale database server (VTGate).
database.passwordstring<password>requiredPassword of the PlanetScale database server (VTGate).
vitess.keyspacestringrequiredThe name of the keyspace from which to stream the changes.
vitess.tablet.typestringThe type of Tablet (hence MySQL) from which to stream the changes
MASTERREPLICARDONLYconverter.tinyintBool.user.definedstringConvert tinyInt(1) columns to boolean
table.include.list.user.definedstringrequiredSource tables to sync.
schema.history.internal.store.only.captured.databases.ddlstringSpecifies whether the connector records schema structures from all logical databases in the database instance or only captured databases. Enabling this when you have many databases in your instance can improve performance and avoid timeouts.
schema.history.internal.store.only.captured.tables.ddlstringSpecifies whether the connector records schema structures from all logical tables in the captured schemas or databases, or only captured tables. Enabling this when you have many tables can improve performance and avoid timeouts.
database.ssl.disabledstringDisable TLS on the VTGate gRPC connection and use plaintext. Leave off for PlanetScale Cloud (TLS required); enable only for a local / self-hosted plaintext Vitess.
vitess.set.basic.authentication.headerstringSend an HTTP-style authorization: Basic header on VTGate gRPC calls. Keep on for PlanetScale Cloud (its gateway requires it); turn off for a self-hosted vtgate started with --grpc_auth_mode static, which instead expects vitess-native StaticAuthCredentials.
ssh.enabledboolean<span>Streamkap will connect to SSH server in your network which has access to your database. This is necessary if Streamkap cannot connect directly to your database. <a href='https://docs.streamkap.com/streamkap-ip-addresses#streamkap-ip-addresses' class='docs-url' target='_blank'>View the Streamkap IP addresses to allowlist on your SSH server</a> </span>
ssh.hoststringrequiredHostname of your SSH server
ssh.portstringrequiredPort of your SSH server
ssh.userstringrequiredUser that allows Streamkap to connect to SSH server
column.exclude.list.user.definedstringAn optional, comma-separated list of regular expressions that match the fully-qualified names of columns that should be excluded from change event record values. Fully-qualified names for columns are of the form schemaName.tableName.columnName.
ssh.public.key.user.displayedstringrequiredPublic key to add to SSH server
streamkap.snapshot.parallelismintegerHow many parallel chunk requests to send to the source DB.
streamkap.snapshot.chunk.size.bytesintegerTarget byte size for one chunk SELECT. Drives LIMIT = ceil(chunk.size.bytes / avg_row_size).
streamkap.snapshot.max.split.size.bytesintegerA table with an estimated size greater than max split size will trigger intra-table paralelism. Table will be split into max.split.size.bytes parts and the parts will be processed in parallel.
streamkap.snapshot.state.refresh.msintegerSnapshot progress publish candence, publishing more often can affect performance.
vtgate.mysql.portstringPort of the VTGate MySQL wire-protocol endpoint used for parallel-snapshot chunk reads (the gRPC vstream endpoint is database.port). PlanetScale Cloud = 3306; self-hosted vtgate typically 15306.
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
database.hostname.user.definedstringrequiredPostgreSQL Hostname. For example, postgres.something.rds.amazonaws.com
database.port.user.definedstringrequiredPostgreSQL Port. For example, 5432
database.userstringrequiredUsername to access the database
database.passwordstring<password>requiredPassword to access the database
database.dbnamestringrequiredDatabase from which to stream data
snapshot.read.only.user.definedstringWhen connecting to a read replica PostgreSQL database, this must be set to 'Yes' to support Streamkap snapshots
YesNosignal.data.collection.schema.or.databasestringrequiredFull path to the signal table including schema and table name (e.g., 'public.streamkap_signal'). This table is used for incremental snapshotting. Follow the documentation for creating this table.
column.include.list.toggledbooleanToggle between Inclusion (include only selected columns) and Exclusion (exclude selected columns). Defaults to Inclusion (On).
SourceRegexSupport.enabledbooleanEnable regex support. Useful for merging multiple tables into the same output topic
transforms.SourceRegexSupport.regex.replacementstringReplacement string for matching regex snippets.
transforms.SourceRegexSupport.key.field.templatestringRegex support key field template. An extra key field is needed to ensure unique data across all tables. Use this template with available variables: database, schema, table, sourceId
transforms.SourceRegexSupport.metadata.field.namestringName of the extra metadata field to store source information and ensure uniqueness across all tables when regex support is enabled.
column.include.list.user.definedstringAn optional, comma-separated list of regular expressions that match the fully-qualified names of columns that should be included in change event record values. Fully-qualified names for columns are of the form schemaName[.]tableName[.](columnName1|columnName2)
column.exclude.list.user.definedstringAn optional, comma-separated list of regular expressions that match the fully-qualified names of columns that should be excluded from change event record values. Fully-qualified names for columns are of the form schemaName.tableName.columnName.
heartbeat.enabledbooleanWhen enabled, the connector emits a periodic heartbeat to a Kafka topic - this keeps the poll loop active and offsets advancing on low-traffic sources, preventing replication-slot/log lag and false-positive health alerts. To also write to a 'streamkap_heartbeat' table in the source database (keeps the source transaction log moving), set 'Heartbeat Table Schema' below; leave it blank for Kafka-only mode.
heartbeat.data.collection.schema.or.databasestringOptional. The schema containing a 'streamkap_heartbeat' table - providing this enables source-table heartbeat mode, which writes to the table on each beat to keep the source transaction log active. Leave blank for Kafka-only heartbeat (no table or write grant required). See the Streamkap documentation for table setup.
heartbeat.use.logical.messagebooleanUse a logical-message heartbeat instead of a heartbeat table. Runs SELECT pg_logical_emit_message(true, ...) on each beat to keep the replication slot advancing - works on PG14+ primaries with a SELECT-only role and is compatible with read-only mode. No table or write grant required on the source.
slot.namestringrequiredThe name of the replication slot for the connector to use.
publication.namestringrequiredThe name of the publication for the connector to use.
schema.include.liststringrequiredComma-separated schemas to capture from this database. Tables inside the listed schemas can be picked individually on the next step.
table.include.list.user.definedstringrequiredSource tables to sync.
post.processors.reselect.enabledbooleanWhen enabled, TOAST columns that cannot be read from the WAL are re-fetched from the source database at event time.
reselector.reselect.error.handling.modestringControls what happens when the re-select post processor fails to fetch a column. 'Fail' stops the connector; 'Warn' logs a warning and continues.
failwarndatabase.sslmodestringWhether to use an encrypted connection to the PostgreSQL server
requiredisableinclude.source.db.name.in.table.name.user.definedbooleanChanges the format of topics to 'DatabaseName_TopicName'
binary.handling.modestringSpecifies how the data for binary columns e.g. blob, binary, varbinary should be represented. This setting depends on what the destination is. See the documentation for more details.
[object Object][object Object][object Object][object Object]transforms.InsertStaticKey1.static.fieldstringThe name of the static field to be added to the message key.
transforms.InsertStaticKey1.static.valuestringThe value of the static field to be added to the message key.
transforms.InsertStaticValue1.static.fieldstringThe name of the static field to be added to the message value.
transforms.InsertStaticValue1.static.valuestringThe value of the static field to be added to the message value.
transforms.InsertStaticKey2.static.fieldstringThe name of the static field to be added to the message key.
transforms.InsertStaticKey2.static.valuestringThe value of the static field to be added to the message key.
transforms.InsertStaticValue2.static.fieldstringThe name of the static field to be added to the message value.
transforms.InsertStaticValue2.static.valuestringThe value of the static field to be added to the message value.
predicates.IsTopicToEnrich.patternstringRegex pattern to match topics for enrichment.
streamkap.snapshot.parallelismintegerHow many parallel chunk requests to send to the source DB.
streamkap.snapshot.chunk.size.bytesintegerTarget byte size for one chunk SELECT. Drives LIMIT = ceil(chunk.size.bytes / avg_row_size).
streamkap.snapshot.max.split.size.bytesintegerA table whose on-disk size exceeds this splits into ceil(size / threshold) disjoint ctid page-range sub-ranges so it doesn't monopolize one snapshot worker. Applies only to unfiltered ctid snapshots. Default 50 GiB.
streamkap.snapshot.state.refresh.msintegerExecutor publish cadence (ms) - how often the parallel-snapshot executor publishes SourceSnapshotState (rows_scanned, status transitions) to the streamkap_state topic. Lower values surface progress faster at the cost of state-topic traffic.
ssh.enabledboolean<span>Streamkap will connect to SSH server in your network which has access to your database. This is necessary if Streamkap cannot connect directly to your database. <a href='https://docs.streamkap.com/streamkap-ip-addresses#streamkap-ip-addresses' class='docs-url' target='_blank'>View the Streamkap IP addresses to allowlist on your SSH server</a> </span>
ssh.hoststringrequiredHostname of your SSH server
ssh.portstringrequiredPort of your SSH server
ssh.userstringrequiredUser that allows Streamkap to connect to SSH server
ssh.public.key.user.displayedstringrequiredPublic key to add to SSH server
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
formatstringThe input file format
jsoncsvavrocsv.has.headersbooleanWhen enabled, treat the first row of each CSV file as column names. When disabled, columns are auto-generated as column1, column2, ...
topic.routing.enabledbooleanWhen enabled, derive the Kafka topic name per file from the S3 key. When disabled, all files go to the single default topic.
topic.routing.folder.skipintegerNumber of leading path segments to drop from the S3 key before using folders for the topic name. Example: with key 'archive/public/users/file.csv' set 2 to drop 'archive/public'.
topic.routing.folder.levelsintegerNumber of folder segments (after the skip) to include in the topic name, joined with dots. Set 0 to skip folder-based routing entirely.
topic.routing.advanced.expressionstringScEL expression for building the topic suffix. When set, overrides Folder Skip and Folder Levels. The connector ID is always prepended. See the S3 Source documentation for available functions and examples.
topic.postfixstringThe default topic name suffix. When Dynamic Topic Routing is disabled, all files are streamed to this single topic. When enabled, this is used as a fallback for files that do not match the routing rules.
topic.include.list.user.definedstringTopics produced by this S3 source. Populated automatically as topics are discovered.
aws.access.key.idstringrequiredThe AWS Access Key ID used to connect to S3
aws.secret.access.keystring<password>requiredThe AWS Secret Access Key used to connect to S3
aws.s3.regionstringThe AWS region to be used
[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]aws.s3.bucket.namestringThe S3 Bucket to use
aws.s3.bucket.prefixstringPrefix for S3 object keys to scan (e.g. "data/2024/"). Can be used to specify a directory.
fs.scan.interval.msintegerThe interval in milliseconds at which to scan for new files.
fs.cleanup.policy.class.user.definedstringThe policy to use for cleaning up files after processing. Log marks files as processed without deleting. Delete removes files from S3 after processing.
LogDeletetasks.maxintegerThe maximum number of active tasks
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
database.hostname.user.definedstringrequiredThe Endpoint of the SQL Server database server. For example, sqlserverdb.abcdefgh.us-west-2.rds.amazonaws.com
database.port.user.definedstringrequiredSQL Server Port. For example, 1433
database.encryptbooleanUse TLS encryption with the SQL Server?
database.userstringrequiredUsername to access the database
database.passwordstring<password>requiredPassword to access the database
database.namesstringrequiredDatabase to stream from.
schema.include.liststringrequiredSchemas to include.
table.include.list.user.definedstringrequiredSource tables to sync.
signal.data.collection.schema.or.databasestringrequiredPath to the signal table as schema.table (e.g., 'dbo.streamkap_signal'). The database name will be added automatically. This table is used for incremental snapshotting.
column.exclude.list.user.definedstringAn optional, comma-separated list of regular expressions that match the fully-qualified names of columns that should be excluded from change event record values. Fully-qualified names for columns are of the form schemaName.tableName.columnName.
heartbeat.enabledbooleanWhen enabled, the connector emits a periodic heartbeat to a Kafka topic — this keeps the poll loop active and offsets advancing on low-traffic sources, preventing replication-slot/log lag and false-positive health alerts. To also write to a 'streamkap_heartbeat' table in the source database (keeps the source transaction log moving), set 'Heartbeat Table Schema' below; leave it blank for Kafka-only mode.
heartbeat.data.collection.schema.or.databasestringOptional. The schema containing a 'streamkap_heartbeat' table — providing this enables source-table heartbeat mode, which writes to the table on each beat to keep the source transaction log active. Leave blank for Kafka-only heartbeat (no table or write grant required). See the Streamkap documentation for table setup.
schema.history.internal.store.only.captured.databases.ddlstringSpecifies whether the connector records schema structures from all logical databases in the database instance or only captured databases. Enabling this when you have many databases in your instance can improve performance and avoid timeouts.
schema.history.internal.store.only.captured.tables.ddlstringSpecifies whether the connector records schema structures from all logical tables in the captured schemas or databases, or only captured tables. Enabling this when you have many tables can improve performance and avoid timeouts.
binary.handling.modestringSpecifies how the data for binary columns e.g. blob, binary, varbinary should be represented. This setting depends on what the destination is. See the documentation for more details.
[object Object][object Object][object Object][object Object]streamkap.snapshot.parallelismintegerHow many parallel chunk requests to send to the source DB.
streamkap.snapshot.chunk.size.bytesintegerTarget byte size for one chunk SELECT. Drives LIMIT = ceil(chunk.size.bytes / avg_row_size).
streamkap.snapshot.max.split.size.bytesintegerA table with an estimated size greater than max split size will trigger intra-table paralelism. Table will be split into max.split.size.bytes parts and the parts will be processed in parallel.
streamkap.snapshot.state.refresh.msintegerExecutor publish cadence (ms) — how often the parallel-snapshot executor publishes SourceSnapshotState (rows_scanned, status transitions) to the streamkap_state topic. Lower values surface progress faster at the cost of state-topic traffic.
ssh.enabledboolean<span>Streamkap will connect to SSH server in your network which has access to your database. This is necessary if Streamkap cannot connect directly to your database. <a href='https://docs.streamkap.com/streamkap-ip-addresses#streamkap-ip-addresses' class='docs-url' target='_blank'>View the Streamkap IP addresses to allowlist on your SSH server</a> </span>
ssh.hoststringrequiredHostname of your SSH server
ssh.portstringrequiredPort of your SSH server
ssh.userstringrequiredUser that allows Streamkap to connect to SSH server
transforms.InsertStaticKey1.static.fieldstringThe name of the static field to be added to the message key.
transforms.InsertStaticKey1.static.valuestringThe value of the static field to be added to the message key.
transforms.InsertStaticValue1.static.fieldstringThe name of the static field to be added to the message value.
transforms.InsertStaticValue1.static.valuestringThe value of the static field to be added to the message value.
ssh.public.key.user.displayedstringrequiredPublic key to add to SSH server
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
webhook.urlstringWebhook URL for Apex triggers. Generated after source is created.
api.keystring<password>API Key for webhook authentication. Generated after source is created.
camel.source.snapshot.salesforce.instance.urlstringrequiredSalesforce instance URL (e.g., https://myorg.my.salesforce.com or https://myorg.lightning.force.com)
camel.source.snapshot.salesforce.auth.client.idstringrequiredOAuth2 Consumer Key from your Salesforce Connected App / External Client App
camel.source.snapshot.salesforce.auth.client.secretstring<password>requiredOAuth2 Consumer Secret from your Salesforce Connected App / External Client App
camel.source.snapshot.salesforce.auth.usernamestringSalesforce username (optional, needed only if client_credentials flow is not enabled)
camel.source.snapshot.salesforce.auth.passwordstring<password>Salesforce password + security token (optional, needed only if client_credentials flow is not enabled)
topic.include.list.user.definedstringSalesforce objects to capture. Select the objects you want to receive change events for.
camel.source.cdc.enabledbooleanEnable native Salesforce CDC subscription. When enabled, the connector subscribes directly to Salesforce change events without needing Apex triggers.
camel.source.payload.router.unknown.type.behaviorstringHow to handle events for unselected objects
DEFAULT_TOPICSKIPFAILcamel.source.payload.router.unknown.type.default.topicstringTopic for events from unselected objects
camel.source.payload.router.flatten.detailbooleanFlatten nested record fields to top-level. Recommended for most destinations.
camel.source.payload.router.flatten.detail.prefixstringPrefix for flattened fields (empty = no prefix, Salesforce field names like 'Name', 'BillingCity' are used directly)
camel.source.payload.router.include.eventbooleanInclude change metadata (ChangeEventHeader) in output. Disable for upsert/state-table use cases.
camel.source.dlq.enabledbooleanEnable dead letter queue for failed records
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
webhook.urlstringWebhook URL to register in Shopify. Generated after source is created. Pass the API key as a query parameter, e.g. ?api_key=<API_KEY>.
api.keystringAPI Key. Append to the Webhook URL as ?api_key=<API_KEY> when registering webhooks in Shopify. Generated after source is created.
camel.source.snapshot.shopify.store.urlstringShopify store URL (e.g., https://yourstore.myshopify.com). Required for snapshots.
camel.source.snapshot.shopify.client.idstringClient ID from your Shopify Dev Dashboard app (recommended). Tokens auto-refresh every 24 hours.
camel.source.snapshot.shopify.client.secretstring<password>Client Secret from your Shopify Dev Dashboard app (recommended). Encrypted at rest.
camel.source.snapshot.shopify.access.tokenstring<password>Static access token (legacy custom apps only). Provide either Client ID + Client Secret OR this Access Token.
camel.source.snapshot.shopify.api.versionstringShopify Admin API version used by snapshots.
camel.source.payload.router.shopify.hmac.secretstring<password>Shopify app client secret used to verify the X-Shopify-Hmac-Sha256 header. Leave empty to skip verification.
topic.include.list.user.definedstringShopify resources to capture. Each resource maps to a Kafka topic. Fan-out topics are added automatically when fan-out fields are configured.
camel.source.payload.router.unknown.type.behaviorstringHow to handle events for resources not in the Shopify Resources list
DEFAULT_TOPICSKIPFAILcamel.source.payload.router.unknown.type.default.topicstringTopic for events from unselected resources (used when Unselected Resource Behavior is DEFAULT_TOPIC)
camel.source.payload.router.include.eventbooleanInclude Shopify webhook metadata (_shop_domain, _event_id, _triggered_at, _api_version, _webhook_id) in output records. Disable for upsert / state-table use cases.
camel.source.payload.router.fanout.fieldsstringComma-separated list of nested arrays to fan out into their own topics (e.g. orders.line_items, products.variants, customers.addresses). When empty, arrays stay inline.
camel.source.dlq.enabledbooleanEnable dead letter queue for failed records
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
webhook.urlstringWebhook URL to register in Stripe. Generated after source is created. Pass the API key as a query parameter, e.g. ?api_key=<API_KEY>.
api.keystringAPI Key. Append to the Webhook URL as ?api_key=<API_KEY> when registering webhooks in Stripe. Generated after source is created.
camel.source.payload.router.stripe.signing.secretstring<password>Stripe webhook signing secret (whsec_xxx). When set, every webhook is verified against the Stripe-Signature header. Leave empty to disable verification.
camel.source.snapshot.stripe.api.keystring<password>Stripe secret API key (sk_live_xxx or sk_test_xxx). Required for snapshots. Encrypted at rest.
topic.include.list.user.definedstringStripe resources to capture. Each resource maps to a Kafka topic. Fan-out topics are added automatically when fan-out fields are configured.
camel.source.payload.router.unknown.type.behaviorstringHow to handle events for resources not in the Stripe Resources list
DEFAULT_TOPICSKIPFAILcamel.source.payload.router.unknown.type.default.topicstringTopic for events from unselected resources (used when Unselected Resource Behavior is DEFAULT_TOPIC)
camel.source.payload.router.include.eventbooleanInclude Stripe event metadata (_event_id, _event_type, _event_created, _api_version, _livemode, _previous_attributes) on the output record. Disable for upsert / state-table use cases.
camel.source.payload.router.fanout.fieldsstringComma-separated list of nested lists to fan out into their own topics. Allowed: invoice.lines, charge.refunds, subscription.items.
camel.source.dlq.enabledbooleanEnable dead letter queue for failed records
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
database.hostname.user.definedstringrequiredPostgreSQL Hostname. For example, postgres.something.rds.amazonaws.com
database.port.user.definedstringrequiredPostgreSQL Port. For example, 5432
database.userstringrequiredUsername to access the database
database.passwordstring<password>requiredPassword to access the database
database.dbnamestringrequiredDatabase from which to stream data
snapshot.read.only.user.definedstringWhen connecting to a read replica PostgreSQL database, this must be set to 'Yes' to support Streamkap snapshots
YesNosignal.data.collection.schema.or.databasestringrequiredFull path to the signal table including schema and table name (e.g., 'public.streamkap_signal'). This table is used for incremental snapshotting. Follow the documentation for creating this table.
column.include.list.toggledbooleanToggle between Inclusion (include only selected columns) and Exclusion (exclude selected columns). Defaults to Inclusion (On).
column.include.list.user.definedstringAn optional, comma-separated list of regular expressions that match the fully-qualified names of columns that should be included in change event record values. Fully-qualified names for columns are of the form schemaName[.]tableName[.](columnName1|columnName2)
column.exclude.list.user.definedstringAn optional, comma-separated list of regular expressions that match the fully-qualified names of columns that should be excluded from change event record values. Fully-qualified names for columns are of the form schemaName.tableName.columnName.
heartbeat.enabledbooleanWhen enabled, the connector emits a periodic heartbeat to a Kafka topic — this keeps the poll loop active and offsets advancing on low-traffic sources, preventing replication-slot/log lag and false-positive health alerts. To also write to a 'streamkap_heartbeat' table in the source database (keeps the source transaction log moving), set 'Heartbeat Table Schema' below; leave it blank for Kafka-only mode.
heartbeat.data.collection.schema.or.databasestringOptional. The schema containing a 'streamkap_heartbeat' table — providing this enables source-table heartbeat mode, which writes to the table on each beat to keep the source transaction log active. Leave blank for Kafka-only heartbeat (no table or write grant required). See the Streamkap documentation for table setup.
slot.namestringrequiredThe name of the replication slot for the connector to use.
publication.namestringrequiredThe name of the publication for the connector to use.
schema.include.liststringrequiredSchemas to include.
table.include.list.user.definedstringrequiredSource tables to sync.
reselector.reselect.error.handling.modestringControls what happens when the re-select post processor fails to fetch a column. 'Fail' stops the connector; 'Warn' logs a warning and continues.
failwarnpost.processors.reselect.enabledbooleanWhen enabled, TOAST columns that cannot be read from the WAL are re-fetched from the source database at event time.
database.sslmodestringWhether to use an encrypted connection to the PostgreSQL server
requiredisableinclude.source.db.name.in.table.name.user.definedbooleanChanges the format of topics to 'DatabaseName_TopicName'
binary.handling.modestringSpecifies how the data for binary columns e.g. blob, binary, varbinary should be represented. This setting depends on what the destination is. See the documentation for more details.
[object Object][object Object][object Object][object Object]transforms.InsertStaticKey1.static.fieldstringThe name of the static field to be added to the message key.
transforms.InsertStaticKey1.static.valuestringThe value of the static field to be added to the message key.
transforms.InsertStaticValue1.static.fieldstringThe name of the static field to be added to the message value.
transforms.InsertStaticValue1.static.valuestringThe value of the static field to be added to the message value.
transforms.InsertStaticKey2.static.fieldstringThe name of the static field to be added to the message key.
transforms.InsertStaticKey2.static.valuestringThe value of the static field to be added to the message key.
transforms.InsertStaticValue2.static.fieldstringThe name of the static field to be added to the message value.
transforms.InsertStaticValue2.static.valuestringThe value of the static field to be added to the message value.
predicates.IsTopicToEnrich.patternstringRegex pattern to match topics for enrichment.
ssh.enabledboolean<span>Streamkap will connect to SSH server in your network which has access to your database. This is necessary if Streamkap cannot connect directly to your database. <a href='https://docs.streamkap.com/streamkap-ip-addresses#streamkap-ip-addresses' class='docs-url' target='_blank'>View the Streamkap IP addresses to allowlist on your SSH server</a> </span>
ssh.hoststringrequiredHostname of your SSH server
ssh.portstringrequiredPort of your SSH server
ssh.userstringrequiredUser that allows Streamkap to connect to SSH server
ssh.public.key.user.displayedstringrequiredPublic key to add to SSH server
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
database.hostname.user.definedstringrequiredIP address or hostname of the Vitess database server (VTGate).
database.port.user.definedstringrequiredInteger port number of the Vitess database server (VTGate).
database.userstringrequiredAn optional username of the Vitess database server (VTGate). If not configured, unauthenticated VTGate gRPC is used.
database.passwordstring<password>requiredAn optional password of the Vitess database server (VTGate). If not configured, unauthenticated VTGate gRPC is used.
vitess.keyspace.user.definedstringrequiredThe name of the keyspace from which to stream the changes.
vitess.tablet.typestringThe type of Tablet (hence MySQL) from which to stream the changes
MASTERREPLICARDONLYvitess.vtctld.host.user.definedstringrequiredIP address or hostname of the VTCtld server.
vitess.vtctld.port.user.definedstringrequiredInteger port number of the VTCtld server.
vitess.vtctld.userstringrequiredThe username of the VTCtld server.
vitess.vtctld.passwordstring<password>requiredThe password of the VTCtld database server.
table.include.list.user.definedstringrequiredSource tables to sync.
ssh.enabledboolean<span>Streamkap will connect to SSH server in your network which has access to your database. This is necessary if Streamkap cannot connect directly to your database. <a href='https://docs.streamkap.com/streamkap-ip-addresses#streamkap-ip-addresses' class='docs-url' target='_blank'>View the Streamkap IP addresses to allowlist on your SSH server</a> </span>
ssh.hoststringrequiredHostname of your SSH server
ssh.portstringrequiredPort of your SSH server
ssh.userstringrequiredUser that allows Streamkap to connect to SSH server
column.exclude.list.user.definedstringAn optional, comma-separated list of regular expressions that match the fully-qualified names of columns that should be excluded from change event record values. Fully-qualified names for columns are of the form schemaName.tableName.columnName.
ssh.public.key.user.displayedstringrequiredPublic key to add to SSH server
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
webhook.urlstringWebhook URL. This URL will be generated after the source is created
api.keystringAPI. This key will be generated after the source is created
camel.source.camelMessageHeaderKeystringCamel Message Header contains key field details for Kafka Message, default is 'key'
topic.include.list.user.definedstringTopic names to use as output
formatstringThe incoming format of the data receive by webhook
jsonstringtransforms.inferSchema.add.delete.fieldbooleanWhether to add a 'delete' field to the schema when DELETE HTTP method is used
transforms.ValueToKey.fields.include.liststringMove column(s) from value to key. Comma separated list of table columns in format 'table1.column1,table2.column2'
transforms.ValueToKey.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
preserve.null.valuesbooleanWhen enabled, preserves NULL values from the source database instead of replacing them with schema default values. Enable this if you need to distinguish between explicit NULLs and default values.
transforms.OversizedRecords.fields.include.liststringTruncate or nullify oversized string fields. Comma separated list of table columns in format 'table1.column1,table2.column2'. Supports wildcards (e.g., 'mytable.*'). WARNING: Do not include primary key columns - truncation/nullification could cause data loss or failures.
transforms.OversizedRecords.fields.exclude.liststringColumns to exclude from oversized records processing. Comma separated list in format 'table1.column1,table2.column2'.
transforms.OversizedRecords.max.field.size.bytesintegerMaximum allowed byte size per field. Fields exceeding this size will be truncated or nullified. Required when using Oversized Records transform.
transforms.OversizedRecords.oversized.field.behaviorstringAction for oversized fields: TRUNCATE (trim to max size) or NULLIFY (set to null).
TRUNCATENULLIFYtransforms.OversizedRecords.truncation.suffixstringSuffix to append to truncated values (e.g., '...[TRUNCATED]'). Leave empty for no suffix.
transforms.OversizedRecords.max.record.size.bytesintegerOptional overall record size limit in bytes. Records are NOT dropped - only a warning is logged if record exceeds this after field processing. Set to -1 to disable.
transforms.OversizedRecords.semantic.types.excludestringColumn data types that should never be truncated. Comma-separated. Defaults exclude JSON and XML columns.
transforms.OversizedRecords.replace.null.with.defaultbooleanWhether null fields should use schema default values. Set to false to preserve user-set NULLs from source.
InsertTopicName.enabledbooleanAdd _streamkap_topic field containing the Kafka topic name. Required for topic_router transforms to preserve end-to-end data lineage.
webhook.urlstringWebhook URL. This URL will be generated after the source is created
api.keystring<password>API Key. This key will be generated after the source is created
camel.source.payload.router.unknown.type.behaviorstringBehavior when an unknown Zendesk event type is encountered
DEFAULT_TOPICSKIPFAILcamel.source.payload.router.unknown.type.default.topicstringTopic name for unknown event types (used when Unknown Event Behavior is DEFAULT_TOPIC)
camel.source.payload.router.flatten.detailbooleanFlatten nested detail fields to top-level with a prefix. Recommended for destinations that do not support nested objects.
camel.source.payload.router.flatten.detail.prefixstringPrefix for flattened detail fields to avoid name collisions (e.g. detail.id becomes detail_id)
camel.source.payload.router.include.eventbooleanInclude the event field in output records. Enable for audit-log use cases (append mode). Disable for state-table use cases (upsert mode) where only the entity state matters.
camel.source.payload.router.fanout.fieldsstringComma-separated list of domain-scoped fields to fan out into separate topics (e.g. ticket.tags, ticket.custom_fields, organization.tags). When empty, arrays stay inline.
camel.source.dlq.enabledbooleanEnable dead letter queue. Failed records are written to a DLQ topic instead of crashing the connector.
anytopic_idsstring | integer[] | anyList of associated topic identifiers
Show propertiesHide properties
string | integerstringintegeranytopic_mapobject | anyMapping of topics to their partitions or related entities
Show propertiesHide properties
objectanytopicsstring | integer[] | anyList of topic names
Show propertiesHide properties
string | integerstringintegeranytasksinteger[] | anyList of task identifiers
Show propertiesHide properties
integerintegeranyconnector_statusstring | anyCurrent status: Active, Paused, Stopped, Broken, Starting, Unassigned, Unknown, Pending
Show propertiesHide properties
stringanydesired_statestring | anyDesired state: Pending, Active, Paused, Stopped
Show propertiesHide properties
stringanykc_cluster_idstring | anyKC cluster this connector is deployed to. None means default cluster.
Show propertiesHide properties
stringanytask_statusesobject | anyStatus information for each connector task
Show propertiesHide properties
objectanytagsstring[] | anyList of tag IDs assigned to this source
Show propertiesHide properties
stringstringanyValidation Error
detailValidationError[]Show propertiesHide properties
ValidationErrorlocstring | integer[]requiredShow propertiesHide properties
string | integerstringintegermsgstringrequiredtypestringrequiredinputanyctxobject