Stream Configuration Overview
Use this page when you need to understand how a stream configuration is organized before looking up individual field paths.
A stream configuration defines:
- what to read in
source - where to write in
target - how to control execution with
mode,reportingInterval, and optionallimits
Saved configurations add metadata such as id and created, but the working shape stays the same.
Core structure
Every stream configuration follows the same top-level pattern:
{
"name": "My stream",
"mode": "load",
"reportingInterval": 5,
"source": {
"connections": [],
"options": {}
},
"target": {
"id": "conn_target",
"spec": {}
},
"limits": {}
}
Mental model:
source.connections[]is always an array, even for a single source- each source connection chooses one source family: database fields,
s3, orfiles target.specalways contains exactly one target family:db,files, ors3limitsis optional and is mainly used for bounded runs and validation
Annotated example
{
"name": "PostgreSQL to MySQL",
"mode": "load",
"reportingInterval": 3,
"source": {
"connections": [
{
"connectionId": "conn_postgres_prod",
"database": "postgres",
"tables": [
{ "name": "public.actor" }
]
}
],
"options": {
"dataBundleSize": 1000
}
},
"target": {
"id": "conn_mysql_target",
"spec": {
"db": {
"database": "testdb",
"schemaPolicy": "create_missing_only",
"writeMode": "upsert"
}
}
}
}
Read it as:
name,mode, andreportingIntervaldefine the run at the top levelsource.connections[0]selects one stored source connection and scopes what to read from itsource.optionsadds execution settings that belong to the read sidetarget.idselects the destination connectiontarget.spec.dbtells DBConvert Streams to write into a database target
Source vs target
source and target are intentionally asymmetric:
source.connections[]can contain one or more connections- each source connection carries its own scope, such as selected tables, a manifest path, or local file paths
targetalways points to one destination connection at a timetarget.specdecides how that destination should be written to
Which page to open next
- Use Source Configuration when you need to define tables, files, queries, or S3 scope.
- Use Target Configuration when you need to define database writes, file formats, staging, or upload behavior.
- Use Stream Configuration Reference when you need exact field paths.
- Use Stream Configuration Examples when you want full copyable payloads.
Verification
Before saving or using a payload:
- confirm it uses
source.connections[]rather than an old flatsource.idshape - confirm each source connection uses only one source family
- confirm
target.speccontains exactly one family object - confirm saved configs add metadata such as
idandcreated, but your working payload does not depend on those fields